我想在安装过程中使用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',则脚本将不会运行。
答案 0 :(得分: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>