我有一个基于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>}
我想在卸载时删除这些(如果它们存在)将保证下一次安装将成功.虽然,我希望我找到比这更好的答案.