【问题标题】:Add components at runtime in NSIS uninstaller在 NSIS 卸载程序中在运行时添加组件
【发布时间】:2013-11-09 05:59:28
【问题描述】:
我正在使用 NSIS 分发我的软件。它基本上是一个用于查看自定义 3d 内容的插件,并与一个内容包一起提供。由于我是单独分发内容,因此每个内容包都有自己的安装程序和相同的软件。问题是每次我安装其他内容时,卸载程序都会被覆盖,因此卸载程序只知道最后安装的组件。
是否可以为每个内容编写一个注册表项,然后动态生成卸载程序的组件列表?
我愿意接受任何其他建议如何实现这一点。
此致,
萨塔拉
【问题讨论】:
标签:
nsis
software-distribution
【解决方案1】:
他们简单的方法可能只是为每个内容包给卸载程序一个唯一的名称,如果需要,在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls 下记录已安装包的数量,以便您知道何时卸载引擎/插件。
NSIS 部分的数量是在编译时设置的,您不能添加更多,因此如果不知道最大包数,您不能只取消选中和隐藏某些部分。解决此问题的方法是将已安装软件包的列表存储在注册表中的某处,并在列出已安装软件包的卸载程序中创建一个自定义页面(nsDialogs)...