dynamicselect每个用户和每台机器的安装

我正在使用Inno安装程序来部署应用程序。

对于大多数情况下,不需要pipe理员权限的每用户安装都可以。 但是,有些情况下我需要为所有用户安装应用程序,例如Citrix或TSE。

不幸的是,在每个用户和每台机器之间dynamicselect似乎是不可能的。 这取决于在编译时设置的PrivilegesRequired设置。

我最近的解决方法尝试几乎让我在那里。 基本上我有一个设置PrivilegesRequired设置为lowest ,如果我需要安装所有用户,我重新启动与pipe理员权限的设置。 这工作, 卸载信息仍写入到HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE

我的问题: – 是否有一种方法来实现双用户/每机安装与Inno安装程序? (不生成两个不同的安装程序) – 如果不是,有没有办法写入卸载信息HKEY_LOCAL_MACHINEPrivilegesRequired设置为lowest

编辑: 这个问题接受的答案不适用于我的情况。 我只想要在命令行上传递一个特定的参数( /AllUsers )时才请求UAC提升。 没有这个参数,即使用户是pipe理员,UAC提示也不应该出现。 而TLama的答案与我目前的方法有同样的问题。