Inno Setup + Node webkit app exe没有在任务栏中显示应用程序图标

时间:2016-06-03 13:44:27

标签: node.js icons inno-setup node-webkit nw.js

我已经通过将myapp的代码二进制复制到nw.exe中创建了myapp.exe(双击时直接运行的应用程序版本)。 此myapp.exe在任务栏中以适当的应用程序图标运行。

但是,当通过Inno Setup创建安装程序然后运行已安装的副本时,它将使用任务栏中的默认节点webkits图标运行。

这是我的Inno Setup脚本:

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce

[Files]
Source: "src\myapp.exe"; DestDir: "{app}"
Source: "src\myapp_nw_app2.exe"; DestDir: "{app}"
Source: "supportive_app.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "supportive_app.bin"; DestDir: "{app}"; Flags: ignoreversion
Source: "supportive_app\Redist\*"; DestDir: "{app}"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "src\Autorun.inf"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\credits.html"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\d3dcompiler_47.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\ffmpegsumo.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\icudtl.dat"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\libEGL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\libGLESv2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\nw.pak"; DestDir: "{app}"; Flags: ignoreversion
Source: "src\pdf.dll"; DestDir: "{app}"; Flags: ignoreversion

[Setup]
AlwaysShowComponentsList=False
AppName=MyApp
AppVersion=0.0.1
AppCopyright=MyApp Inc.
PrivilegesRequired=none
AppId={{123456-29F0-43E1-9785-D71234554DDF9}
TimeStampsInUTC=True
DefaultDirName=C:\MyFolder\MyApp
UsePreviousAppDir=False
DisableDirPage=yes
AllowUNCPath=False
ShowLanguageDialog=no
AppPublisher=MyApp Inc.
AppPublisherURL=http://www.myapp.com
MinVersion=0,5.01sp3
CreateUninstallRegKey=yes
SetupIconFile=C:\MyAppInstaller\src\app_icon.ico

[Run]
Filename: "{app}\supportive_app.exe"; Flags: nowait
Filename: "{app}\myapp.exe"; Flags: nowait postinstall

[Icons]
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"; WorkingDir: "{app}";

有谁可以告诉我在这里缺少什么?

3 个答案:

答案 0 :(得分:0)

我发现我通过二进制文件将我的代码与nw.exe合并而创建的MyApp.exe在资源管理器中有文件的nw图标。

通过Resource Hacker(由nw community本身推荐),我将该图标更改为所需的自定义图标。然后我通过Inno Setup创建了安装程序,当我运行已安装的MyApp.exe副本时,它开始在任务栏中显示相同的自定义图标。

不确定这是否是此问题的标准方法。 如果有人可以指导我,我将不胜感激。

谢谢!

答案 1 :(得分:0)

是的,您打算使用Resource Hacker等程序更改NW.EXE的图标,并编译您的程序以使更改生效。 Inno设置然后只是拉开你所有的东西,所以它不应该对你的可执行文件的图标产生任何影响。

答案 2 :(得分:0)

面向未来的访客;

应用程序图标和任务栏上的图标不同。如之前在nwjs社区和答案中所述,您可以使用诸如资源黑客之类的工具来更改可执行文件的.ico。但是任务栏上显示的图标实际上是由package.json拾取的,该"window": { "icon": "images/my-icon.png" } 应该是标准png。

=MATCH(TRUE,$B3:B$7>C2,0)