2012-09-10 68 views
2

我想在安裝期間使用WIX創建數據庫。我知道我可以使用SqlDatabase元素這樣做:使用WIX使用腳本而不是SQLDatabase元素創建數據庫

<sql:SqlDatabase Id='SqlDatabase' Database='MyDB' Server='localhost' Instance='MyInst' 
        CreateOnInstall='yes' DropOnUninstall='yes' ContinueOnError='yes'> 
       <sql:SqlScript Id='CreateTables' BinaryKey='CreateTables' ExecuteOnInstall='yes'/> 
       </sql:SqlDatabase> 

的問題是,我想在腳本文件來創建數據庫,而不是在SqlDatabase元素。有沒有辦法做到這一點?

如果我將CreateOnInstall設置爲'no',腳本將不運行。

回答

1

是的,使用SqlDatabase元素連接到master數據庫(或任何其他您知道存在的數據庫),然後SqlScript可以完成所有您想要的工作。您可能需要更新您的SqlScript,以使其定位到正確的數據庫。

<sql:SqlDatabase Id='SqlDatabase' Database='master' Server='localhost' Instance='MyInst'> 
    <sql:SqlScript Id='CreateTables' BinaryKey='CreateTables' ExecuteOnInstall='yes' /> 
</sql:SqlDatabase> 
+0

有了您的片斷,你將無法編譯MSI軟件包,你會得到以下錯誤:SQL:SqlDatabase元素必須具有以下屬性的一個規定:CreateOnInstall,CreateOnUninstall,DropOnInstall或DropOnUninstall。 – dna2

相關問題