如何将文件扩展名关联到一个多平台的Electron应用程序?

11

我已经将以下代码片段添加到了我的package.json文件中:

"build": {
  "fileAssociations": [
    {
      "ext": "asdf",
      "name": "ASDF File",
      "role": "Editor"
    }
  ]
}

但是生成的安装程序没有将我的应用程序分配给扩展名asdf。(在Windows 10上测试过)

我还查找了如何编辑setupEvents.js文件。它包含以下部分:

case '--squirrel-updated':
 // Optionally do things such as:
 // - Add your .exe to the PATH
 // - Write to the registry for things like file associations and
 // explorer context menus

但我找不到一个例子,说明如何实现注册表写入部分。

2个回答

9
请添加"perMachine": true,选项,例如:
"build": {
  "fileAssociations": [
    {
      "ext": "asdf",
      "name": "ASDF File",
      "role": "Editor",
      "perMachine": true
    }
  ]
}

需要它的原因是,在Windows系统中,每个用户安装的程序无法注册文件关联,并且这是默认设置。


运行良好。此外,我不得不使用.msi安装程序。 - kroegerama
对于其他人而言,如果使用--config标志,则此配置可能也在外部json文件中。 - Coding Edgar

2
似乎在新版本中,您需要像这样设置它。
"build": {
   "fileAssociations": [{
     "ext": "ext1",
     "name": "ext1 File",
     "role": "Editor"
   },
   {
     "ext": "ext2",
     "name": "ext2File",
     "role": "Editor"
   }
   ],
   "nsis": {
     //othersettings,
     "perMachine": true
   }
}

有关其他文件关联设置的更多信息,请在此处查看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接