在NSIS脚本中设置不同的开始菜单图标?

在NSIS脚本中设置不同的开始菜单图标?,nsis,Nsis,与NSIS中的桌面快捷方式相比,“开始”菜单快捷方式是否可以使用不同的图标 在桌面上,快捷键的大小是完美的,为48x48。然而在“开始”菜单中,图标的大小减小到了我假设的32x32,并且看起来有些起伏 CreateShortCut "$SMPROGRAMS\${NAME}.lnk" \ "$INSTDIR\$(shortcut_name).lnk" CreateShortCut "$DESKTOP\${NAME}.lnk" \ "$INSTDI

与NSIS中的桌面快捷方式相比,“开始”菜单快捷方式是否可以使用不同的图标

在桌面上,快捷键的大小是完美的,为48x48。然而在“开始”菜单中,图标的大小减小到了我假设的32x32,并且看起来有些起伏

CreateShortCut "$SMPROGRAMS\${NAME}.lnk" \
             "$INSTDIR\$(shortcut_name).lnk"
CreateShortCut "$DESKTOP\${NAME}.lnk" \
             "$INSTDIR\$(shortcut_name).lnk"

非常感谢。

如果您查看规范,您将看到以下参数

[/NoWorkingDir]link.lnk target.file[参数[icon.file[图标索引]编号[开始]选项[键盘快捷键[说明]\\\\\\\]]

由于您没有任何参数,我相信您必须向该参数传递一个空字符串。所以像这样的东西可能会做到

CreateShortCut "$SMPROGRAMS\${NAME}.lnk" \
    "$INSTDIR\MyApplication.exe" \
    "" \
    "$INSTDIR\MyApplication.exe"`
或者,如果您的主可执行文件中有另一个图标,并且希望使用该图标,则可以在图标路径后指定一个索引,如下所示

CreateShortCut "$SMPROGRAMS\${NAME}.lnk" \
    "$INSTDIR\MyApplication.exe" \
    ""\
    "$INSTDIR\MyApplication.exe" 2`

Windows图标可以包含多个不同大小的图像,理想情况下,图标应包含16x16、24x24、32x32、48x48、128x128和256x256像素图像

桌面和“开始”菜单上图标的大小取决于系统设置和DPI


对于大多数安装程序,您只需使用
CreateShortCut“$SMPROGRAMS\${NAME}.lnk”“$INSTDIR\myapp.exe”
,myapp.exe的资源中将包含该图标。您还可以使用外部.ico文件:
CreateShortCut“$SMPROGRAMS\${NAME}.lnk”“$INSTDIR\myapp.exe”“$INSTDIR\myapp.ico”0

您的示例代码没有意义,您正在创建快捷方式的快捷方式。我想这是因为我已经使用这些语句之前的执行参数和ico创建了一个CreateShortCut,你不能像那样指定图标索引,你需要为未使用的参数添加“”。。图标索引是图标文件之后的下一个参数,为什么它不能工作?我还将空参数指定为“”,但是因为他在他的示例中使用了换行符,所以我在这里使用了相同的方法..是的,我被你的.lnk用法弄糊涂了。您不能使用CreateShortCut链接到链接,也就是说,第二个参数不能是.lnkTrue,我只是保留了他的原始目标,但添加了一条关于它的注释。我现在把它改为指向一个.exe,以使它更清晰。