【发布时间】:2016-03-10 21:45:19
【问题描述】:
在从 installshield 转换为 wix 的过程中,我正在移植自定义操作。
一个是用于确定以前安装的版本并在找到时弹出一条消息。我猜之前没有正确跟踪 guid。
在 installshield 中,他们似乎将 CA 安排在 ValidateProductID 之后。我也尝试过这样做:
<CustomAction Id="CA_CheckPreviousVersions.SetProperty" Property="CA_CheckPreviousVersions" Value="ERROR_UNINSTALL_VERSION=$(var.ERROR_UNINSTALL_VERSION)" />
<CustomAction Id="CA_CheckPreviousVersions" DllEntry="CheckPreviousVersions" Execute="deferred" BinaryKey="LunaClientCustomActions_dll" />
<InstallExecuteSequence>
...
<Custom Action="CA_CheckPreviousVersions.SetProperty" After="ValidateProductID" />
<Custom Action="CA_CheckPreviousVersions" After="CA_CheckPreviousVersions.SetProperty" >NOT Installed AND NOT PATCH</Custom>
</InstallExecuteSequence>
除了,我收到一个讨厌的警告:
error LGHT0204: ICE77: CA_CheckPreviousVersions is a in-script custom action. It must be sequenced in between the InstallInitialize action and the InstallFinalize action in the InstallExecuteSequence table
为什么我得到这个,而 IS 似乎允许它?更重要的是,我如何复制以前的行为?
【问题讨论】:
标签: wix windows-installer installshield wix3.10