我想运行一个批处理文件,我通过以下方式执行:
<CustomAction Id='InstallFilter' FileKey='install' ExeCommand='' Execute='deferred' />
<InstallExecuteSequence>
<Custom Action='InstallFilter' Before='InstallFinalize' />
</InstallExecuteSequence>
这将执行批处理文件,但它在 C:\Windows\System32 (或类似的东西)中运行。我希望它在找到文件的目录中运行。它不会让我用 FileKey 属性指定 Directory 属性。如何告诉安装程序用完特定目录,最好是通过目录 ID。
此外,当我尝试使用脚本卸载我的应用程序时,我收到一条错误消息,提示“Windows Installer 程序包存在问题。无法运行完成安装所需的程序。” 这是有道理的,因为当脚本运行时,文件已被删除。问题是:
如何指定我的操作应该只在安装时运行,而不是卸载?
如何卸载此当前副本?