我有一个基于MSI的安装包。 MSI通过组策略部署,并在部署时应用了MST(转换)。
我现在正尝试在以前通过组策略部署软件的计算机上安装相同的MSI。通过添加/删除程序卸载该软件,并通过双击MSI文件尝试重新安装该软件。
但是,执行此操作会导致以下Windows Installer错误:
Error applying transforms. Verify that the specified transform paths are valid.
我必须假设这是因为有问题的计算机受到基于组策略的MSI部署的限制,因此有一些注册表项可以告诉它应用不存在的MST文件。
有没有办法阻止这种情况(可能通过某些命令行切换),除了从问题中的组策略中删除此机器?
答案 0 :(得分:4)
问题是如何防止此错误发生。如果MSI不支持更新但客户端想要安装最新版本,则必须进入注册表项以删除导致此问题的密钥。
我很想在卸载程序中添加自定义操作来检测这些特定的密钥,以防止下一次安装失败。
导致不存在的转换运行的键是:
HKEY_CLASSES_ROOT\Installer\Products\<product_code>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group
Policy\AppMgmt\{<product_code>}
我认为在卸载时删除这些(如果存在)将保证下一次安装成功。虽然,我希望我找到比这更好的答案。
答案 1 :(得分:0)
对我来说有用的是将每个地区和语言设置都改为英语/美国。显然,这种转换是依赖于语言的,我的窗口有一些葡萄牙语的设置。
答案 2 :(得分:0)