我正在编写一个具有.NET 4完整预先请求的WiX安装程序,因此我使用Burn来生成一个自举安装程序。这是正常工作,除了在安装过程中不是从Internet下载.NET安装程序,我想将它包含在安装程序本身,以便没有Internet连接的客户端将能够使用它。
我发现this post表明它是可能的,但是我已经在我的Bundle.wxs文件下面创建了一个带有.NET安装程序(dotNetFx40_Full_setup.exe)的redist文件夹,但是在编译时它没有找到它。
Bundle.wxs:
<?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 ==========
答案 0 :(得分:1)
帖子的内容是你可以发送任何标记为可下载的有效负载以及刻录exe文件,并且会跳过下载。
相反,如果要捆绑包文件(在内部.exe容器内),则必须定义没有标记为可下载的有效负载的包。 WiX 3.7附带的.NET软件包定义都没有这样做,所以你必须自己编写。
一个好的开始方法是复制一个下载有效负载并进行自定义的方法。这样,您将拥有相同的检测条件和安装参数。