我有一个安装网站、几个 SQL Server 数据库和配置用户等的 wix 项目。
安装的一部分使用自定义操作为 ASP.NET 成员系统创建一个数据库,以执行 aspnet_regsql.exe。
然后安装的另一部分需要执行 SQL 脚本来创建初始用户。问题是脚本组件在自定义操作发生之前被执行,因此脚本中对成员表和存储过程的引用无效并且安装失败。
这是我的安装文件的一部分:
<Feature Id="Complete" Title="Darzi Web" Level="1" Display="expand" ConfigurableDirectory="INSTALLDIR">
<ComponentGroupRef Id="SiteIISConfig"/>
<ComponentGroupRef Id="SQLConfig" />
<ComponentGroupRef Id="InstallFiles" />
<ComponentRef Id="WebConfigChanges" />
<ComponentGroupRef Id="SQLBootstrap" />
</Feature>
<InstallExecuteSequence>
<Custom Action='RegSql' After='InstallFiles'/>
</InstallExecuteSequence>
我需要一种方法来告诉安装程序以确保在“RegSql”之后发生“SQLBootstrap”。
任何帮助将不胜感激。
编辑
这是运行 Bootstrap SQL 的部分:
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="SqlBoostrapComponent" Guid="CAAA1447-446F-4C1B-9239-812ABA5AF0FF" KeyPath="yes">
<sql:SqlScript SqlDb='DarziAspNetDbDatabase' Id='Bootstrap' BinaryKey='Bootstrap' ExecuteOnInstall='yes' Sequence='1' />
</Component>
</DirectoryRef>
<Binary Id='Bootstrap' SourceFile='Bootstrap.sql' />
<ComponentGroup Id="SQLBootstrap">
<ComponentRef Id="SqlBoostrapComponent" />
</ComponentGroup>
</Fragment>