2

私は.NET 4の完全な前提条件を持つWiXインストーラーを書いているので、Burnを使用してブートストラップされたインストーラーを生成しています。インストール中にインターネットから.NETインストーラーをダウンロードする代わりに、インターネットに接続していないクライアントが使用できるようにインストーラー自体に含めたいことを除いて、これは正常に機能しています。

それが可能であることを示唆するこの投稿を見つけましたが、Bundle.wxs ファイルの下に .NET インストーラー (dotNetFx40_Full_setup.exe) を使用して redist フォルダーを作成しましたが、コンパイル時にそれを取得しません。

Bundle.wx:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Bundle Name="MyProduct" Version="1.0.0.0" Manufacturer="Me" UpgradeCode="96088bf4-1776-42d0-9ab9-ba3fa9dc7ec3" IconSourceFile="..\MyProduct.ico" SplashScreenSourceFile="..\MyProduct.bmp">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />    

        <Chain>
      <PackageGroupRef Id="NetFx40Redist"/>
      <MsiPackage DisplayInternalUI="yes" SourceFile="..\bin\$(var.Configuration)\setup.msi" />
        </Chain>
    </Bundle>
</Wix>

ビルドログ:

------ Build started: Project: MyProductSetup.CustomActions, Configuration: Debug x86 ------
  All packages listed in packages.config are already installed.
  MyProductSetup.CustomActions -> C:\Development\Boris\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\MyProductSetup.CustomActions.dll
------ Build started: Project: MyProductSetup, Configuration: Debug x86 ------
        C:\Program Files (x86)\WiX Toolset v3.7\bin\Heat.exe dir "C:\Deployed Boris\API" -cg APIComponents -dr APIFOLDER -sreg -srd -var var.APISourceDir -ag -sfrag -out AutoGenerated\APIFiles.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\Heat.exe dir "C:\Deployed Boris\SSO" -cg SSOComponents -dr SSOFOLDER -sreg -srd -var var.SSOSourceDir -ag -sfrag -out AutoGenerated\SSOFiles.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\Heat.exe dir "C:\Deployed Boris\Website" -cg WebsiteComponents -dr WEBSITEFOLDER -sreg -srd -var var.WebsiteSourceDir -ag -sfrag -out AutoGenerated\WebsiteFiles.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\Heat.exe dir "C:\Deployed Boris\Database Scripts" -cg DatabaseScriptsComponents -dr DATABASESCRIPTSFOLDER -sreg -srd -var var.DatabaseScriptsSourceDir -ag -sfrag -out AutoGenerated\DatabaseScriptsFiles.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\candle.exe -wx -dDebug -d"APISourceDir=C:\Deployed MyProduct\API" -d"SSOSourceDir=C:\Deployed MyProduct\SSO" -d"WebsiteSourceDir=C:\Deployed MyProduct\Website" -d"DatabaseScriptsSourceDir=C:\deployed MyProduct\Database Scripts" -dVersion=4.0.0 -d"DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\" -dSolutionDir=C:\Development\MyProduct\trunk\Applications\Installer\ -dSolutionExt=.sln -dSolutionFileName=MyProductSetup.sln -dSolutionName=MyProductSetup -dSolutionPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.sln -dConfiguration=Debug -dOutDir=bin\Debug\ -dPlatform=x86 -dProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\ -dProjectExt=.wixproj -dProjectFileName=MyProductSetup.wixproj -dProjectName=MyProductSetup -dProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\MyProductSetup.wixproj -dTargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\ -dTargetExt=.msi -dTargetFileName=MyProductSetup.msi -dTargetName=MyProductSetup -dTargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\MyProductSetup.msi -dMyProductSetup.CustomActions.Configuration=Debug -d"MyProductSetup.CustomActions.FullConfiguration=Debug|x86" -dMyProductSetup.CustomActions.Platform=x86 -dMyProductSetup.CustomActions.ProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\ -dMyProductSetup.CustomActions.ProjectExt=.csproj -dMyProductSetup.CustomActions.ProjectFileName=MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.ProjectName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.ProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.TargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\ -dMyProductSetup.CustomActions.TargetExt=.dll -dMyProductSetup.CustomActions.TargetFileName=MyProductSetup.CustomActions.dll -dMyProductSetup.CustomActions.TargetName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.TargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\MyProductSetup.CustomActions.dll -out obj\Debug\pth2D6B79CE7AF38B591B0D975BED49C71F\ -pedantic -arch x86 -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixNetFxExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUtilExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixIIsExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUIExtension.dll" AutoGenerated\APIFiles.wxs AutoGenerated\DatabaseScriptsFiles.wxs AutoGenerated\SSOFiles.wxs AutoGenerated\WebsiteFiles.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\candle.exe -wx -dDebug -d"APISourceDir=C:\Deployed MyProduct\API" -d"SSOSourceDir=C:\Deployed MyProduct\SSO" -d"WebsiteSourceDir=C:\Deployed MyProduct\Website" -d"DatabaseScriptsSourceDir=C:\deployed MyProduct\Database Scripts" -dVersion=4.0.0 -d"DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\" -dSolutionDir=C:\Development\MyProduct\trunk\Applications\Installer\ -dSolutionExt=.sln -dSolutionFileName=MyProductSetup.sln -dSolutionName=MyProductSetup -dSolutionPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.sln -dConfiguration=Debug -dOutDir=bin\Debug\ -dPlatform=x86 -dProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\ -dProjectExt=.wixproj -dProjectFileName=MyProductSetup.wixproj -dProjectName=MyProductSetup -dProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\MyProductSetup.wixproj -dTargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\ -dTargetExt=.msi -dTargetFileName=MyProductSetup.msi -dTargetName=MyProductSetup -dTargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\MyProductSetup.msi -dMyProductSetup.CustomActions.Configuration=Debug -d"MyProductSetup.CustomActions.FullConfiguration=Debug|x86" -dMyProductSetup.CustomActions.Platform=x86 -dMyProductSetup.CustomActions.ProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\ -dMyProductSetup.CustomActions.ProjectExt=.csproj -dMyProductSetup.CustomActions.ProjectFileName=MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.ProjectName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.ProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.TargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\ -dMyProductSetup.CustomActions.TargetExt=.dll -dMyProductSetup.CustomActions.TargetFileName=MyProductSetup.CustomActions.dll -dMyProductSetup.CustomActions.TargetName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.TargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\MyProductSetup.CustomActions.dll -out obj\Debug\pth8A17003C77C5FED13E7347DB7040BE89\ -pedantic -arch x86 -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixNetFxExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUtilExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixIIsExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUIExtension.dll" CustomPages\DatabaseServer.wxs CustomPages\EmailMode.wxs CustomPages\Registration.wxs CustomPages\WebServer.wxs CustomPages\UIFlow.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\candle.exe -wx -dDebug -d"APISourceDir=C:\Deployed MyProduct\API" -d"SSOSourceDir=C:\Deployed MyProduct\SSO" -d"WebsiteSourceDir=C:\Deployed MyProduct\Website" -d"DatabaseScriptsSourceDir=C:\deployed MyProduct\Database Scripts" -dVersion=4.0.0 -d"DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\" -dSolutionDir=C:\Development\MyProduct\trunk\Applications\Installer\ -dSolutionExt=.sln -dSolutionFileName=MyProductSetup.sln -dSolutionName=MyProductSetup -dSolutionPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.sln -dConfiguration=Debug -dOutDir=bin\Debug\ -dPlatform=x86 -dProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\ -dProjectExt=.wixproj -dProjectFileName=MyProductSetup.wixproj -dProjectName=MyProductSetup -dProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\MyProductSetup.wixproj -dTargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\ -dTargetExt=.msi -dTargetFileName=MyProductSetup.msi -dTargetName=MyProductSetup -dTargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\MyProductSetup.msi -dMyProductSetup.CustomActions.Configuration=Debug -d"MyProductSetup.CustomActions.FullConfiguration=Debug|x86" -dMyProductSetup.CustomActions.Platform=x86 -dMyProductSetup.CustomActions.ProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\ -dMyProductSetup.CustomActions.ProjectExt=.csproj -dMyProductSetup.CustomActions.ProjectFileName=MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.ProjectName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.ProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.TargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\ -dMyProductSetup.CustomActions.TargetExt=.dll -dMyProductSetup.CustomActions.TargetFileName=MyProductSetup.CustomActions.dll -dMyProductSetup.CustomActions.TargetName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.TargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\MyProductSetup.CustomActions.dll -out obj\Debug\pthC8EF85A2A1A4FD77C0CA016DD028CBFF\ -pedantic -arch x86 -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixNetFxExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUtilExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixIIsExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUIExtension.dll" IIS\API.wxs IIS\SSO.wxs IIS\Website.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\candle.exe -wx -dDebug -d"APISourceDir=C:\Deployed MyProduct\API" -d"SSOSourceDir=C:\Deployed MyProduct\SSO" -d"WebsiteSourceDir=C:\Deployed MyProduct\Website" -d"DatabaseScriptsSourceDir=C:\deployed MyProduct\Database Scripts" -dVersion=4.0.0 -d"DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\" -dSolutionDir=C:\Development\MyProduct\trunk\Applications\Installer\ -dSolutionExt=.sln -dSolutionFileName=MyProductSetup.sln -dSolutionName=MyProductSetup -dSolutionPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.sln -dConfiguration=Debug -dOutDir=bin\Debug\ -dPlatform=x86 -dProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\ -dProjectExt=.wixproj -dProjectFileName=MyProductSetup.wixproj -dProjectName=MyProductSetup -dProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\MyProductSetup.wixproj -dTargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\ -dTargetExt=.msi -dTargetFileName=MyProductSetup.msi -dTargetName=MyProductSetup -dTargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\MyProductSetup.msi -dMyProductSetup.CustomActions.Configuration=Debug -d"MyProductSetup.CustomActions.FullConfiguration=Debug|x86" -dMyProductSetup.CustomActions.Platform=x86 -dMyProductSetup.CustomActions.ProjectDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\ -dMyProductSetup.CustomActions.ProjectExt=.csproj -dMyProductSetup.CustomActions.ProjectFileName=MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.ProjectName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.ProjectPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\MyProductSetup.CustomActions.csproj -dMyProductSetup.CustomActions.TargetDir=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\ -dMyProductSetup.CustomActions.TargetExt=.dll -dMyProductSetup.CustomActions.TargetFileName=MyProductSetup.CustomActions.dll -dMyProductSetup.CustomActions.TargetName=MyProductSetup.CustomActions -dMyProductSetup.CustomActions.TargetPath=C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup.CustomActions\bin\Debug\MyProductSetup.CustomActions.dll -out obj\Debug\ -pedantic -arch x86 -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixNetFxExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUtilExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixIIsExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUIExtension.dll" Main.wxs
        C:\Program Files (x86)\WiX Toolset v3.7\bin\Light.exe -out C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\MyProductSetup.msi -pdbout C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\bin\Debug\MyProductSetup.wixpdb -wx -cultures:null -dConfiguration=Debug -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixNetFxExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUtilExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixIIsExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixUIExtension.dll" -pedantic -contentsfile obj\Debug\MyProductSetup.wixproj.BindContentsFileListnull.txt -outputsfile obj\Debug\MyProductSetup.wixproj.BindOutputsFileListnull.txt -builtoutputsfile obj\Debug\MyProductSetup.wixproj.BindBuiltOutputsFileListnull.txt -wixprojectfile C:\Development\MyProduct\trunk\Applications\Installer\MyProductSetup\MyProductSetup.wixproj obj\Debug\pth2D6B79CE7AF38B591B0D975BED49C71F\APIFiles.wixobj obj\Debug\pth2D6B79CE7AF38B591B0D975BED49C71F\DatabaseScriptsFiles.wixobj obj\Debug\pth2D6B79CE7AF38B591B0D975BED49C71F\SSOFiles.wixobj obj\Debug\pth2D6B79CE7AF38B591B0D975BED49C71F\WebsiteFiles.wixobj obj\Debug\pth8A17003C77C5FED13E7347DB7040BE89\DatabaseServer.wixobj obj\Debug\pth8A17003C77C5FED13E7347DB7040BE89\EmailMode.wixobj obj\Debug\pth8A17003C77C5FED13E7347DB7040BE89\Registration.wixobj obj\Debug\pth8A17003C77C5FED13E7347DB7040BE89\WebServer.wixobj obj\Debug\pth8A17003C77C5FED13E7347DB7040BE89\UIFlow.wixobj obj\Debug\pthC8EF85A2A1A4FD77C0CA016DD028CBFF\API.wixobj obj\Debug\pthC8EF85A2A1A4FD77C0CA016DD028CBFF\SSO.wixobj obj\Debug\pthC8EF85A2A1A4FD77C0CA016DD028CBFF\Website.wixobj obj\Debug\Main.wixobj
------ Build started: Project: MyProductBootstrapper, Configuration: Debug x86 ------
        C:\Program Files (x86)\WiX Toolset v3.7\bin\Light.exe -out C:\Development\MyProduct\trunk\Applications\Installer\MyProductBootstrapper\bin\Debug\MyProductSetup.exe -pdbout C:\Development\MyProduct\trunk\Applications\Installer\MyProductBootstrapper\bin\Debug\MyProductSetup.wixpdb -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixNetFxExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.7\bin\\WixBalExtension.dll" -contentsfile obj\Debug\MyProductBootstrapper.wixproj.BindContentsFileList.txt -outputsfile obj\Debug\MyProductBootstrapper.wixproj.BindOutputsFileList.txt -builtoutputsfile obj\Debug\MyProductBootstrapper.wixproj.BindBuiltOutputsFileList.txt -wixprojectfile C:\Development\MyProduct\trunk\Applications\Installer\MyProductBootstrapper\MyProductBootstrapper.wixproj obj\Debug\Bundle.wixobj
========== Build: 3 succeeded or up-to-date, 0 failed, 0 skipped ==========
4

1 に答える 1

1

投稿が言っていることは、ダウンロード可能としてマークされたペイロードをburn exeと一緒に出荷でき、ダウンロードはスキップされるということです.

代わりに、パッケージ ファイルを (内部の .exe コンテナー内に) バンドルする場合は、ダウンロード可能としてマークされたペイロードなしでパッケージを定義する必要があります。WiX 3.7 に同梱されている .NET パッケージ定義はどれもそれを行わないため、独自に作成する必要があります。

手始めに、ペイロードをダウンロードするものをコピーしてカスタマイズすることをお勧めします。そうすれば、同じ検出条件とインストール引数が得られます。

于 2013-08-06T02:38:38.970 に答える