2017-06-13 52 views
1

在其一生中,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

回答

1

如果我理解你的問題正確的您正在尋找的{userprograms}{groupname}組合:

[Icons] 
Name: "{userprograms}\{groupname}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" 

雖然注意:

  • 你的做法是在一般的缺陷。安裝程序不應同時要求提升和修改特定用戶的環境。高程可以更改用戶上下文(例如,如果管理員帳戶與常規用戶帳戶不同)。所以你不知道,如果「用戶」是合適的用戶。
  • 在「開始」菜單中使用組與Windows 8和更新版本的Windows準則不符。
+0

謝謝,這工作。 –

+0

「在開始菜單中使用組與Windows指導原則相反」:足夠公平,但在該目錄中包含諸如「Windows Power Shell」,「Windows System」,「輕鬆訪問」,「HTML Help Workshop」 。舊的習慣似乎很難死! –

+0

「安裝程序不應該都需要提升和修改特定用戶的環境」:當然是。那麼唯一的選擇就是從_MyApp_執行應用擴展關聯。可惜,因爲_MyApp_是第一次運行的RunasAdmin,並且在安裝/啓動時出現** 2個管理提示並不是一個好看! –

相關問題