我有一个自定义操作,可以将文件添加到安装目录中。当程序被卸载时,另一个自定义操作会尝试删除这些文件,从而可以删除安装目录。
问题在于,我的自定义卸载操作在标准安装文件被删除后运行,因此安装目录仍然存在,尽管它是空的。
配置看起来类似于这样:
<CustomAction Id="AddFilesAction" BinaryKey="installerActions" DllEntry="AddFiles" Execute="deferred" Return="check" Impersonate="no" />
<CustomAction Id="CleanupAction" BinaryKey="installerActions" DllEntry="Cleanup" Execute="deferred" Return="check" Impersonate="no" />
<InstallExecuteSequence>
<Custom Action="CleanupAction" Before="InstallFiles">Installed</Custom>
<Custom Action="AddFilesAction" After="InstallFiles">NOT Installed</Custom>
</InstallExecuteSequence>
我可以让CleanupAction
在msi开始删除安装文件之前运行,这样自定义文件就已经被删除了,msi可以删除主安装目录吗?
<RemoveFolder Id="RemoveRootDir" On="uninstall"/>
元素。 - zett42