2010-04-14 119 views
2

第一个对话框(欢迎)出现后,是否有任何方法可以在WIX​​中执行自定义操作?立即在WIX中执行自定义操作

需求是检查先决条件,其中一些需要自定义操作。

自定义动作可以在我们点击下一个对话框时执行,但是标准WIX先决条件与我们的自定义先决条件不同。

(我们需要的自定义操作是检查IIS 6元数据库兼容性打开和注册表搜索不会在x64机器配备了32位安装工作)

回答

2

添加类似:

<Custom Action="MyCustomAction" Before="FindRelatedProducts">1</Custom> 
  • 取代FindRelatedProducts,您可能需要进行其他标准操作。您可以简单地在Orca中打开当前的msi以查看InstallExecuteSequence。
  • 除了“1”条件,您可能需要另外放置一些东西。
+0

没有一个产品下的自定义元素属性之前?你能提供更多的背景吗? – 2010-04-14 17:14:13

+0

http://www.tramontana.co.hu/wix/lesson10.php#10.1 - 例如这里是使用自定义动作的代码(但使用“之后”而不是“之前”)。 – VitalyVal 2010-04-14 21:59:40

+0

这对我有用,但只有在我把这个动作放在InstallUISequence之后,如下所示。当我在InstallExecuteSequence中执行该操作时,它以一些看似随机(和非常晚)的顺序悄悄执行操作: ' 未安装且未安装修补程序 ' – 2018-03-07 20:17:08

2

我用这样的事情...

<InstallExecuteSequence> 
     <Custom Action="CA_DoSomething" After="FindRelatedProducts"> 
      <![CDATA[1]]> 
     </Custom>  
</InstallExecuteSequence> 
<InstallUISequence> 
     <Custom Action="CA_DoSomething" After="FindRelatedProducts"> 
      <![CDATA[1]]> 
     </Custom> 
</InstallUISequence> 

<CustomAction Id="CA_DoSomething" Error="Error message goes here" /> 
+0

我无法让这个工作,我已经在安装后的安装顺序结束时取得了成功,但不是立即。 – 2010-04-23 08:09:11

+0

对19型(错误)操作完美适用于我,它可能是CA的问题,而不是测序。 (即你不能早日安排延期行动) – saschabeaumont 2010-04-27 05:47:53