我有一个通过InstallShield 2018创建的Basis MSI项目。该安装程序包含一些可修改注册表的InstallScript CA(我应该在组件内部完成此操作,但由于某些限制,它是由代码完成的)现在,我将CA定位在具有NOT REMOVE =“ ALL”条件的InstallInitialize和CostFinalize操作之间。该代码在安装时效果很好,而卸载时这些删除不会被删除。
应该这样吗?
由于您是在CA中创建注册表值,因此MSI在卸载期间不了解它们。您可能需要编写另一个CA才能在卸载时删除它们,并使其在卸载时运行(REMOVE = ALL)