【问题标题】:Adding .Net Framework on Wix installer duplicates installer在 Wix 安装程序上添加 .Net Framework 会重复安装程序
【发布时间】:2013-03-20 18:29:00
【问题描述】:

我正在部署一个简单的.MSI 安装程序。但是,作为测试,我想把Microsoft .Net Framework 4.0作为先决条件,所以我在.wixproj上写了这个:

  <ItemGroup>
      <BootstrapperFile Include=".NETFramework,Version=v4.0">
         <ProductName>.NET Framework 4.0</ProductName>
      </BootstrapperFile>
      <Bootstra pperFile Include="Microsoft.Windows.Installer.4.5">
         <ProductName>Windows Installer 4.5</ProductName>
      </BootstrapperFile>
  </ItemGroup>

还有:

<Target Name="AfterBuild">
    <GenerateBootstrapper ApplicationFile="InstallTest" ApplicationName="Face Phi Install Test" BootstrapperItems="@(BootstrapperFile)" ComponentsLocation="Relative" CopyComponents="True" OutputPath="$(OutputPath)" Path="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\" />
</Target>

在我的.wxs 项目中,我写了这个:

<PropertyRef Id="NETFRAMEWORK40FULL"/>

这很好用,我可以将.Net Framework 4.0 作为先决条件,并且不允许继续安装。但是当我生成我的SetupProject 时,我可以看到两个安装程序:

  1. InstallTest.msi 是我在 .wxs 项目中生成的。第二个,不知道出处。 我怎样才能只有一个安装程序并将其连接到我的先决条件?
  2. 如何自动安装 .Net Framework,而不是取消安装?

【问题讨论】:

    标签: xml visual-studio-2010 installation wix wix3.5


    【解决方案1】:

    setup.exe 由您的GenerateBootstrapper 构建任务创建,包含安装您通过BootstrapperFile 元素选择的包的逻辑。但是,这不包括您的 InstallTest.msi。

    为此,您需要创建一个引导程序包,它是一个包含 msi 文件和几个 xml 文件的目录结构。查看C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages 的示例。您可以手动设计一个并使用构建任务将其复制到该 Packages 文件夹中。 Microsoft 的非正式工具 Bootstrapper Manifest Generator 在设计和复制包时也有帮助,并且可以从构建任务中调用。

    一旦您有一个安装所有软件包的 setup.exe,您可能希望将所有文件放入一个自解压档案,例如 WinRAR 或 WinZip。我使用了一个非常基本的 NSIS 安装程序,因为它允许我创建具有专业外观的自定义欢迎屏幕。

    另类

    升级到 WiX 3.7 并使用 WiX Bootstrapper 项目(也称为 Burn 项目),而不是 Visual Studio 引导程序。缺点是在其系统下安装依赖项的脚本尚未广泛使用,尽管 .NET 的脚本在文档中。 [请参阅主题“如何:使用 Burn 安装 .NET Framework”。] Burn 的众多优点之一是它还是一个自解压存档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多