我正在尝试安装一些来自 Microsoft 的 MSI 文件项目,例如 SQLTypeCLRs.msi 和用于 SQL Server 的 SharedComponents.msi。当我尝试安装这些时,我收到错误 2502 和 2503,它会因调用运行时错误而失败。如果我在管理员模式下打开命令提示符,然后从该命令行启动 MSI,那么它将以管理员身份运行。几乎就好像它没有尝试访问 UAC。而且您不能右键单击并单击文件上的“以管理员身份运行”。有没有办法解决这个问题,所以它以管理员身份运行 MSI,这样我就不会不断收到这些错误?我在我的 2 个 Windows Server 2016 盒子上得到了这个。
我只是在尝试安装以 MSI 而不是 EXE 的形式出现的新软件。
错误 2503。未标记为进行中时调用 RunScript。
错误 2502.Called InstallFinalize 当没有安装正在进行时。
我怀疑您的 MSI 没有正确设置字数摘要属性。它必须设置为 3 才能请求 UAC 的提升。(那里的信息)
使用Windows SDK 中的工具MSIInfo(带 -w 标志),我们可以读取 msi 信息以查看是否是这种情况,我认为它也可以修改它。我不熟悉该工具的使用。
ORCA 的工具也可用于正确设置位。
从那个答案可以看出,并且只引用了重要的细节;
找到了解决此问题的 ShellExecuteEx 问题的答案。
域控制器上的域管理员 UAC 权限