为已安装的 Electron 应用程序创建快捷方式

Creating Shortcuts for an Installed Electron Application

我有一个电子应用程序,我使用 electron-packager to compile and grunt-electron-installer 生成 Windows 安装程序包。

安装后我会像这样处理松鼠事件:

//...

  switch (squirrelCommand) {
      case '--squirrel-install':
      case '--squirrel-updated':
        createShortcuts(cleanUp);
        break;
//...

并且 createShortcuts 函数只是生成一个子进程以使用 --createShortcut=myapp.exe 参数

调用 Update.exe (Squirrel.exe)

这有效,但是,当它生成的快捷方式被命名为 Electron 而不是 myapp

我没有看到任何其他方法来指定快捷方式的输出名称,那么我如何将生成的快捷方式更改为 myapp

这是松鼠日志的片段:

2016-03-20 10:34:35> ApplyReleasesImpl: Creating shortcut for myapp.exe => C:\Users\zeus\Desktop\Electron.lnk
2016-03-20 10:34:35> ApplyReleasesImpl: About to save shortcut: C:\Users\zeus\Desktop\Electron.lnk (target C:\Users\zeus\AppData\Local\myapp\Update.exe, workingDir C:\Users\zeus\AppData\Local\myapp\app-0.0.3, args --processStart myapp.exe)

在进一步调查 electron-packager 后,我发现了关于资源编辑的更详细的解释 here

我使用 electron-packager 命令行传递这些参数来更新嵌入式电子 exe 信息:

electron-packager ... --version-string.CompanyName="Company Inc." --version-string.ProductName="Product" ...

grunt-electron-installer 将查找此嵌入式应用程序信息以生成快捷方式的名称。

如果您对 Squirrel 感到痛苦,请尝试使用 electron-builder。您可以使用以下命令为 Windows 创建安装程序: electron-builder path/to/your-electron-packager-output --platform=win --out=path/to/your-installer-output --config=path/to/builder.json --target=win

builder.json 的示例内容:

{ "win": { "title": "My Production Name", "icon": "path/to/your-icon.ico", "version": "1.0.0", "publisher": "Your Company Name" } }

P.s: 在运行上述命令之前,您必须安装NSIS并将NSIS路径添加到PATH环境中。

如果您使用 electron-forge,您可能想尝试如下所示的配置:

"electronPackagerConfig": {
  "icon": "Icon",
  "win32metadata":{
    "ProductName": "My App",
    "CompanyName": "My Company"
  }
}

更多信息在这里: https://github.com/electron-userland/electron-forge/issues/89