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

如何用无UI NSIS脚本构建可部署GitHub代码到指定路径的安装程序

无UI NSIS安装程序实现GitHub文件复制方案

核心问题解答

NSIS完全支持在创建安装程序时自动压缩GitHub代码,并在安装时解压复制到指定路径。NSIS默认使用LZMA算法对打包的文件进行压缩,安装过程中会自动解压到目标文件夹。

具体操作步骤

  1. 准备工作
    • 下载并安装NSIS工具,安装完成后可通过右键脚本文件选择「Compile NSIS Script」或命令行makensis.exe编译脚本。
    • 将GitHub上的代码克隆或下载到本地文件夹(例如D:\GitHub_Local_Repo)。
  2. 编写NSIS脚本
    • 配置无UI静默安装模式。
    • 指定目标安装路径(如C:\TargetFolder)。
    • 关联本地GitHub代码文件夹,设置打包/复制规则。
  3. 编译脚本
    • 运行编译命令或右键脚本完成编译,生成可执行安装程序。
  4. 测试验证
    • 运行生成的安装程序,检查目标路径是否已成功复制GitHub文件。

脚本示例

示例1:自动压缩GitHub代码的无UI安装脚本

该脚本会将本地GitHub代码文件夹压缩打包进安装程序,安装时自动解压到指定路径:

!include "MUI2.nsh"

; 启用全静默安装/卸载
SilentInstall silent
SilentUninstall silent

; 设置目标安装路径
InstallDir "C:\TargetFolder"

Section "MainInstall"
    ; 创建目标文件夹(不存在则创建)
    CreateDirectory "$INSTDIR"
    ; 设置输出路径为目标文件夹
    SetOutPath "$INSTDIR"
    ; 递归打包本地GitHub代码文件夹下的所有内容(自动压缩)
    ; 替换为你的本地GitHub代码实际路径
    File /r "D:\GitHub_Local_Repo\*"
SectionEnd

; 可选卸载节
Section "Uninstall"
    ; 删除目标文件夹及所有内容
    RMDir /r "$INSTDIR"
SectionEnd

示例2:无压缩复制GitHub文件的无UI安装脚本

若不需要压缩,可关闭NSIS的压缩功能,直接打包复制文件:

!include "MUI2.nsh"

; 启用全静默安装/卸载
SilentInstall silent
SilentUninstall silent

; 关闭压缩功能
SetCompress off

; 设置目标安装路径
InstallDir "C:\TargetFolder"

Section "MainInstall"
    CreateDirectory "$INSTDIR"
    SetOutPath "$INSTDIR"
    ; 递归复制本地GitHub代码文件夹下的所有内容
    File /r "D:\GitHub_Local_Repo\*"
SectionEnd

; 可选卸载节
Section "Uninstall"
    RMDir /r "$INSTDIR"
SectionEnd

注意事项

  • NSIS安装程序为离线包,必须先将GitHub代码下载到本地才能打包,无法直接从GitHub在线拉取文件。
  • 若需要动态选择目标路径,可移除固定InstallDir并添加路径选择逻辑,但会破坏无UI模式。
  • 编译前确保本地GitHub代码路径正确,否则会出现打包失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 09:30:49