我有一个基于 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/