WiX - 自定义操作(安装后)在升级时不运行

时间:2009-04-09 21:14:31

标签: wix upgrade action

我创建了一个通过UI触发的自定义操作。它适用于新安装但在升级期间失败。但是,如果我从控制面板运行修复,它运行正常。我尝试捕获msi日志,但它没有提供任何线索。这是片段......

UI:

<Control Id="CloseButton" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes" Cancel="yes" Text="&amp;Continue">    
  <Publish Event="DoAction" Value="ConfigureServer1">1</Publish>   
  <Publish Event="EndDialog" Value="Return">1</Publish>    
</Control>

自定义操作:

<CustomAction Id="ConfigureServer1" Impersonate="no" Directory="TARGETDIR" Return="asyncNoWait" ExeCommand="[#fileSetupDb] &quot;[ProductVersion]&quot; &quot;[OCISUPGRADE]&quot;"></CustomAction>

UI文件的序列:

<InstallUISequence>
......
 <Show Dialog="FinishedForm" OnExit="success" />
......
</InstallUISequence>

任何线索....或任何我可以尝试调试等?我尝试了几天没有结果。我不是msi或wix的新手,也不是专家。

1 个答案:

答案 0 :(得分:0)

我没有完全按照这个问题,但我会猜测。升级“产品的早期版本”(正在删除的MSI)时,只运行其InstallExecuteSequence。因此,InstallUISequence中旧版本产品中的自定义操作将不会运行。

如果问题是为什么自定义操作不会在新版本的产品中运行,那么这里没有足够的信息。您可以查看详细日志文件,以查看具有匹配Id的自定义操作的结果。