3

.NET 4.0 と独自のアプリケーションをインストールして、ブートストラップを機能させることを検討してきました。いくつかのブログやチュートリアルを確認しましたが、うまくいきません。

スタック オーバーフローの質問Initiate / call bootstrapper in WiXで、ブートストラップで両方を呼び出す必要があることを読みました。私のブートストラッパーは .NET 4.0 インストーラーのみを呼び出します。これは、両方の部分を呼び出す必要がある部分です。

<Chain>
    <PackageGroupRef Id="NetFx40Redist" />
    <MsiPackage SourceFile="C:\my app.msi" Cache="yes" Visible="no" After="NetFx40Redist"></MsiPackage>
</Chain>

packagegroupref のみを呼び出します。.NET 4.0 パッケージのインストール中に、エラーが発生します。おそらく簡単で小さなものですが、見つかりません。

4

1 に答える 1

5

以下は私にとってはうまくいきます:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Bundle Name="Bootstrapper1" Version="1.0.0.0" Manufacturer="Test" UpgradeCode="5e5f0f1e-58e0-42e5-8306-37533d677535">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    <Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]Test\App"/>

    <Chain>
      <PackageGroupRef Id="NetFx40Web" />
      <MsiPackage
        Id="Setup"
        Compressed="yes"
        SourceFile="$(var.SetupProject1.TargetPath)"
        Vital="yes">
        <MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" />
      </MsiPackage>
    </Chain>
  </Bundle>
</Wix>

WixNetFxExtensionプロジェクトを追加し、ブートストラップ プロジェクトへの参照として追加してください。このブログはとても役に立ちました。

于 2012-11-02T17:21:49.467 に答える