我使用的是基本 MSI 项目 Installshield 2010。
有没有办法在 InstallFinalize 之后使用 RemoveFiles 操作从 RemoveFile 表中删除文件?
我在安装程序的组件中包含一些文件。我使用这些文件来配置其他文件,在 InstallFinalize 之后我想删除它们。
我阅读了有关 RemoveFiles 操作的信息,我注意到该操作在 InstallFiles 之前运行。
有可能改变它或召回行动吗?如何?
谢谢你的时间!
我使用的是基本 MSI 项目 Installshield 2010。
有没有办法在 InstallFinalize 之后使用 RemoveFiles 操作从 RemoveFile 表中删除文件?
我在安装程序的组件中包含一些文件。我使用这些文件来配置其他文件,在 InstallFinalize 之后我想删除它们。
我阅读了有关 RemoveFiles 操作的信息,我注意到该操作在 InstallFiles 之前运行。
有可能改变它或召回行动吗?如何?
谢谢你的时间!
不,您不能在 InstallFinalize 之后移动 RemoveFiles 操作。正如 MSDN 文档所述,它必须在 InstallFiles 操作之前安排。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa371199(v=vs.85).aspx
我建议使用自定义操作来执行清理。
如果您有仅在执行安装程序期间需要的临时文件,请将它们放在支持文件视图而不是组件视图中。
InstallShield 有一个表 ( ISSetupFile ) 和相关的自定义操作,它们会将这些文件提取到临时目录并将其分配给 [SUPPORTDIR] 属性。它也会在安装结束时为您清理。
这样,您就不会与 MSI 对抗,试图让它在安装过程中安装和卸载某些东西。