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

如何用NSIS制作启动后立即解压并运行程序的安装包?

使用NSIS制作快速解压并自动启动的安装包

这类安装包属于无界面静默自解压运行程序,跳过常规安装向导,启动后直接完成文件释放并运行目标程序,用NSIS可以轻松实现,以下是完整可复用的脚本及说明:

基础版脚本(静默解压到临时目录,启动后自动清理)

; 定义安装包基本信息
Name "快速启动工具包"
OutFile "QuickLaunch.exe"
SetCompressor lzma  ; 启用LZMA高压缩率算法

; 彻底禁用安装界面相关元素
ShowInstDetails nevershow
ShowUninstDetails nevershow
SilentInstall silent
SilentUninstall silent

; 核心安装逻辑
Section
    ; 设置解压目标路径:这里用系统临时目录,避免占用用户磁盘
    SetOutPath "$TEMP\MyAppTemp"

    ; 打包需要的文件/目录:替换成你实际的文件路径,*.*表示目录下所有内容
    File "C:\YourAppFolder\*.*"

    ; 启动目标程序:替换成你的主程序文件名
    ExecWait "$TEMP\MyAppTemp\YourMainProgram.exe"

    ; 程序退出后删除临时解压目录(可选,不需要保留文件就保留这行)
    RMDir /r "$TEMP\MyAppTemp"
SectionEnd

关键参数解释

  • SilentInstall silent + ShowInstDetails nevershow:完全关闭安装界面,实现后台快速执行。
  • SetOutPath:指定文件解压的位置,用$TEMP临时目录的好处是无需用户权限,程序退出后可以自动清理;如果需要保留文件,可替换为固定路径(比如$APPDATA\YourApp或$PROGRAMFILES\YourApp)。
  • File:添加需要打包的资源,支持单个文件或整个目录(*.*代表目录下所有内容)。
  • ExecWait:启动目标程序并等待其退出,如果不需要等待程序结束,换成Exec即可。
  • RMDir /r:递归删除整个临时目录,仅当使用临时路径时推荐开启。

进阶调整选项

  1. 让用户选择解压路径(保留快速启动逻辑):
    去掉SilentInstall silent,添加目录选择对话框:

    Section
        DirRequest "请选择解压目录" "$TEMP\MyAppTemp"
        SetOutPath "$R0"  ; $R0存储用户选择的路径
        File "C:\YourAppFolder\*.*"
        ExecWait "$R0\YourMainProgram.exe"
    SectionEnd
    
  2. 后台启动程序(隐藏窗口):
    用ExecShell替换ExecWait,添加窗口隐藏参数:

    ExecShell "" "$TEMP\MyAppTemp\YourMainProgram.exe" SW_HIDE
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:43:26