繁体   English   中英

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

[英]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

我只看到与快捷方式相关的这些选项

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

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

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

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

我可以通过使用process.chdir()来解决这个问题

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

但是,有没有更简洁的方法来更改electron-builder中的路径“Start in”文件夹?

NSIS 在创建快捷方式时使用$OutDir (通常与$InstDir相同)作为起始目录。 不确定是否可以在 electron-builder 中创建快捷方式之前更改此变量,但更改它不应该是您的首要任务。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM