1

.NET 4 フレームワークに依存する Burn ブートストラップをビルドしようとすると、奇妙なエラーが発生します。WiX セットアップのソースをダウンロードNetFx.wxsしてプロジェクトに含め、PackageGroupRef を Chain に追加しましたが、次のエラーが発生します。

エラー LGHT0103: システムはファイル 'dotNetFx40_Full_x86_x64.exe' を見つけることができません

ファイルNetfx.wxs:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
    <Fragment>
        <WixVariable Id="WixMbaPrereqPackageId"
                     Value="Netfx4Full" />

        <WixVariable Id="WixMbaPrereqLicenseUrl"
                     Value="NetfxLicense.rtf" />

        <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"
                        Cache="no"
                        Compressed="no"
                        PerMachine="yes"
                        Permanent="yes"
                        Vital="yes"
                        SourceFile="dotNetFx40_Full_x86_x64.exe"
                        DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193"
                        DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)" />

        </PackageGroup>
    </Fragment>
</Wix>

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

7

msi を作成している間、ファイル dotNetFx40_Full_x86_x64.exe がローカルに存在する必要があります。WiX はそれを msi にパックせず、必要な場合にのみインストール時にダウンロードします。

于 2012-05-03T12:42:10.293 に答える
6

RemotePayload Element<RemotePayload>に記載されているオプションを使用して、dotNetFx40_Full_x86_x64.exe ファイルが存在しなくても、実際にパッケージをビルドできます。

于 2013-01-28T20:45:15.357 に答える