nsis创建InternetShortcut不显示图标

时间:2013-06-06 05:42:31

标签: nsis shortcut

当我尝试在创建Internet快捷方式时提供自定义图标时,创建的InternetShortcut中不存在特定图标。默认图标即将来临。

这是代码:

WriteINIStr "$SMPROGRAMS\Launch_APP.url" "InternetShortcut"  "URL" "http://localhost:9080/myapp/index.php"
WriteINIStr "$SMPROGRAMS\Launch_APP.url" "InternetShortcut"  "IconFile" "$ReadmePath\A.ico"

2 个答案:

答案 0 :(得分:1)

CreateShortcut使用IShellLink创建快捷方式,不应该用于创建互联网快捷方式。您应该用于创建Internet快捷方式的文档界面是IUniformResourceLocator。 NSIS没有针对此的本机指令,但系统插件可以使用其COM语法调用它。要设置图标,您需要使用QueryInterface for IPropertySetStorage并设置PID_IS_ICONFILE。最后,您将最终得到相同的.ini文件,这就是许多示例(NSIS和其他东西)只使用.ini API编写的原因。

您可以尝试将IconIndex = 0添加到.ini但我的猜测是图标路径错误或图标缓存妨碍了。

您是否尝试清除图标缓存或在其他计算机上进行测试?

答案 1 :(得分:0)

感谢您使用NSIS。

所以 - 有函数CreateShortCut(nsis.sourceforge.net/Docs/Chapter4.html#4.9.3.4)。它旨在创建Windows支持的任何快捷方式。你应该使用它。如果您发现一些不起作用的特定情况,请随时邮寄给NSIS联系人列表中的Devs或在他们的错误跟踪器中创建票证。