从高架的Inno Setup安装程序的用户开始菜单中创建快捷方式
问题描述:
在其一生中,MyApp的创建额外的快捷键Userappdata,从高架的Inno Setup安装程序的用户开始菜单中创建快捷方式
MyAppGroupName\MyAppShortcut#2
MyAppGroupName\MyAppShortcut#3
...
但作为Inno Setup的需要,因为注册表协会海拔编辑原{集团}产品插在不同的(commonstartmenu)目录:
MyAppGroupName\MyAppShortcutAtInstallation
很高兴与{集团}味道安装这样
DisableProgramGroupPage=yes
在这个阶段是不可选的。在其他人在创建路径的DIR像
{Userappdata}\MyAppGroupName
没有出现在当前脚本的功能:
...
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
ChangesAssociations = yes
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
; (Note: Scroll to the right to see the full lines!)
Source: "Test.exe"; DestDir: "{app}"; Flags: ignoreversion
[Icons]
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
[Registry]
Root: HKCU; Subkey: "Software\Auth/MyApp"; Flags: uninsdeletekey
Root: HKCU; Subkey: "Software\Auth\MyApp"; ValueType: string; ValueName: "Name"; ValueData: "{app}";
;Association
Root: HKCR; Subkey: ".XXX";ValueData: "{#MyAppName}";Flags: uninsdeletevalue; ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#MyAppName}";ValueData: "Program {#MyAppName}"; Flags: uninsdeletekey; ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#MyAppName}\DefaultIcon";ValueData: "{app}\{#MyAppExeName},0";ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#MyAppName}\shell\open\command";ValueData: """{app}\{#MyAppExeName}"" ""%1""";ValueType: string;ValueName: ""
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: en; MessagesFile: "compiler:Default.isl"
Name: deu; MessagesFile: "compiler:Languages\German.isl"
Name: es; MessagesFile: "compiler:Languages\Spanish.isl"
[Dirs]
Name: "{userstartmenu}\{userstartmenu}\{#MyAppName}"
[UninstallDelete]
Type: files; Name: "{#MyAppName}.chw"
是否有任何已知的指向{集团}到{Userappdata的方法}在高架场景?或任何其他助手,例如here?
答
如果我理解你的问题正确的您正在寻找的{userprograms}
和{groupname}
组合:
[Icons]
Name: "{userprograms}\{groupname}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
虽然注意:
- 你的做法是在一般的缺陷。安装程序不应同时要求提升和修改特定用户的环境。高程可以更改用户上下文(例如,如果管理员帐户与常规用户帐户不同)。所以你不知道,如果“用户”是合适的用户。
- 在“开始”菜单中使用组与Windows 8和更新版本的Windows准则不符。
谢谢,这工作。 –
“在开始菜单中使用组与Windows指导原则相反”:足够公平,但在该目录中包含诸如“Windows Power Shell”,“Windows System”,“轻松访问”,“HTML Help Workshop” 。旧的习惯似乎很难死! –
“安装程序不应该都需要提升和修改特定用户的环境”:当然是。那么唯一的选择就是从_MyApp_执行应用扩展关联。可惜,因为_MyApp_是第一次运行的RunasAdmin,并且在安装/启动时出现** 2个管理提示并不是一个好看! –