私のアプリケーションには 2 つの msi インストーラーがあります。1 つはベンダー提供で変更できません。もう 1 つは、VS2010 のセットアップと展開を使用して生成した MSI ファイルです。
WIX Bootstrapper を使用してこれら 2 つを 1 つに結合しました。このアプリケーションをビルドすると、2 つの MSI と 1 つの Bootstrapper exe が提供されます。明らかに、Bootstrapper exe をクリックすると、他の 2 つの MSI が順次インストールされますが、問題は、これを提供したいだけです。単一の Bootstrapper exe を顧客に提供しますが、他の 2 つの MSI も必要です。それを行う他の方法はありますか? 以下のコードを見つけてください..
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="SoftWritersInstaller_Package" Version="1.0.0.0" Manufacturer="Microsoft" UpgradeCode="86431df1-94cc-433a-9885-af19bca9b5d3">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain >
<!-- TODO: Define the list of chained packages. -->
<!-- <MsiPackage SourceFile="path\to\your.msi" /> -->
<PackageGroupRef Id="Netfx4Full"/>
<MsiPackage Id="F_VB_AGENT" SourceFile=".\VBandMsi\Framewrk with Agent.msi" Compressed="no" EnableFeatureSelection="yes" DisplayInternalUI="yes" ></MsiPackage>
<MsiPackage Id="FVBAgent.Net" SourceFile=".\VBandMsi\.FDotNet.Setup.msi" Compressed="no" EnableFeatureSelection="yes" DisplayInternalUI="yes" />
</Chain>
</Bundle>
<Fragment>
<!-- Check for .NET 4.0 -->
<util:RegistrySearch Root="HKLM"
Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
Value="Version"
Variable="Netfx4FullVersion" />
<util:RegistrySearch Root="HKLM"
Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
Value="Version"
Variable="Netfx4x64FullVersion"
Win64="yes"
/>
<PackageGroup Id="Netfx4Full">
<ExePackage Id="Netfx4Full"
DisplayName="Microsoft .NET Framework 4.0"
Compressed="yes"
Cache="yes"
PerMachine="yes"
Permanent="yes"
Protocol="netfx4"
Vital="yes"
SourceFile=".\dotNetFx40_Full_x86_x64.exe"
InstallCommand="/passive /norestart"
DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)" />
</PackageGroup>
</Fragment>
</Wix>