1

不久前,我得到了一份新工作,该工作是公司开发的一种工具,旨在让人们在使用 AWR 时的生活更轻松。

我已经成功地完成了多个修复和改进,我可以通过 HotFix 安装程序进行分发(只需覆盖已经存在的文件)。

我对该工具的最新更改/添加需要我为该工具创建一个完整的安装程序。此特定工具始终安装 2 个版本,即当前/新版本和旧版本/旧版本,以便为用户提供更顺畅的过渡。我以前从未做过安装程序,所以我边走边学。

通过简单地更新/添加/删除文件和文件夹,我能够使用以前的 installshield 项目创建安装程序。当计算机上没有安装该工具的版本并且安装位置上没有任何版本的文件/文件夹时,这非常有用。

我在网上查看并发现要制作一个将安装在以前版本上的安装程序,我需要使用 installshield 进行重大升级,我在阅读之后确实这样做了。现在安装程序成功地安装了旧版本,它成功地将新文件和文件夹放置在它们的位置,但总是留下一个特定的空文件夹,即 1.1.1 版本的文件夹。

直到我意识到 .exe 未能修改它需要修改的 .ini 文件以让 AWR 知道在哪里查找脚本之前,这似乎不是一个问题。我查看了 .exe 代码,在运行了一些测试后,单独运行它,我意识到 .exe 不是问题,它可以正确完成工作。经过多次测试,我发现只要那些空文件夹存在,.ini文件就无法修改。我不知道为什么,因为 .ini 文件几乎是一个 .txt 文件,并且对 1.1.1 文件夹有某种依赖是没有意义的。

所以我的问题是两个之一,要么我必须找到一种方法来确保升级删除那些 1.1.1 文件夹,或者找到一种方法来修改那些文件夹仍然存在的 .ini 文件。我在网上查看过,每个解决方案都需要我/用户手动执行某些操作,并且我被要求让安装程序在使用时简单地工作。他们要求我这样做,以便安装程序处理所有事情,并且用户除了运行安装程序外不应该做任何事情。

由于只要这些文件夹不存在,安装程序就可以正常工作,我认为确保安装程序删除它们是最好的方法,但我被卡住了,我不知道如何继续。

感谢您在此问题上提供的任何建议和帮助。

4

1 回答 1

0

解决方案:删除我需要确保已从组件列表中更新的所有文件,并将它们重新添加到 installshield 项目中。由于这样做,所有内容都已正确更新并且文件夹已被删除,因为 .exe 是正确的。

于 2016-03-08T18:48:40.390 回答