使用WixUI_Minimal的Wix自定义操作

Bri*_*ian 2 installer windows-installer custom-action wix

所以,我正在尝试,在应用程序完成安装后(虽然实际上,在运行辅助应用程序时无关紧要,因为它在安装期间不与安装的文件交互),运行另一个程序,这是与应用程序捆绑在一起.相关代码(用"..."替换各种内容:

<directory ...>
  <component ...>
  <File Id="IDINST" ... />
  </component>
</directory>
...
<CustomAction Id="IDACTION" FileKey="IDINST" ExeCommand="..." Return="ignore" />
...
<InstallExecuteSequence>
  <Custom Action="IDACTION" After="CostFinalize" />
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

我检查了目录,文件是我所期望的,但是在安装过程之后没有执行.事实上,我甚至不想要安装该文件,只需运行然后删除.但我暂时不理睬这一点.无论如何,我已经看过几个在对话之后触发动作的例子但是因为我现在正在使用<UIRef Id="WixUI_Minimal" />我不认为这是理想的.

Rob*_*ing 5

CostFinalize在InstallFiles延迟操作运行(实际放置文件)之前很久就会发生.因此,CustomAction以静默方式失败(因为文件不可用)(因为返回被忽略)

您需要至少在InstallFiles之后安排CustomAction,并且如果CustomAction不能延迟运行,那么它必须在InstallFinalize之后(当然,它不能在InstallFinalize之后导致回滚).