如何将 64 位和 32 位 Windows Installer 程序包部署为单个设置? [英] How to deploy 64-bit and a 32-bit Windows Installer package as a single setup?

查看:31
本文介绍了如何将 64 位和 32 位 Windows Installer 程序包部署为单个设置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要部署针对 Windows 64 位和 32 位的软件设置.对于每个平台,我有两个单独的 Windows Installer 数据库(使用 WiX 创建),并且我正在使用 dotNetInstaller 将两者结合成一个安装引导程序可执行文件.

I need to deploy a software setup targeting both, Windows 64bit and 32bit. I have two separate Windows Installer databases (created with WiX) for each platform, and I am using dotNetInstaller to combine both into a single installation bootstrapper executable.

我目前正在使用 dotNetInstaller 1.10 版并设置 auto_close_if_installed=True,因为我想对用户完全隐藏引导程序.尽管如此,dotNetInstaller 坚持在我的安装程序运行时显示一个窗口进度条,并且并没有真正自动关闭.用户需要确认一个对话框,告诉他应用程序已成功安装.但真正的问题在于它不支持 Windows 8(目前).

I'm currently using version 1.10 of dotNetInstaller and set auto_close_if_installed=True, because I want to comletely hide the bootstrapper from the user. Still, dotNetInstaller insists on displaying a sill progress bar window while my installer is running, and doesn't really auto-close. The user needs to confirm a dialog box telling him that the application was successfully installed. But the real deal-breaker is that it doesn't support Windows 8 (yet).

升级到更高版本的 dotNetInstaller 似乎会破坏 auto_close_if_installed,所以情况更糟.

Upgrading to a later version of dotNetInstaller seems to break auto_close_if_installed, so it's even worse.

所以我的问题是:在单个可执行文件中部署两个设置的当前技术水平是什么.Wix 刻录是一种选择吗?

So my question is: what is the current state of the art to deploy both setups in a single executable. Would Wix Burn be an option?

我知道,在理想的世界中,我只是为我的客户提供适用于任一平台的单独安装程序.但他们恰好完全不知道这些微妙之处,他们中的大多数人甚至不知道他们在使用什么平台.

I know that in an ideal world, I simply provide my customers with separate installers for either platform. But they happen to be completely unaware of such subtleties, most of them don't even know what platform they are using.

推荐答案

我肯定会在这种情况下使用 Burn.类似于以下内容:

I would definitely use Burn in this scenario. Something akin to the following:

<Wix>
  <Bundle...>
    <BootstrapperApplicationRef Id='WixStandardBootstrapperApplication.HyperlinkLicense' />

    <Chain>
      <MsiPackage InstallCondition='NOT VersionNT64' SourceFile='path\to\x86.msi' />
      <MsiPackage InstallCondition='VersionNT64' SourceFile='path\to\x64.msi' />
    </Chain>
  </Bundle>
 </Wix>

这正是 Burn 设计用来处理的场景之一.

This is exactly one of the scenarios Burn was designed to handle.

这篇关于如何将 64 位和 32 位 Windows Installer 程序包部署为单个设置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆