Wix - 如何在 burn 中捆绑配置文件
Wix - How to bundle a configuration file in burn
我正在尝试通过以下 link 在我的 Wix 安装程序中通过网络安装 SQL Server 2019 Express Edition:
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
但看起来这个 SQL express 安装程序只接受 CMD 参数中的配置 (/ConfigurationFIle="filePath"),所以我的问题是如何捆绑我的 sql express配置文件,以便在安装 SQL express
时使用
<ExePackage
InstallCommand="/ACTION=Install /Q /IAcceptSQLServerLicenseTerms /ConfigurationFile="MyConfigFile.ini""
Name="redist\setup.exe"
DownloadUrl="https://go.microsoft.com/fwlink/?linkid=866658"
.../>
</ExePackage>
好的,我找到了一种捆绑配置文件的方法,以便我的 exePackage 可以使用它:
<ExePackage
InstallCommand="/ACTION=Install /Q /IAcceptSQLServerLicenseTerms /ConfigurationFile="[WixBundleExecutePackageCacheFolder]MyConfigFile.ini""
Name="redist\setup.exe"
DownloadUrl="https://go.microsoft.com/fwlink/?linkid=866658"
.../>
<Payload Id="ConfigurationFileSqlExpress"
Compressed="yes"
SourceFile="$(env.PREREQUISITE_FOLDER)\redist\ConfigurationFileSqlExpress.ini"
Name="ConfigurationFileSqlExpress.ini" />
</ExePackage>
原来我需要做的就是在 ExePackage 中添加一个 Payload 元素并提供我想使用的配置文件的详细信息(SourceFile、Name)。请务必在有效负载的名称中包含扩展名 .ini(SQL 安装程序需要 .ini 文件进行配置)
然后将以下内容添加到 InstallCommand 中,以便可以将配置文件路径传递给 SQL 安装程序:
/ConfigurationFile="[WixBundleExecutePackageCacheFolder]ConfigurationFileSqlExpress.ini"
[WixBundleExecutePackageCacheFolder]:(内置变量),获取当前执行包的缓存文件夹的绝对路径。此变量仅在程序包执行时可用。
参考:
我正在尝试通过以下 link 在我的 Wix 安装程序中通过网络安装 SQL Server 2019 Express Edition: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
但看起来这个 SQL express 安装程序只接受 CMD 参数中的配置 (/ConfigurationFIle="filePath"),所以我的问题是如何捆绑我的 sql express配置文件,以便在安装 SQL express
时使用<ExePackage
InstallCommand="/ACTION=Install /Q /IAcceptSQLServerLicenseTerms /ConfigurationFile="MyConfigFile.ini""
Name="redist\setup.exe"
DownloadUrl="https://go.microsoft.com/fwlink/?linkid=866658"
.../>
</ExePackage>
好的,我找到了一种捆绑配置文件的方法,以便我的 exePackage 可以使用它:
<ExePackage
InstallCommand="/ACTION=Install /Q /IAcceptSQLServerLicenseTerms /ConfigurationFile="[WixBundleExecutePackageCacheFolder]MyConfigFile.ini""
Name="redist\setup.exe"
DownloadUrl="https://go.microsoft.com/fwlink/?linkid=866658"
.../>
<Payload Id="ConfigurationFileSqlExpress"
Compressed="yes"
SourceFile="$(env.PREREQUISITE_FOLDER)\redist\ConfigurationFileSqlExpress.ini"
Name="ConfigurationFileSqlExpress.ini" />
</ExePackage>
原来我需要做的就是在 ExePackage 中添加一个 Payload 元素并提供我想使用的配置文件的详细信息(SourceFile、Name)。请务必在有效负载的名称中包含扩展名 .ini(SQL 安装程序需要 .ini 文件进行配置)
然后将以下内容添加到 InstallCommand 中,以便可以将配置文件路径传递给 SQL 安装程序:
/ConfigurationFile="[WixBundleExecutePackageCacheFolder]ConfigurationFileSqlExpress.ini"
[WixBundleExecutePackageCacheFolder]:(内置变量),获取当前执行包的缓存文件夹的绝对路径。此变量仅在程序包执行时可用。
参考: