8

私は Wix/Burn を初めて使用し、いくつかの基本事項を理解しようとしています。次のチェーンを使用して、必要な .net 4.0 フレームワークをインストールする単純なブートストラップがあります。

<Chain>
    <PackageGroupRef Id="NetFx40ClientRedist"/>
    <MsiPackage Id="MyApp" SourceFile="$(var.WixInstaller.TargetPath)" DisplayInternalUI="yes" />
</Chain>

How To: Install the .NET Framework Using Burnで推奨されているとおりです。アプリケーションは Web アクセスのないサーバーで使用される可能性があるため、ローカルの再配布可能ファイルから .net をインストールすることが重要です。ブートストラップは非常にうまく機能しているようで、意図したとおりにフレームワークをインストールします。ただし、setup.exe ファイルはアプリケーションとほぼ同じサイズ (< 5 MB) であるため、インストール中にフレームワークがまだダウンロードされていると想定する必要があります。

質問

  1. では、WixNetfxExtension パッケージの「NetFx40ClientWeb」と「NetFx40ClientRedist」の違いは何ですか?

  2. ダウンロードが不要になるように、ローカルの再配布可能ファイルをブーストラップに含めるにはどうすればよいですか?

編集:

ここで答えを見つけたと思います:

WiXNetFxExtension は、パッケージのバンドルが存在する "redist" というサブディレクトリをチェックし、そのパスに存在しない場合はダウンロードします (例: "redist\dotNetFx40_Client_setup.exe")。これは標準の書き込み動作です。

4

1 に答える 1

2

2 つの違いは次のとおり
です。 1. clientWeb - Web に接続する必要があり、.net 4.0 がダウンロードされ、その後マシンにインストールされることを意味します。

2.clientRedist - 再配布可能であることを意味します - インターネットへの接続を必要としない完全なパッケージを意味し、任意のコンピューターにインストールできます。


再頒布可能パッケージを使用する場合は問題ありません。これは .Net 4.5 の例です。.Net 4.0 の場合も同じです。diff は再頒布可能パッケージのみです。

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
  <Bundle Name="Prog" Version="1.0.0.0" Manufacturer="my Corporation" UpgradeCode="*">
    <Chain>
      <!-- TODO: Define the list of chained packages. -->
      <PackageGroupRef Id="Netfx45FullPackage" />
    </Chain>
  </Bundle>
  <Fragment>
    <PackageGroup Id="Netfx45FullPackage">
      <ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile="..\SetupProject\dotnetfx45_full_x86_x64.exe" DetectCondition="(Netfx4FullVersion=&quot;4.5.50709&quot;) AND (NOT VersionNT64 OR (Netfx4x64FullVersion=&quot;4.5.50709&quot;))" InstallCondition="(VersionNT &gt;= v6.0 OR VersionNT64 &gt;= v6.0) AND (NOT (Netfx4FullVersion=&quot;4.5.50709&quot; OR Netfx4x64FullVersion=&quot;4.5.50709&quot;))" />

      <MsiPackage Id="MyProg" Cache="no" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="$(var.installerPath)\MyProgCore.msi" />
    </PackageGroup>
  </Fragment>
</Wix>
于 2014-06-21T07:18:52.320 に答える