【问题标题】:.ini file not being modified/updated when doing an upgrade with installshield since some folders are not being deleted when upgrading使用 installshield 进行升级时,.ini 文件未修改/更新,因为升级时未删除某些文件夹
【发布时间】:2023-09-17 22:29:01
【问题描述】:

不久前,我找到了一份新工作,负责开发公司创建的一种工具,该工具旨在让人们在使用 AWR 时更轻松。

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: installation installshield ini awr


    【解决方案1】:

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

    【讨论】:

      最近更新 更多