[英]How do I make a WiX installer with a completely self-contained .NET 3.5 sp1 installer?
我需要將完整的.NET 3.5 sp1安裝程序包含在我的安裝程序中,該安裝程序位於WiX中。
我需要將boostrapper完全自包含,完全沒有Web訪問權限。 這個安裝程序不允許要求Web; 我們有外地蒙古的客戶(我很認真,不僅僅是使用地名,因為它很遙遠)我們運送CD,因為他們根本沒有互聯網接入。
WiX教程指出:
<Target Name="AfterBuild">
<GenerateBootstrapper ApplicationFile="$(TargetFileName)"
ApplicationName="My Application Name"
BootstrapperItems="@(BootstrapperFile)"
ComponentsLocation="Relative"
CopyComponents="True"
OutputPath="$(OutputPath)"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"/>
</Target>
上述引導程序需要Web。 如何制作不安裝的安裝程序?
<Project ToolsVersion="3.5"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
<ProductName>.NET Framework 3.5 SP1</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
<ProductName>Windows Installer 3.1</ProductName>
</BootstrapperFile>
</ItemGroup>
<Target Name="setup">
<GenerateBootstrapper
ApplicationFile="myproduct.msi"
ApplicationName="myproduct"
BootstrapperItems="@(BootstrapperFile)"
Path="$(bootstrapperPackagesFolder)"
ComponentsLocation="Relative"
OutputPath="$(cddir)"
Culture="en"/>
</Target>
</Project>
在您的情況下, $(bootstrapperPackagesFolder)
變量將指向C :\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\Bootstrapper\\
。 $(cddir)
變量是組成安裝CD內容的文件夾。
GenerateBootStrapper
任務不僅會生成bootstrapper exe,還會將DotNetFX35SP1
和WindowsInstaller3_1
文件夾復制到同一位置。 在安裝過程中,bootstrapper exe將查找這些文件夾並使用其中的文件,而不是下載它們。
我不確定我的例子是否與你已經做的不同; 也許你只是忘了在安裝光盤上包含DotNetFX35SP1
文件夾?
您可以查看這個Microsoft示例代碼 ,問題是WiX不提供引導程序/鏈接器 - 直到WiX 3.5作為“刻錄”工具才會出現。
我不確定你在原始示例中使用了什么,我假設是msbuild
或者其他東西 - 這不是WiX組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.