2009-07-08 61 views
0

有沒有辦法通過指定順序或通過指定依賴關係來確保一個組件將在另一個組件之前在WiX中執行?組件執行順序Wix

具體來說,我試圖創建一個數據庫,然後,可選地,在其上運行腳本。我維克斯類似於此:

<ComponentGroup Id="SQLServerComponentGroup"> 
    <Component Id="SQLServerIstallScriptWA" Guid="" > 
    <Condition>INSTALLDB</Condition> 
     <mssql:SqlDatabase Id="dbWA" Server="localhost" Database="[DATABASENAME]" CreateOnInstall="yes" ConfirmOverwrite="yes" DropOnReinstall="no" DropOnUninstall="yes"> 
      <mssql:SqlScript Id="dbWAScript" ContinueOnError="no" ExecuteOnInstall="yes" ExecuteOnReinstall="no" Sequence="1" BinaryKey="MSSQLCreateDBBin" /> 
     </mssql:SqlDatabase> 
    </Component> 

    <Component Id="SQLServerCreateUserWA" Guid=""> 
     <Condition>INSTALLDB AND DBCREATEUSER = 1</Condition> 
     <mssql:SqlDatabase Id="dbWA" Server="localhost" Database="[DATABASENAME]"> 
      <mssql:SqlString Id="dbWACreateUser" ContinueOnError="no" ExecuteOnInstall="yes" ExecuteOnReinstall="no" ExecuteOnUninstall="no" Sequence="1" SQL="" /> 
     </mssql:SqlDatabase> 
    </Component> 
</ComponentGroup> 

我想確保SQLServerInstallScriptWA組件SQLServerCreateUserWA組件之前執行。

回答

1

零部件未訂購。但是,SqlScript和SqlString具有可用於強加順序的Sequence屬性。 SqlScript和SqlString序列屬性碰巧一起排列來處理這種情況。

+0

序列從組件到組件,然後? – Jeff 2009-07-09 17:15:43