在 wix 安装程序中禁用修复模式和升级 [英] Disable repair mode and upgrades in wix installer

查看:35
本文介绍了在 wix 安装程序中禁用修复模式和升级的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们对使用 wix 创建 msi 有一个独特的要求,问题是 msi 必须支持多实例安装.用户应该能够在特定系统上多次使用 msi 安装产品,因此为了实现这一点,我们应该禁用 msi 中的修复模式和升级,因此实际上每次调用 msi 都应视为全新安装.

We have a unique requirement to create an msi using wix,the catch is that the msi must support multiple instance installation. User should be able to use the msi to install the product more than once on a particular system, so in order to achieve this we should disable repair mode and upgrades in msi, so literally each invocation of msi should be treated as fresh install.

上述要求在技术上对 Wix 是否可行?我知道每次调用 msi 都具有唯一的产品代码和包代码会将安装视为全新安装.这可以使用围绕 msi 的包装器来实现吗?

Is the above requirement technically feasible with Wix? I am aware that having unique product code and package code for every invocation of msi will treat the installation as fresh install. Can this be achieved using a wrapper around the msi?

推荐答案

在送你到 MSI SDK 之前,我应该补充一点,我自己不喜欢这个实例转换概念,并且没有在实践中使用它.说不定我已经变成了脾气暴躁的老头了!:-).

Before sending you to the MSI SDK I should add that I dislike this instance transform concept myself, and have not used it in practice. It might be that I have become a grumpy old man! :-).

MSINEWINSTANCE:请调查 MSINEWINSTANCE 属性 并阅读 MSI SDK 主题:安装多个产品和补丁实例".而这里也许是一个更好的例子 - 更多以实践为导向.

MSINEWINSTANCE: Please investigate the MSINEWINSTANCE property and read up on the MSI SDK topic: "Installing Multiple Instances of Products and Patches". And here is perhaps a better example - more practically oriented.

还有关于原因的一些背景我不太热衷于这个功能.Carolyn Napier 在最初的 MSI 团队中 - 正如他们所说,这是直接从马嘴里说出来的.

Also some context on why I am not too keen on this feature. Carolyn Napier was on the original MSI team - this is straight from the horse's mouth as they say.

我知道有些人声称通过这些实例转换取得了成功(Chris Painter 可能能够在这里阐明我的主张),但我更愿意在此类场景中进行虚拟化.请参阅 serverfault.com 上的这篇古老帖子:我想安装MSI 两次(也请浏览该线程"中的所有其他答案).

I know some people claim success with these instance transforms (Chris Painter might be able to illuminate my claims here), but I'd rather virtualize in scenarios such as these. Please see this age-old post from serverfault.com: I want to install an MSI twice (please skim all the other answers in that "thread" too).

APP-V:我几乎为零 App-V 经验,但我猜这就是您应该尝试说服您的经理花一些时间进行调查的原因.也许请人帮忙,并与当前部署中的工作人员交谈.他们总是有当前普遍存在的偏见来报道 - 使用使事情在现实世界中发挥作用的技巧.

APP-V: I have almost zero App-V experience, but my guess is that this is what you should try to convince your manager to spend some time on investigating. Maybe call in some favors and talk to guys who are operative in current deployment. They always have the current prevailing prejudice to report - with the tricks that make things work in the real world.

如果您能告诉我们您最终是如何解决问题的,那就太好了.

禁用修复和修改:记录:禁用修复和修改(仅限按钮) 可以通过设置ARPNOMODIFYARPNOREPAIR 属性.但这不是您要寻找的允许多个实例安装的方法.MSI 不容易被愚弄,并且知道您安装了什么以及何时安装 - 没有理由浪费时间测试这些选项".所有这两个属性的作用都是隐藏或禁用修改和修复按钮 - 除此之外不会产生任何你需要的.

Disable Repair & Modify: And for the record: disabling repair and modify (buttons only) can be done by setting the ARPNOMODIFY and ARPNOREPAIR properties. But this is not what you are looking for to allow multiple instance installations. MSI is not easily fooled and knows what you have installed and when - no reason to waste time testing these "options". All these two properties do is to hide or disable the modify and repair buttons - yields nothing you need apart from that.

这篇关于在 wix 安装程序中禁用修复模式和升级的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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