Wix在启动时自定义动作

问题描述:

如何在任何UI发生之前启动Wix自定义动作(从C#.NET CA Lib)?Wix在启动时自定义动作

我认为这是更好地控制Custom元素的使用这个“序”属性。

如果你打开你的输出微星与Orca,切换到InstallUISequenceInstallExecuteSequence表和“序列”列中的记录进行排序,你会看到正在执行的行动顺序。因此,安排您的自定义操作时,可以明确提出的序列:

<Custom Action="YourAction" ... Sequence="49" /> 

更方便的方式是使用前/后的属性,它们是相互排斥的,具有顺序。只要找出您希望自定义操作之前或之后去行动,并适当安排其:

<Custom Action="YourAction" ... Before="AnotherAction" /> 

你应该考虑到一个事实,即InstallUISequence可能无法运行(基本UI),因此,如果您倒是喜欢你的行动,在任何情况下,只运行一次,把属性Execute='firstSequence'到自定义动作定义:

<CustomAction Id="YourAction" ... Execute="firstSequence" /> 

一定要探索wix.chm和MSDN有关自定义操作的更多信息。 希望这有助于。

+0

嗯......这种情况不适合我的项目。你能举一个例子或样品吗? – Artem 2010-10-06 06:41:26

+0

好吧,我会用更多信息更新我的答案。 – 2010-10-06 07:59:14

我找到了解决方案。您可以在代码添加到UI.wxs

<Publish Dialog="YOUR_DIALOG" Control="SOME_TEXT" Event="DoAction" Value="CA_NAME" Order="you_order">CONDITION</Publish>