Windows 10 中 'Apps & features' 的解决方法启动提升的单用户卸载程序

Workaround for 'Apps & features' in Windows 10 starting a single-user uninstaller elevated

当用户尝试卸载他们自己的单用户安装时(例如使用 lowestprivileges noneHKCU 条目 安装)在控制面板中使用'Add/Remove Programs',一切正常(即非管理员用户可以卸载自己的非管理员安装)。

然而,当用户从 'Apps & features' (Windows 10).

启动它时,卸载程序将被提升

这似乎是一个已知的 Windows 10 错误:
How to prevent uninstaller elevating for Standard Windows 10 user?

当 Inno Setup 卸载程序从 'Apps & features' 启动时,是否有解决此问题的方法? Link 这个 NSIS Workaround for Windows uninstaller elevation bug.

你必须完全按照 that NSIS hack 的方式去做。

  1. 找出什么是 Windows GUI 用户(并假设您应该以该用户身份卸载)。或者,您可以将用户名存储到安装文件夹中的某个文件中。

  2. 以该用户身份重新执行安装程序。该 hack 使用 StdUtils NSIS plug-in 及其 ExecShellAsUser 函数。也许可以从 Inno Setup 使用 DLL。如果没有,你至少可以重用它的代码。

在我看来,所有这些都是一个问题要问的。如果您有具体问题,请考虑提出更具体的问题。


更简单的替代方法是在以不同用户身份执行时阻止卸载,并向用户显示转至控制面板的建议。

对于类似的问题,请参阅 Uninstaller trouble with standard Windows user