2014-10-11 81 views
1

我的问题是,我不知道为.NET Framework 4.5放置ItemGroup/BootstrapperFile。 这里是我的文件c#,带有wix的MSBuild引导程序,如何下载.net框架4.5

<Project ToolsVersion="4.0" 
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

    <ItemGroup> 
     <BootstrapperFile Include="Microsoft.Windows.Installer.4.5" > 
      <ProductName>Windows Installer 4.5</ProductName> 
     </BootstrapperFile> 
     <!--<BootstrapperFile Include="DotNetFX40" > 
      <ProductName>Microsoft DotNet Framework 4.5 SP1</ProductName> 
     </BootstrapperFile>--> 
    </ItemGroup> 

    <!-- from http://stackoverflow.com/questions/346175/use-32bit-program-files-directory-in-msbuild 
    --> 
    <PropertyGroup> 
     <ProgramFiles32>$(MSBuildProgramFiles32)</ProgramFiles32> 
     <ProgramFiles32 Condition=" '' == '$(ProgramFiles32)'">$(ProgramFiles%28x86%29)</ProgramFiles32> 
     <ProgramFiles32 Condition=" '' == '$(ProgramFiles32)'">$(ProgramFiles)</ProgramFiles32> 
    </PropertyGroup> 

    <Target Name="SetupExe"> 
     <GenerateBootstrapper 
      ApplicationFile="C:\Projects\MySetup\MySetup\bin\Debug\MySetup.msi" 
      ApplicationName="MyApplication" 
      Culture="en" 
      BootstrapperItems="@(BootstrapperFile)" 
      ComponentsLocation="HomeSite" 
      Path="$(ProgramFiles32)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\" 
      OutputPath="output"/> 
    </Target> 

</Project> 

我读过的互联网,人们现在所要参考的是Windows的SDK文件夹的目录是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A 但后来什么用的给一个本地文件夹,同时引导程序应该下载依赖关系? 任何人都知道在BootstrapperFile中使用的引用?

谢谢!

回答

2

BootstrapperFile元素标识@Path文件夹的Packages子文件夹中的包。那里的product.xml文件指定了需要的文件以及在哪里可以下载它们。它们在构建时必须存在的原因是setup.exe可以包含它们的校验和以在安装时进行验证。

下载取决于软件包作者(当然是网站所有者)。如果你自己创作,你可能会发现Bootstrapper Manifest Generator很有用(如果你能在互联网上找到它 - 所有的官方链接都已经死了)。

+0

我只是想知道是否有任何参考哪里可以找到什么要放在BootstrapperFile作为包含和ProductName。我认为它就像maven,所以我们需要确切的名字......我不知道在哪里可以找到...... – Sofiane 2014-10-30 14:21:20