2012-05-27 50 views
2

更新:事實證明,這實際上是可行的,但安裝文件只是默認複製到輸出目錄。如果安裝程序在沒有它們的情況下運行,它將根據需要下載文件。在WiX中使用在線設置安裝.NET框架

我一直在閱讀文檔,並按照如何指導在WiX中安裝.NET框架,但是由於包含框架安裝文件,構建的輸出非常大(在100mb之間和200mb)。

由於我想避免爲最終用戶提供如此大的下載大小,是否有可能讓WiX使用在線安裝程序(http://www.microsoft.com/en-us/download/details.aspx?id = 31)而不是讓已經擁有該框架的用戶必須下載大型設置?

目前我的標記是幾乎完全一樣的文檔中,但參考的人誰可能需要看到它,它是如下:

<ItemGroup> 
    <BootstrapperFile Include="Microsoft.Net.Framework.3.5"> 
     <ProductName>.NET Framework 3.5</ProductName> 
    </BootstrapperFile> 
    <BootstrapperFile Include="Microsoft.Windows.Installer.3.1"> 
     <ProductName>Windows Installer 3.1</ProductName> 
    </BootstrapperFile> 
    </ItemGroup> 
    <Target Name="AfterBuild"> 
    <GenerateBootstrapper 
     ApplicationFile="$(TargetFileName)" 
     ApplicationName="Application Name" 
     BootstrapperItems="@(BootstrapperFile)" 
     ComponentsLocation="HomeSite" 
     CopyComponents="True" 
     OutputPath="$(OutputPath)" 
     Path="C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\" /> 
    </Target> 
+1

根據[這個問題](http://stackoverflow.com/q/5862060/33499)你的msbuild文件看起來不錯。您是否嘗試在不復制.net安裝文件的情況下進行安裝? – wimh

+0

@Wimmel嗯,這是尷尬!事實證明,它正在添加在線安裝程序,我所要做的就是沒有按照您的建議安裝文件。 – rastating

+0

沒問題。不要忘記接受下面的答案。 – wimh

回答

2

事實證明,這實際上是工作,但安裝文件只是默認複製到輸出目錄。如果安裝程序在沒有它們的情況下運行,它將根據需要下載文件。

1

有很多bootstrappers可供結合設置。您可以將.net框架的Web設置與您的S/W綁定,然後如果未安裝預先請求,該工具將安裝.net框架。

我也有同樣的要求,我去了dotNetInstaller。這是一個免費的工具。

1

正如Sunil提到的,也許最簡單的方法是使用引導程序。一旦你有你的WiX引導程序的工作,所有你需要做補充.NET 4.0作爲一個先決條件是..

一)添加到該文件WixNetFxExtension.dll引用到你的引導程序/管理引導程序應用項目

b)增加以下內容作爲第一個項目在鏈..

<PackageGroupRef Id="NetFx40Web"/> 

這就是它!

如果需要,以上通過互聯網下載.net 4。進一步的信息和選項在這裏:wixnetfxextension documentation

相關問題