我将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; 
我认为这些都是由脚本向导创建的。现在,我的安装程序正在与一起运行PrivilegesRequired。并且所有数据文件都安装到ProgramData文件夹中。程序启动时,它将查找所有丢失的文件,并从该公共位置获取它们。
因此,唯一的问题与这两个快捷方式有关。迎合捷径的正确方法是什么?由于通常情况下,安装程序会添加快捷方式。
为所有用户添加快捷方式,不仅为正在安装应用程序的用户(admin)添加快捷方式。
使用{commondesktop}代替{userdesktop}。
使用{commonappdata}代替{userappdata}。
(尽管“快速启动”工具栏已过时)
有关替代方法,请参见Inno Setup在所有用户的所有桌面上创建单独的快捷方式。
许多安装都有“为我” /“为所有人”选项。在第一种情况下,您不需要管理员特权,并且可以使用user*常量。在后一种情况下,您需要管理员特权,并且应该使用common*常量。另请参阅仅在需要时,使Inno Setup安装程序请求特权提升。
Inno Setup 6内置了对非管理安装模式的支持。然后,您可以使用“自动” 常量,例如{autodesktop}和{autoappdata}。
| 归档时间: | 
 | 
| 查看次数: | 763 次 | 
| 最近记录: |