如何从每个用户更改为所有用户安装?

时间:2013-03-27 06:07:01

标签: wix migration windows-installer wix3.5 major-upgrade

对于我们的msi,我们在现有版本中没有提到allusers属性。因此,默认情况下,它按用户进行。

我们的客户使用管理员用户ID安装了该应用程序,该管理员离开了该公司。所以他的用户ID不再有效。

现在,他们无法使用其他管理员帐户迁移到更新版本(因为它是按用户安装的)。

虽然我们可以更改我们的msi以支持allusers,但它不适用于迁移(主要升级)。

似乎只有当我们提供不支持现有版本的全新版本时,我们才能解决问题。

还有其他任何解决方法,即使之前的msi是每个用户,它现在应该进行重大升级吗?

我们正在使用WIX 3.5进行安装。

1 个答案:

答案 0 :(得分:3)

不幸的是,Windows安装程序不支持跨上下文升级"#34;。正如您发现每台计算机程序包无法升级每用户程序包而每个用户程序包无法升级每台计算机程序包。

您可以编写一个可执行文件来查找旧的.msi并使用::MsiEnumRelatedProducts()等API来卸载它们以查找产品,然后::MsiConfigureProduct()删除它们。但是,如果没有用户帐户,我不确定您是否能够看到按用户安装的产品。