为什么我的Delphi 6程序仅在less数Windows 7系统(InnoSetup)上安装时触发pipe理权限请求?

我有一个Delphi 6程序,对于大多数用户在没有pipe理员权限的情况下在用户帐户下运行时安装得很好。 但是,在某些系统上,它会触发对pipe理权限的请求。 不幸的是,我不是其中之一,所以我很难诊断这个问题。 我使用InnoSetup 5.1.9来构build我的安装程序。

我怎样才能找出我需要改变我的安装程序的configuration,以消除对某些人的系统的pipe理权限的需要? 这对我的系统造成了麻烦,因为在安装过程中,某些程序数据文件正被复制到pipe理员帐户的应用程序数据文件夹中。 然后,当我的程序在用户帐户下启动时,由于这些文件不在用户帐户应用程序文件夹中,因此无法find这些文件。

Solutions Collecting From Web of "为什么我的Delphi 6程序仅在less数Windows 7系统(InnoSetup)上安装时触发pipe理权限请求?"

这是由于默认的PrivilegesRequired指令值,这是默认配置为需要管理员提升。 如果你不需要这个,只需改变你的InnoSetup脚本,明确指出这个指令的值是这样的:

 [Script] PrivilegesRequired=lowest 

从参考:

PrivilegesRequired设置为最低时 ,安装程序将不会请求运行管理权限,即使它是由Administrators组的成员启动的。 此外,卸载信息根密钥始终为HKEY_CURRENT_USER,即使管理权限可用,Shell文件夹常量的“常见”形式也会映射到“用户”表单。