InstallShield使用RemoveFile删除卸载时未安装的文件



首先,我知道在SO上有类似的问题,但我还没有看到任何适合我的问题的答案。

InstallShield 2009安装我的程序,我的程序创建一个ini文件。当程序卸载时,它会留下ini(因为它不在原始安装中)。我尝试在直接编辑器中使用RemoveFile。我给了它属性,正确的安装模式,但我不知道什么是"组件",或者我应该用它做什么。我翻遍了所有的InstallShield帮助文件并上网查看,但所有描述"组件"的内容都非常模糊。调试器不会抛出与RemoveFile相关的任何错误或警告,但是当我运行新的卸载程序时,该文件仍然存在。我已经在这个问题上挣扎了好几天了,并且在RemoveFile中尝试了各种各样的东西,但无济于事!

简单…我只是想删除位于安装可执行文件的安装目录中的一个ini。最简单的方法是什么,什么是"组件"?

Windows安装程序需要该组件来检测是否要处理"removefile指令"。我引用这个术语是因为实际上没有这样的术语——只是为了便于解释。

因此,如果组件计划安装(包含在正在安装的特性中,条件解析为true),并且InstallMode为"安装时删除或同时删除",Windows安装程序将尝试查找您在DirProperty中指定的FileName中指定的文件,并尝试删除它。

如果组件是计划移除的,并且InstallMode是"remove on uninstall或两者同时移除",则相同的逻辑将在卸载时工作。

如果组件不被安装/卸载(例如,正在安装另一个功能或condition为false),"removefile指令"将被Windows安装程序忽略。

最新更新