gpt4 book ai didi

wix - 在 WIX 中安装期间如何静默运行另一个程序 (PostgreSQL) 的安装程序?

转载 作者:行者123 更新时间:2023-12-04 14:09:27 25 4
gpt4 key购买 nike

我的公司正在开发一个依赖于 PostgreSQL 的应用程序,我们正在使用 WIX 开发安装程序。我们怎样才能让 PostgreSQL 安装程序(也是一个 msi 文件)在安装我们的应用程序时自动运行?我们需要在 Wix 中设置什么?如果您碰巧知道任何网页对此进行了解释,请发布链接。谢谢!

最佳答案

这是我编写的 Bootstrap ,用于将 MSXML 6 添加到我们的一个安装程序中。以下网站对于帮助我了解需要做什么至关重要,并且可能能够填补您可能拥有的任何空白: http://msdn.microsoft.com/en-us/library/aa730839%28VS.80%29.aspx

特别是关于让安装程序静默运行的问题,您需要将适当的开关添加到 Command 元素的 @Arguments 属性,它可能类似于:

<Command PackageFile="PostgreSQL.msi" Arugments="/quiet"/>

您还需要找到您正在使用的 MSI(使用 MS Orca)的 ProductCode,以确保在已安装 PostgreSQL 的情况下 Bootstrap 不会尝试运行安装:

<InstallChecks>
<MsiProductCheck
Property="IsPostgresInstalled"
Product="{PRODUCT-CODE-OF-POSTGRESQL-MSI}"/>
</InstallChecks>

产品.xml:

<Product
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="Microsoft.MSXML.6.SP2">

<PackageFiles>
<PackageFile Name="msxml6-KB954459-enu-x86.exe"/>
</PackageFiles>

<InstallChecks>
<MsiProductCheck
Property="IsMsiInstalled"
Product="{1A528690-6A2D-4BC5-B143-8C4AE8D19D96}"/>
</InstallChecks>

<Commands>
<Command PackageFile="msxml6-KB954459-enu-x86.exe" Arguments="">
<InstallConditions>
<BypassIf
Property="IsMsiInstalled"
Compare="ValueGreaterThan" Value="0"/>
<FailIf Property="AdminUser"
Compare="ValueNotEqualTo" Value="True"
String="NotAnAdmin"/>
</InstallConditions>

<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="GeneralFailure"/>
</ExitCodes>
</Command>
</Commands>
</Product>

这是我运行 MSBuild 的项目:

<Project ToolsVersion="3.5"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<ItemGroup>
<BootstrapperFile Include="Microsoft.MSXML.6.SP2" >
<ProductName>Microsoft MSXML 6 SP2</ProductName>
</BootstrapperFile>
</ItemGroup>

<Target Name="setup">
<GenerateBootstrapper
ApplicationFile="@PROJECT-EXE@"
ApplicationName="@PROJECT@"
BootstrapperItems="@(BootstrapperFile)"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper"
ComponentsLocation="Relative"
OutputPath="."
Culture="de"/>
</Target>

</Project>

希望对您有所帮助。

关于wix - 在 WIX 中安装期间如何静默运行另一个程序 (PostgreSQL) 的安装程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1971407/

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