gpt4 book ai didi

WIX 自定义操作的执行顺序

转载 作者:行者123 更新时间:2023-12-04 02:56:40 24 4
gpt4 key购买 nike

我有一个安装网站、几个 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>

我需要一种方法来告诉安装程序确保“SQLBootstrap”发生在“RegSql”之后。

如有任何帮助,我们将不胜感激。

编辑

这是运行 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>

最佳答案

假设您运行的 Sql 脚本使用内置的 sql actions您需要在 RegSql 操作之后安排 InstallSqlData 操作:

<Custom Action="InstallSqlData" After="RegSql" />

关于WIX 自定义操作的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16568480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com