自研Windows 软件批量静默安装器

前言

重装系统后就面临着安装软件的繁琐,要么安装各种应用商店,要么就只能到官方网站去一个一个下载安装。为此,我开发了这个自动化工具,操作流程如下:

打开工具网站 → 勾选需要的软件 → 指定安装位置 → 下载安装脚本 → 运行脚本 → 等待自动批量安装。

由于前期脚本不完善,可能会出现 【无法下载 / 检测到病毒】 的提示。这是因为脚本使用了终端 BITS 服务下载安装程序,被 Windows 安全中心误判为病毒脚本。
DOME 点击进入

自研Windows 软件批量静默安装器 - 图片1

目前支持的软件列表:

Google Chrome, Mozilla Firefox, 360安全浏览器, Microsoft Edge, QQ (经典怀旧版), QQ (NT新版), 微信 WeChat, 钉钉, 企业微信, 飞书, WPS Office, LibreOffice, XMind, VLC 媒体播放器, PotPlayer, QQ音乐, 酷狗音乐, 网易云音乐, 哔哩哔哩, Notepad++, Sublime Text, Git for Windows, 火绒安全, 360安全卫士, 迅雷, 百度网盘, Steam, 7-Zip, WinRAR, Everything (文件搜索), Internet Download Manager, SumatraPDF, Rufus (便携)

后续计划引入 winget 安装方式,以避免因敏感操作被安全中心误判为病毒程序。


核心功能与技术实现

目前已在单一 install.bat 脚本中实现了多程序并发处理,并支持三种不同的安装源策略(自定义链接、本地安装包、自动获取官方链接)。

1. 高效下载机制

  • BITS 并行下载:支持使用 BITS 服务并行下载多个软件。
  • 跳过节流限制:通过 Priority Foreground 跳过 BITS 调度器的带宽节流,提升下载速度。

2. 自定义目录与软连接 (Junction)

  • 软连接支持:支持使用 junction(软连接)将软件安装到自定义目录,默认安装位置将作为 reparse point(重解析点)。
  • 快捷方式迁移:安装完成后自动扫描桌面和开始菜单的 .lnk 文件,并将目标路径修正指向新的实际安装位置。

3. 安装自愈与兜底机制

针对安装过程中可能出现的目录结构破坏,设计了多层恢复逻辑:

  • 自愈 #1:当 junction 被安装器破坏时,自动将残余文件搬运至目标目录。
  • 自愈 #2:若 junction 损坏且源路径为空,从注册表反查实际安装位置并进行迁移。
  • 兜底 #3:扫描邻居目录(如 Program Files / Program Files (x86))以定位丢失文件。

4. 脚本执行与链接解析

  • PowerShell 大脚本处理:当脚本超过 32KB 限制时,自动改用文件方式执行(配合 certutil 解码 + UTF-16LE BOM 处理)。
  • URL 自动获取:支持自动解析下载链接,适配 GitHub Releases、Mozilla、QQ 音乐官网等多种页面格式。

powershell截图

已知限制与后续规划

  • 目录限制:目前暂不支持同时指定多个安装目录(即 C 盘默认安装与自定义目录不能混合执行),该功能将在后期加入。
  • 日志功能:计划加入 install.log 安装日志功能,方便排查安装失败的问题。

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~