如何在Electron Builder创建的应用程序的快捷方式中更改“开始于”路径?

时间:2019-06-25 18:49:47

标签: windows electron shortcut electron-builder desktop-shortcut

我按照以下说明在Windows中构建应用程序(nsis):

electron-builder --win --x64

为方便起见,我也使用asar: false

默认情况下,“开始于”文件夹就是这个文件夹:

C:\Users\UserName\AppData\Local\Programs\app-name

但是我需要另一个:

C:\Users\UserName\AppData\Local\Programs\app-name\resources\app

我只看到与快捷键相关的these options

  
      
  • createDesktopShortcut = true Boolean | “always”-是否创建桌面快捷方式。设置为始终,是否在重新安装时也重新创​​建(即使被用户删除)。

  •   
  • createStartMenuShortcut = true Boolean-是否创建开始菜单快捷方式。

  •   
  • menuCategory = false Boolean | String-是否为开始菜单快捷方式和程序文件目录创建子菜单。如果为true,将使用公司名称。或字符串值。

  •   
  • shortcutName String-用于所有快捷方式的名称。默认为应用程序名称。

  •   

我可以使用process.chdir()

解决此问题
const is_dev = require('electron-is-dev');
if (!is_dev) {
    process.chdir('path/to/resources/app');
}

但是,有没有更清洁的方法来更改electron-builder中“开始于”文件夹的路径?

1 个答案:

答案 0 :(得分:1)

在创建快捷方式时,NSIS使用$OutDir(通常与$InstDir相同)作为起始目录。不知道是否可以在电子生成器中创建快捷方式之前更改此变量,但是更改它不是您的第一要务。

应用程序启动时应取决于工作目录,应相对于.exe和/或相对于特殊文件夹(%appdata%和%localappdata%等)加载所需的资源。 )。当用户手动创建快捷方式或从命令行启动您的应用程序/使用/打开/拖放/打开任何目录时,工作目录可以是任何目录,您应该接受此目录并修复应用程序,而不要依赖脆弱的快捷方式属性。