我在 Installshield 2012 中使用基本 MSI 创建了安装。
我正在使用链式 MSI 技术(在 Windows 安装程序 4.5 及更高版本中受支持)。
我的安装结构包含一个 Main-MSI(在 Setup.exe 中)和几个较小的 MSI 包,它们链接到主 MSI。
在 XP 上,它就像一个魅力。我可以很好地安装它,当我想卸载它时,我只需选择卸载 Main-MSI,它会自动删除所有链接的 MSI。
但是,在 Vista 和 Windows 7 上,我在卸载时遇到了用户权限问题。
当我选择卸载主 MSI 时,它只是在没有进一步通知的情况下被击落。检查 MSI 日志文件,当它尝试卸载第一个链接的 MSI 时,我可以看到以下内容:
错误 1730。您必须是管理员才能删除此应用程序。要删除此应用程序,您可以以管理员身份登录,或联系您的技术支持小组寻求帮助。
我想,由于调用链接 MSI 上的卸载字符串的是 Main-MSI,因此提升权限不会发生这种情况(即使我已将 Setup.exe 设置为需要管理员权限 - 这也是一项要求) .
所以我现在的问题是 - 有什么办法可以解决这个问题 - InstallShield 的隐藏角落中是否有一些标志需要设置才能使其正常工作?
现在的临时解决方法是手动卸载每个链接的 MSI 包,然后最后卸载主 MSI,但这不是一个可靠的解决方案。禁用 UAC 也不是一种选择。
我希望你能帮忙,因为我完全迷失在这个问题上,而且我的谷歌搜索已经产生了任何有用的东西。