如何更改 Electron Builder 创建的应用程序快捷方式中的 "Start in" 路径?
How to change the "Start in" path in a shortcut for an application created by Electron Builder?
我使用以下指令在 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”
- Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).
createStartMenuShortcut = true Boolean
- Whether to create start menu shortcut.
menuCategory = false Boolean | String
- Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.
shortcutName String
- The name that will be used for all shortcuts. Defaults to the application name.
我可以使用 process.chdir()
解决这个问题
const is_dev = require('electron-is-dev');
if (!is_dev) {
process.chdir('path/to/resources/app');
}
但是,有没有更简洁的方法来更改 electron-builder
中“开始于”文件夹的路径?
NSIS 在创建快捷方式时使用 $OutDir
(通常与 $InstDir
相同)作为 start-in 目录。不确定您是否可以在 electron-builder 中创建快捷方式之前更改此变量,但更改它不应该是您的首要任务。
应用程序在启动时应该不依赖于工作目录,需要的资源应该相对于.exe加载and/or相对于特殊文件夹(%appdata % 和 %localappdata% 等)。当用户手动创建快捷方式或从 command-line/open with/drag&drop/whatever 启动您的应用程序时,工作目录可以是任何目录,您应该接受这一点并修复应用程序,而不是依赖于脆弱的快捷方式属性.
我使用以下指令在 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”
- Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).
createStartMenuShortcut = true Boolean
- Whether to create start menu shortcut.
menuCategory = false Boolean | String
- Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.
shortcutName String
- The name that will be used for all shortcuts. Defaults to the application name.
我可以使用 process.chdir()
const is_dev = require('electron-is-dev');
if (!is_dev) {
process.chdir('path/to/resources/app');
}
但是,有没有更简洁的方法来更改 electron-builder
中“开始于”文件夹的路径?
NSIS 在创建快捷方式时使用 $OutDir
(通常与 $InstDir
相同)作为 start-in 目录。不确定您是否可以在 electron-builder 中创建快捷方式之前更改此变量,但更改它不应该是您的首要任务。
应用程序在启动时应该不依赖于工作目录,需要的资源应该相对于.exe加载and/or相对于特殊文件夹(%appdata % 和 %localappdata% 等)。当用户手动创建快捷方式或从 command-line/open with/drag&drop/whatever 启动您的应用程序时,工作目录可以是任何目录,您应该接受这一点并修复应用程序,而不是依赖于脆弱的快捷方式属性.