You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NSIS安装程序配置全用户开机自启及安装后启动程序

解决NSIS安装脚本的开机自启与安装后启动需求

以下是修改后的完整NSIS脚本,已实现你要的两个功能:

Outfile "NN-Quicksupport-Installer-Server.exe"
RequestExecutionLevel admin ; 管理员权限,确保写入系统级注册表
InstallDir $PROGRAMFILES\NN-Quicksupport

Page Components
Page Directory
Page InstFiles

Section "Installiere NN-Quicksupport" SecInstall
    SetOutPath $INSTDIR
    File "index.exe"
    
    SetOutPath $INSTDIR\img ; Ändere den Ordner-Namen hier
    File /r "img\*.*"

    ; 写入所有用户的开机自启注册表项
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "NN-Quicksupport" '"$INSTDIR\index.exe"'
SectionEnd

; 安装成功后自动启动程序
Function.onInstSuccess
    Exec '"$INSTDIR\index.exe"'
FunctionEnd

关键改动说明

  • 管理员权限声明:添加RequestExecutionLevel admin是必须的——要写入系统级的HKLM注册表(对应所有用户的开机自启),安装程序必须以管理员身份运行,否则注册表写入会失败。
  • 开机自启实现:通过WriteRegStr将程序路径写入HKLM\Software\Microsoft\Windows\CurrentVersion\Run,这个注册表项会让Windows在所有用户登录时自动启动指定程序。路径加双引号是为了避免安装目录带空格时出现启动错误。
  • 安装后启动程序:使用Function.onInstSuccess函数,它会在安装流程成功完成后自动执行,通过Exec命令启动你的程序,同样给路径加双引号处理空格问题。

额外提示(可选)

如果后续需要做卸载功能,记得在卸载脚本中添加删除开机自启项的命令:

DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "NN-Quicksupport"

内容的提问来源于stack exchange,提问作者xxJLxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 16:32:19