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

查看:15
本文介绍了如何将 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 Burn 会是一种选择吗?

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	ox86.msi' />
      <MsiPackage InstallCondition='VersionNT64' SourceFile='path	ox64.msi' />
    </Chain>
  </Bundle>
 </Wix>

这正是 Burn 旨在处理的场景之一.

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

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

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