使用Inno Setup创建一个允许任何用户卸载应用程序的安装程序

时间:2015-12-03 12:00:49

标签: inno-setup

因此情况如此:我们使用Inno Setup创建安装程序。该软件将由管理员安装(例如,在将计算机提供给用户之前设置该计算机),但我们希望普通用户能够卸载/更新安装(没有管理员权限)。调整安装文件的权限并在安装后运行icacls.exe以授予所有用户访问卸载程序可执行文件的权限,这让我几乎达到了目标。

唯一缺少的是,如果管理员安装程序,则在控制面板 - >中不可见。卸载程序 - 其他用户列表。 (非管理员)用户必须知道在哪里找到uninst000.exe并运行它。

如何制作Inno Setup安装脚本,以便任何用户(有或没有管理员权限)可以通过控制面板卸载程序?

1 个答案:

答案 0 :(得分:0)

您可以使用PrivilegesRequired=none

它与PrivilegesRequired=lowest类似,不同之处在于它会尝试编写非用户区域。这尤其意味着它会将卸载密钥写入HKLM。

请注意none值不再正式记录:

另一个选择是您自己在HKLM中创建卸载密钥。使用{uninstallexe}常量来解析安装程序的路径。

虽然这只会将卸载程序密钥添加到HKLM。但是,只要安装程序以管理员权限运行,卸载程序仍将需要管理员权限。这是内置于卸载程序中的,无论如何都无法配置。

这是有道理的,否则卸载程序无法从HKLM中删除其卸载程序密钥。

无论如何,如果你真的需要破解它,你可以从uninsxxx.dat删除一个标志,指示安装程序是以管理员权限运行的。

相关问题