windows-installer - 为 MSI 应用转换时出错

标签 windows-installer

我有一个基于 MSI 的安装包。作为该部署的一部分,MSI 通过组策略部署并应用了 MST(转换)。

我现在试图在以前通过组策略部署了软件的机器上安装相同的 MSI。通过添加/删除程序卸载了该软件,并通过双击 MSI 文件尝试重新安装该软件。

但是,这样做会导致以下 Windows Installer 错误:

Error applying transforms. Verify that the specified transform paths are valid.

我必须假设这是因为有问题的机器受基于组策略的 MSI 部署的约束,因此有一些注册表项告诉它应用不存在的 MST 文件。

除了从问题中的组策略中删除这台机器之外,有没有办法防止这种情况(也许通过一些命令行开关)?

最佳答案

问题是如何防止这种错误发生。如果 MSI 不支持更新但客户端想要安装最新版本,则他们必须进入注册表项以删除导致此问题的项。

我很想在卸载程序中添加一个自定义操作来检测这些特定的键,以防止下一次安装失败。

导致不存在的转换运行的键是:

HKEY_CLASSES_ROOT\Installer\Products\<product_code>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group
Policy\AppMgmt\{<product_code>}

我想在卸载时删除这些(如果它们存在)将保证下次安装会成功。不过,我希望我能找到比这更好的答案。

关于windows-installer - 为 MSI 应用转换时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938820/

相关文章:

properties - 如何在 WiX 中使用 SourceDir MSI 属性?

.net - 如何使用命令行实用程序编辑 exe 的资源(文件描述、图标等)?

Wix 条件 Web 应用程序扩展

wix - WIX 中的条件属性失败导致整个 MSI 作业失败

c++ - IntelliSense 引擎无法正常运行的错误太多

c# - 编辑 msi 数据库表

.net - 创建静默安装程序

wix - 当应用程序以不同用户身份启动时安装程序运行

wix - 如果回滚自定义操作失败会发生什么情况?