inno setup 在win7下的开始菜单和桌面快捷方式问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了inno setup 在win7下的开始菜单和桌面快捷方式问题相关的知识,希望对你有一定的参考价值。

我使用inno setup,用向导模式制作了一个安装包
刚开始默认的代码,可以在开始-全部程序 中建立程序的文件夹(startmenu/programs/XXXXXX),但是不会建立桌面快捷方式
我想使用程序文件夹里自定的图标,所以加入了图标代码
[Icons]
Name: "group\#MyAppName"; Filename: "app\#MyAppExeName";WorkingDir: app;IconFilename:"app\LP+.ico";
Name: "group\cm:UninstallProgram,#MyAppName"; Filename: "uninstallexe";WorkingDir: app
Name: "commondesktop\#MyAppName"; Filename: "app\#MyAppExeName";WorkingDir: app;IconFilename:"app\LP+.ico";Comment:"一键运行LP+";Tasks: desktopicon
Name: "userappdata\Microsoft\Internet Explorer\Quick Launch\#MyAppName"; Filename: "app\#MyAppExeName"; Tasks: quicklaunchicon;IconFilename:"app\LP+.ico";Comment:"一键运行LP+"

结果程序的快捷方式跑到了开始的启动栏里,“全部程序”里没有程序的文件夹(但是确确实实已经建立在startmenu/programs/XXXXXX里了,但是就是不显示在“全部程序”里)

把图标代码删了也不行,但是在XP下就没问题
问:
1.怎么解决开始菜单混乱的问题
2.怎么解决桌面快捷方式的问题
刚才我重启了一下电脑,“全部程序”里的程序文件夹就出现了,但是卸载后再装就不行了

[Tasks]
Name: "desktopicon"; Description: "cm:CreateDesktopIcon"; GroupDescription: "cm:AdditionalIcons"; OnlyBelowVersion: 0,8.1
Name: "quicklaunchicon"; Description: "cm:CreateQuickLaunchIcon"; GroupDescription: "cm:AdditionalIcons";

[Icons]
Name: "group\#MyAppName"; Filename: "app\#MyAppExeName"
Name: "commondesktop\#MyAppName"; Filename: "app\#MyAppExeName"; Tasks: desktopicon
Name: "userappdata\Microsoft\Internet Explorer\Quick Launch\#MyAppName"; Filename: "app\#MyAppExeName"; Tasks: quicklaunchicon
Name: "group\修改服务器IP"; Filename: "app\ip.exe";
Name: "group\cm:UninstallProgram,#MyAppName"; Filename: "uninstallexe"

注意一下这两个段落。
参考技术A 先卸载了,重新安装一下

Inno Setup 为程序创建桌面快捷方式

Inno Setup5适用:编译之前,[icons] 处添加下面一行:

Name: "userdesktop\\#MyAppName";Filename: "app\\#MyAppExeName"; WorkingDir: "app"

这样打包的安装程序,就能生成桌面快捷方式。

以下是详细的说明:

Icons这一可选段定义所有创建在开始菜单和\\或其它位置 (比如桌面) 的快捷方式。一个例子如下:

[setup]

;全局设置,本段必须

AppName=Test

AppVerName=TEST

DefaultDirName="E:\\TEST"

AppVersion=1.0

[files]

Source: "F:\\desktop\\ipmsg.exe"; DestDir: "app"

[icons]

Name: "userdesktop\\飞鸽传书";Filename: "app\\ipmsg.EXE"; WorkingDir: "app"

注意Icons段中的一些选项:

Name:要创建的快捷方式的名字和位置,上例中将会在当前用户的桌面创建一个名为“飞鸽传书”快捷图标,该选项是是必须的。

FileName:快捷方式的命令行文件名,即快捷方式指向的实际可执行文件,这里是ipmsg.exe文件,该项为必须的。

Parameters:快捷方式的可选命令行参数,如果编写的是一个命令行方式的可执行文件,额可以通过该选项传递参数,一般的可执行文件都不需要该选项。

WorkingDir:快捷方式的工作 (或启动) 目录,就是指示程序在哪个目录开始运行。

HotKey:快捷方式的热键 (或快捷键) 设置,就是可以用于启动程序的组合键

Comment:指定快捷方式的注释 (或描述) 对象,当鼠标移动到该快捷方式上的时候会有一个黄色的小窗口给出提示,一般是该程序的描述。

IconFileName:要显示的自定义图标文件名。这可以是一个包含图标文件的可执行映像即.exe或者.dll)也可以是一个.ico 文件,默认会采用原可执行文件的图标。

IconIndex:指定的文件中使用的以零为基点的图标索引,这是因为有些Icon可以存放在.dll文件中,例如操作系统中的shell32.dll文件,保存有100多个图标,如果IconFileName指定的是该文件(一般位于C:\\WINDOWS\\system32目录下),那么IconIndex就指定了使用哪个图标。

下面是更多选项的脚本:

[setup]

;全局设置,本段必须

AppName=Test

AppVerName=TEST

DefaultDirName="E:\\TEST"

AppVersion=1.0

[files]

Source: "F:\\desktop\\ipmsg.exe"; DestDir: "app"

[icons]

Name: "userdesktop\\飞鸽传书";Filename: "app\\ipmsg.EXE";WorkingDir: "app";IconFilename:sys\\shell32.dll;IconIndex:12;Comment:"我的快捷方式"

以上是关于inno setup 在win7下的开始菜单和桌面快捷方式问题的主要内容,如果未能解决你的问题,请参考以下文章

Inno Setup中怎么随语言定义桌面图标名?

Inno Setup 开始菜单卸载快捷方式未在 Windows 10 上显示

inno Setup 使用笔记

Inno setup打包程序,怎么实现默认勾选创建快捷方式?

inno setup 创建桌面快捷方式的代码

如何使用 Inno Setup 创建桌面图标