Inno设置"所有用户"不变

时间:2013-07-09 12:45:44

标签: constants inno-setup

什么是“所有用户”常量?我需要在这个目录中创建一些快捷方式: “C:\ Users \ All Users \ Microsoft \ Windows \ GameExplorer”

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

你应该使用appropriate API calls来做到这一点。请参阅Using DLLs帮助主题,了解如何从Inno [Code]内调用API。

答案 1 :(得分:1)

在所有用户文件夹的inno设置中没有特殊常量,{group}和一些内容引用所有用户配置文件但不是所有用户文件夹,因此您可以使用以下方法来满足您的需求。

[Tasks]
Name: "Myicon"; Description: "Create an icon in Games explorer"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked


[Icons]
Name: "{%ABCDEFA|C:\Users\All Users\Microsoft\Windows\GameExplorer}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" ; Tasks:Myicon 

将这些行添加到您的脚本中。这将在“C:\ Users \ All Users \ Microsoft \ Windows \ GameExplorer”中创建图标..您可以随时随地创建图标。

这可以在其他一个创新设施

的帮助下完成

{%NAME | DefaultValue}嵌入环境变量的值。

•NAME指定要使用的环境变量的名称。

•如果用户系统上不存在指定的变量,则DefaultValue确定要嵌入的字符串。 •如果要在常量内包含逗号,竖线(“|”)或右括号(“}”),则必须通过“%-encoding”对其进行转义。将字符替换为“%”字符,后跟其两位十六进制代码。逗号为“%2c”,垂直条为“%7c”,右括号为“%7d”。如果要包含实际的“%”字符,请使用“%25”。

•NAME和DefaultValue可能包含常量。请注意,您不需要如上所述转义常量的右括号;只有在其他地方使用右括号时才需要。

示例:

{%COMSPEC} 
{%PROMPT|$P$G}

如果你想要,你可以使用这个简单的测试脚本。我对此进行了测试并且对我来说很好。

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{E17175FC-0DF4-4B56-B50D-40D83EA8E19E}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "Myicon"; Description: "Create an icon in Games explorer"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{%ABCDEFA|C:\Users\All Users\Microsoft\Windows\GameExplorer}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" ; Tasks:Myicon 

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
相关问题