我想在WiX安装程序中运行一些任意代码,并尽可能早地获得结果。
为了测试这个,我使用返回值来设置标签字段。它似乎不起作用。当我放一个
时,我可以让它运行<Publish Event="DoAction" Value="CustomAction1">1</Publish>
在控件中为下一个按钮,但这太晚了。我希望代码在开始时执行。
以下是我的尝试:
<Binary Id="WixCustomActions" SourceFile="$(var.SolutionDir)$(var.CAProjectName)\bin\Release\$(var.CAProjectName).CA.dll" />
<CustomAction Id="CustomAction1" BinaryKey="WixCustomActions" DllEntry="CustomAction1" Execute="deferred" Return="asyncWait"/> (tried many combinations here)`
后来......
<InstallExecuteSequence>
<Custom Action="CustomAction1" After="InstallInitialize">1</Custom>
</InstallExecuteSequence>
在纸面上这应该有用。
我知道自定义操作本身不是问题,因为当放在下一个键上时,我会得到所需的结果。
解决方案是什么?
答案 0 :(得分:1)
InstallExecuteSequence表列出了执行顶级INSTALL操作时执行的操作。尝试在InstallUISequence上使用LaunchConditions
答案 1 :(得分:0)
<InstallUISequence>
<Custom Action="Your_Custom_Action"
After="CostFinalize"
Overridable="yes">NOT Installed</Custom>
</InstallUISequence>
此代码在安装开始时启动“您的自定义操作”。