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"
; 其他卸载逻辑
SectionEndpackage.json 或 electron-builder.yml 中,确保你正确配置了 NSIS 脚本的路径或其他相关设置。electron-builder 来生成新的安装程序。