Inno Setup 5.6.0有关快捷方式和admin v用户的警告

And*_*kle 5 inno-setup

我将Inno Setup升级到5.6.0,现在编译时得到警告:

警告:[Setup]节指令“ PrivilegesRequired”设置为“ admin”,但脚本使用了每个用户区域(HKCU,userappdata,userdesktop)。无论Windows的版本如何,如果安装是管理性的,则应谨慎进行每个用户区域的更改:此类更改可能无法实现您的预​​期。有关更多信息,请参见帮助文件。

我明白这是在说什么。在本[icons]节中,我有:

Name: "{userdesktop}\Meeting Schedule Assistant"; \
      Filename: {app}\MeetSchedAssist.exe; \
      Tasks: desktopicon; 

Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Meeting Schedule Assistant"; \
      Filename: {app}\MeetSchedAssist.exe; \
      MinVersion: 4,4; \
      Tasks: quicklaunchicon; 
Run Code Online (Sandbox Code Playgroud)

我认为这些都是由脚本向导创建的。现在,我的安装程序正在与一起运行PrivilegesRequired。并且所有数据文件都安装到ProgramData文件夹中。程序启动时,它将查找所有丢失的文件,并从该公共位置获取它们。

因此,唯一的问题与这两个快捷方式有关。迎合捷径的正确方法是什么?由于通常情况下,安装程序会添加快捷方式。

Mar*_*ryl 5

为所有用户添加快捷方式,不仅为正在安装应用程序的用户(admin)添加快捷方式。


有关替代方法,请参见Inno Setup在所有用户的所有桌面上创建单独的快捷方式


许多安装都有“为我” /“为所有人”选项。在第一种情况下,您不需要管理员特权,并且可以使用user*常量。在后一种情况下,您需要管理员特权,并且应该使用common*常量。另请参阅仅在需要时,使Inno Setup安装程序请求特权提升

Inno Setup 6内置了对非管理安装模式的支持。然后,您可以使用“自动” 常量,例如{autodesktop}{autoappdata}