在 Inno Setup 卸载程序上选择要卸载的自定义组件
Posted
技术标签:
【中文标题】在 Inno Setup 卸载程序上选择要卸载的自定义组件【英文标题】:Select custom components to uninstall on Inno Setup uninstaller 【发布时间】:2011-09-18 18:18:27 【问题描述】:我使用 Inno Setup 制作了安装程序。它由多个可执行文件组成,它们都位于 Program Files“APP”文件夹中。但是对于每个可执行文件,此“APP”文件夹中都有不同的子文件夹。
因为每个可执行文件的用途都不同,所以我想创建卸载程序,我可以在其中选择要卸载的组件(例如添加/删除程序中的更改按钮)。目前卸载程序会删除所有应用程序。
一种选择是为每个组件创建不同的安装程序,然后创建包含其他安装程序的安装程序,但这太奇怪了。
是否可以创建带有选项的自定义卸载程序来选择我要卸载的组件?
【问题讨论】:
【参考方案1】:您似乎需要为您的应用程序设置一个修改/修复设置选项,对吧? 看看这个名为UninsHs的扩展
注意:在 Google 中搜索我在其他网站上找到了另一个更新版本,但我不确定它是否合法。
【讨论】:
也找到了这个 UninsHs。但我想知道 Inno Setup + Pascal 脚本是否可以做到这一点。【参考方案2】:可以在 Inno 卸载程序中执行此操作,但它不会“适合”向导样式,并且需要显示您自己的表单,并在您删除所需的部分后取消卸载。
另一种方法是使用设置(稍微更适合这种情况)并处理被勾选和取消勾选的组件。
不过,这两者都需要编写相当广泛的 [代码]。
【讨论】:
您能否阐明“另一种方法是使用设置...”的意思?如果您有自定义的“安装”向导页面(即要安装的所有组件的列表),如何在卸载期间利用设置部分?谢谢 您应该能够使用该设置来添加/删除单个组件。虽然 Inno 只会自动安装新选择的组件并更新/修复以前选择的组件,但您需要通过检测组件状态并删除适当的文件/注册表值来自己处理任何组件的卸载。以上是关于在 Inno Setup 卸载程序上选择要卸载的自定义组件的主要内容,如果未能解决你的问题,请参考以下文章