关于快捷方式和管理员v用户的Inno Setup 5.6.0警告

时间:2018-06-13 08:51:53

标签: inno-setup

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

  

警告:[设置]部分指令" PrivilegesRequired"被设置为   "管理"但每个用户区域(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; 

我想"回到当天"这些是由脚本向导创建的。现在,我的安装程序与PrivilegesRequired一起运行。并且所有数据文件都安装到ProgramData文件夹。当程序启动时,它会查找任何丢失的文件并从这个公共位置获取它们。

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

1 个答案:

答案 0 :(得分:5)

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

  • 使用{commondesktop}代替{userdesktop}

  • 使用{commonappdata}代替{userappdata} (虽然"快速启动"工具栏是一个过时的功能)

有关替代方法,请参阅Inno Setup Create individual shortcuts on all desktops of all users

许多装置对我来说都是" /"对于所有"选项。在第一种情况下,您不需要管理员权限,您可以使用user*常量。在后一种情况下,您需要管理员权限,您应该使用common*常量。另请参阅Make Inno Setup installer request privileges elevation only when needed

Inno Setup 6内置了对non-administrative install mode的支持。然后,您可以使用" Auto" constants,例如{autodesktop}{autoappdata}