Database Wix是否可以静默地不覆盖数据库
Wix显然可以提示/告诉用户数据库存在,并让用户选择覆盖或取消安装。不幸的是,用户无法指定“不覆盖”并继续安装 因此,Wix可以不重写数据库吗?如果数据库存在,只需忽略并执行下一条指令 如果没有,是否有其他方法来实现需要重新安装并且数据库已经就位的事实 当前我的Wix片段如下所示:Database Wix是否可以静默地不覆盖数据库,database,installation,wix,Database,Installation,Wix,Wix显然可以提示/告诉用户数据库存在,并让用户选择覆盖或取消安装。不幸的是,用户无法指定“不覆盖”并继续安装 因此,Wix可以不重写数据库吗?如果数据库存在,只需忽略并执行下一条指令 如果没有,是否有其他方法来实现需要重新安装并且数据库已经就位的事实 当前我的Wix片段如下所示: <Fragment> <ComponentGroup Id="COMPG_MyProductDatabase" Directory="TARGETDIR"> <Com
<Fragment>
<ComponentGroup Id="COMPG_MyProductDatabase" Directory="TARGETDIR">
<Component Id="COMPG_MyProductDatabase.sql" Guid="{...}">
<File Id="FILE_MyProductDatabase.sql" Source="..\MyProduct.Cache.Database\MyProduct.Deployment.sql" Name="MyProduct.Deployment.sql" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id='COMP_MyProductDatabase' Guid='{...}'>
<CreateFolder/>
<sql:SqlDatabase Id='DB_MyProductDatabase' Database='MyProduct' Server='[PROP_DATABASESERVERNAME]'
CreateOnInstall='yes' DropOnUninstall='no' ContinueOnError='yes' ConfirmOverwrite='yes'>
<sql:SqlScript Id='SQL_MyProductDatabase' BinaryKey='FILE_MyProductDatabase' ExecuteOnInstall='yes' />
</sql:SqlDatabase>
</Component>
</ComponentGroup>
<Binary Id='FILE_MyProductDatabase' SourceFile='..\MyProduct.Cache.Database\MyProduct.Deployment.sql' />
</Fragment>
将数据库创建移动到SQL脚本中,然后使用SQL语句执行条件逻辑。将SqlDatabase元素更改为连接到“master”以使其工作