将菜单文件夹作为子目录启动 - Inno Setup

时间:2013-02-21 11:21:45

标签: inno-setup

我想在开始菜单中为我的程序添加一个快捷方式,如下所示:

MyAppPublisher\MyAppName\MyAppName

我的脚本中有这个:

DefaultGroupName={#MyAppPublisher}
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"

但是开始菜单文件夹始终是:

MyAppName\MyAppName

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

就像在[Icons]部分的条目的Name参数中指定此路径一样简单。您当前的脚本会创建一个类似MyAppPublisher\MyAppName的快捷方式,这个快捷方式可以满足您的需求:

#define MyAppName "MyAppName"
#define MyAppExeName "MyProg.exe"
#define MyAppPublisher "MyAppPublisher"

[Setup]
AppName={#MyAppName}
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName={#MyAppPublisher}
OutputDir=userdocs:Inno Setup Examples Output

[Files]
Source: "{#MyAppExeName}"; DestDir: "{app}"

[Icons]
; notice the full path to the created shortcut, {group} is taken from the Select
; Start Menu Folder page edit box (if shown), which is by default taken from the
; DefaultGroupName directive value; this start menu folder path is then followed
; by the tail of the shortcut path
Name: "{group}\{#MyAppName}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"

答案 1 :(得分:2)

如果您希望该组位于子文件夹中,则需要指定子文件夹。

执行此操作的最佳方法是将其附加到DefaultGroupName指令的末尾,该指令将在设置向导中显示正确的信息,并允许用户将其更改为单个文件夹或完全位于其他位置。他们希望。

DefaultGroupName={#MyAppPublisher}\{#MyAppName}

请注意,Windows 8中的“开始”菜单不是heirachical,因此无论如何都不会看到任何嵌套。

答案 2 :(得分:0)

找到它,我在问题中建议的脚本是正确的,由于某种原因我需要为脚本生成一个新的GUID才能使更改生效