关于创建(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文件夹中。程序启动时,它将查找所有丢失的文件,并从该公共位置获取它们。
因此,唯一的问题与这两个快捷方式有关。迎合捷径的正确方法是什么?由于通常情况下,安装程序会添加快捷方式。
inno-setup ×2