Inno setup Inno安装程序-为什么要修改exe属性以要求管理员权限和XP兼容模式

Inno setup Inno安装程序-为什么要修改exe属性以要求管理员权限和XP兼容模式,inno-setup,Inno Setup,使用Inno构建的安装工具包安装两个EXE文件。安装后,一个文件只需要普通用户权限。第二个文件标记了需要管理员权限和XP兼容模式的属性 原始EXE文件没有设置任何可见属性,这些属性需要管理员权限或XP兼容模式,并且在Windows 7设备上以正常用户模式正常运行。第二个文件最初是在XP系统上编译的,但当我将它(没有安装程序)复制到Windows 7系统时,它似乎运行正常 当安装程序脚本指定“PrivilegesRequired=none”时,我仍然会得到一个带有“Admin Privilege

使用Inno构建的安装工具包安装两个EXE文件。安装后,一个文件只需要普通用户权限。第二个文件标记了需要管理员权限和XP兼容模式的属性

原始EXE文件没有设置任何可见属性,这些属性需要管理员权限或XP兼容模式,并且在Windows 7设备上以正常用户模式正常运行。第二个文件最初是在XP系统上编译的,但当我将它(没有安装程序)复制到Windows 7系统时,它似乎运行正常

当安装程序脚本指定“PrivilegesRequired=none”时,我仍然会得到一个带有“Admin Privilege Required”标记的修改图标,并将已安装的EXE文件的文件属性设置为“disable visual themes”

Inno版本是5.5.0(a)

如何让安装程序复制EXE文件而不更改其属性

#define InstallRoot "D:\InstallationSource\Tracker\"
#define AppRoot "C:\Tracker\"
......

[Setup]
;directories
SourceDir={#InstallRoot}
DefaultDirName={#AppRoot}
.......

[Files]
Source: "*"; DestDir: "C:\Tracker\"; Flags: recursesubdirs

Inno不会更改这些属性。它们是根据.exe文件的文件名按每个用户设置的,而不管它在哪个目录中。因此,如果您选择的.exe文件名过于通用(如“setup.exe”或“app.exe”),则可能是从其他应用程序获取兼容性设置

如果您的安装程序名是通用的(同样是“setup.exe”),那么Windows可能会试图通过将其继承的兼容性设置复制到其安装的任何应用程序来提供“帮助”


无论哪种方式,请选择唯一的文件名。

您的[Files]部分外观如何?#定义InstallRoot“D:\InstallationSource\Tracker\”#定义AppRoot“C:\Tracker\”。。。。[设置];目录SourceDir={#InstallRoot}DefaultDirName={#approt}。。。。。。。[文件]来源:“*”;DestDir:“C:\Tracker\”;标志:recursesubdirsdont在评论中发布,编辑您的问题并包含信息!完成。谢谢你的提示。可执行文件位于主应用程序目录下的“bin”子目录中。包含的文件名是什么。正如米拉尔在回复中所说,这可能与文件名有关。