electron-builder的allowElevation和requestedExecutionLevel设置为管理员权限没作用有人知道什么问题吗?打出来的包requestedExecutionLevel我看了下还是asInvoker
electron-builder的allowElevation和requestedExecutionLevel设置为管理员权限没作用有人知道什么问题吗?打出来的包requestedExecutionLevel我看了下还是asInvoker
在使用 electron-builder
时,如果你发现 allowElevation
和 requestedExecutionLevel
的设置没有按预期工作,尤其是在 Windows 平台上,这通常与几个因素有关。首先,需要明确的是,electron-builder
本身并不直接控制这些 Windows 特有的安装或执行权限设置,而是通过生成的安装程序(如 NSIS, Inno Setup 等)的配置来管理。
electron-builder
,如果你使用的是 NSIS 作为打包工具,你需要在 build/nsis.cfg
文件中设置相应的权限。然而,requestedExecutionLevel
和 allowElevation
并不是 electron-builder
直接支持的配置项,这些需要通过 NSIS 脚本文件(.nsh
或直接在 .nsi
文件中)来设置。修改 NSIS 脚本:
如果你使用的是 NSIS,你可能需要编辑 NSIS 脚本文件来添加 RequestExecutionLevel admin
(或相应的级别)和相关的权限提升逻辑。这通常涉及到直接编辑 NSIS 脚本或使用 NSIS 插件(如 Visual Studio Installer Projects
插件在 Visual Studio 中)。
示例 NSIS 脚本片段(在 .nsi
文件中):
!include "MUI2.nsh"
!include "x64.nsh"
RequestExecutionLevel admin ; Request administrative privileges on first launch
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
Section "Install"
SetOutPath "$INSTDIR"
File /r "*.*"
; 其他安装逻辑
SectionEnd
Section "Uninstall"
Delete "$INSTDIR\*.*"
RMDir "$INSTDIR"
; 其他卸载逻辑
SectionEnd
package.json
或 electron-builder.yml
中,确保你正确配置了 NSIS 脚本的路径或其他相关设置。electron-builder
来生成新的安装程序。3 回答1.4k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.1k 阅读
1 回答930 阅读
1 回答1.2k 阅读
1 回答888 阅读