2010-04-14 110 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