msi 安装程序不会提示用户升级

发布于 2024-11-05 14:21:19 字数 335 浏览 3 评论 0原文

我有一个简单的 msi 安装程序 setup.exe (通过 VS2010 创建)。在第一次安装中一切正常,问题出在第二次安装中: 1.msi设置为: a.RemovePreviousVersions 设置为 TRUE。 2.我升级了安装版本(第二次安装)号,然后按确定 当我询问是否要升级产品代码时。

此时我重新编译了msi并双击setup.exe。 问题: 我希望安装程序会检测到已经安装了以前的版本 并询问我是否要删除\升级它。 发生的情况是,安装程序会自动将已安装的产品升级到新版本,而不询问任何内容...

有什么方法可以配置 msi 项目,以便它提示“升级\删除”屏幕???

非常感谢..

I have a simple msi installer setup.exe (created via VS2010).In the first installation everything is OK,The problem is in the second installation :
1.The msi settings are :
a.RemovePreviousVersions is set to TRUE.
2.I upgraded the setup version(for the second installation) number and then pressed OK
when i asked if i want to upgrade the product code.

At this point i recompiled the msi and double clicked on setup.exe.
The problem:
I expect that the installer will detect that there is already previous version installed
and ask me if i want to remove\upgrade it.
what happens is that the installer automatically upgrades the installed product to the new version without asking anything...

Is there any way to configure the msi project in order for it to prompt the "Upgrade\Remove" screen ????

Many thanks..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

山人契 2024-11-12 14:21:19

我没有使用过 VS 安装程序,但它有严重限制。从技术上讲,您的升级包必须具有

  1. 新的产品代码
  2. 与之前的产品相同的升级代码

您还需要按正确的顺序将 FindRelatedProducts 和 RemoveExistingProducts 添加到 InstallE 表中。您可以在其上添加一些 MSI 图形用户界面,但这意味着您必须使用 Orca 编辑器手动编辑 msi。更简单的方法可能是使用 Wix 工具包,您可以更自由地使用。
您的问题已经得到解答 那里

I have not used the VS Installer but it is severly limited. Technically your upgrade package must have

  1. A new Product Code
  2. The same Upgrade Code as your previous product

You need also add the FindRelatedProducts and RemoveExistingProducts into the InstallE table in proper order. You can add some MSI guis on top of it but this would mean that you will have to edit the msi by hand with the Orca Editor. A simpler approach might be to use the Wix toolkit where you have more freedom.
The question you have has already been answered there.

A君 2024-11-12 14:21:19

我发现这篇文章非常有帮助。尤其:

•如果新的 MSI 文件具有相同的
ProductCode 和 PackageCode 作为
已安装的产品,
Windows 指示您必须修复
或删除该产品

在此处输入图像描述

删除会卸载该产品,但是
修复可能会更加混乱。

修复不使用您的新 MSI 文件
修理产品,也不
更新您之前安装的内容。
相反,它修复了现有的
安装的产品。也就是说,它的行为
就像你去了原来的MSI一样
用于安装现有的文件
产品,选择上下文菜单,
并选择了修复。 (注:修复可
也可以从添加/删除启动
程序。)

•如果新的 MSI 文件具有相同的
作为已安装产品的产品代码
但不同的 PackageCode,你会
收到一条消息,表明
该产品的另一个版本是
已经安装。

I found this article very helpful. In particular:

•If the new MSI file has the same
ProductCode and PackageCode as a
product that’s already installed,
Windows indicates that you must repair
or remove the product

enter image description here

Remove uninstalls the product, but
repair can be more confusing.

Repair does not use your new MSI file
to repair the product, nor does it
update what you previously installed.
Instead, it repairs the existing
installed product. That is, it behaves
as if you went to the original MSI
file used to install the existing
product, selected the context menu,
and chose repair. (Note: Repair can
also be initiated from Add/Remove
programs.)

•If the new MSI file has the same
ProductCode as an installed product
but a different PackageCode, you’ll
receive a message indicating that
another version of the product is
already installed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文