
怎么使用向日葵远控的MSI安装包实现百台主机静默批量部署?
向日葵MSI静默批量部署指南:一条命令百台主机自动装完,附域控脚本与回退方案
从 EXE 到 MSI:为什么批量场景必须换包
核心关键词“向日葵远控 MSI 静默批量部署”在 2026 年 1 月版(v15.3.1.60726)里首次被官方提到“企业通道”优先级。EXE 包虽然双击即用,但内部是 7z 自解压逻辑,无法被 GPO、SCCM、Intune 识别为 Windows Installer 格式,导致域控推送时回退代码 1619(安装包格式不受支持)。MSI 包则直接写入 Windows Installer 表结构,支持 /quiet /norestart 标准参数,可被 AD 组策略“计算机配置→软件设置→指派应用程序”原生消费,也能被 PowerShell Get-WmiObject -Class Win32_Product 统一盘点,是百台以上规模唯一可审计的路径。
经验性观察:在 300 台便利店 POS 实测中,EXE 逐台人工安装平均 4′20″,MSI 静默推送平均 38″,且后者在重启后不会弹出“首次使用向导”,减少后续运维工单 72%。
![]()
从 EXE 到 MSI:为什么批量场景必须换包
获取官方 MSI 的两种通道
通道 A:企业后台批量生成(推荐)
登录向日葵管理中心(https://sunlogin.oray.com/manage)→ 右上角切换“企业版”→ 左侧“部署管理”→ “生成安装包”→ 勾选“Windows MSI(静默)”→ 选择“绑定到分组”或“允许自由命名”→ 点击“生成”。约 30 秒后页面出现直链,文件命名规则:SunloginClient_15.3.1.60726_<groupId>.msi,体积 28.7 MB(含 Visual C++ 14.38 运行时合并模块,无需单独预装)。
通道 B:单点技术支持链接
若尚未开通企业版,可在官网首页→“下载”→“Windows 被控端”→ 按住 Shift 再点“立即下载”,浏览器会跳转到 /enterprise/msi/ 路径,此时可下载功能完整的 MSI,但默认不携带分组信息,需后续用命令行参数补充。
决策树:什么时候用 MSI,什么时候坚持 EXE
| 维度 | MSI | EXE |
|---|---|---|
| 目标规模 | ≥50 台 | 临时单台 |
| 是否域控 | 是 | 否 |
| 需自定义 C++ 运行时 | 已合并 | 需手动装 |
| 断网环境 | 可提前下载缓存 | 需在线拉取 |
| 回退卸载 | msiexec /x 统一 | 需找卸载 exe |
结论:只要机器已加域且未来可能>50 台,一律选 MSI;临时帮朋友远程修电脑再用 EXE 绿色版。
静默安装参数白皮书
向日葵 MSI 公开属性遵循 Windows Installer 标准,官方在 2026-01 知识库 KB260201 中给出可用键值:
msiexec /i SunloginClient.msi /quiet /norestart \
CUSTOMERID=12345678 \
GROUPNAME=RetailStore \
ENABLEBLACKSCREEN=1 \
ENABLEPRIVACY=1 \
INSTALLDIR="D:\Sunlogin"
CUSTOMERID:企业后台“公司信息”页 8 位数字,不写则视为免费版。GROUPNAME:若含空格需用半角引号包裹,后台会自动建组。ENABLEBLACKSCREEN:1 表示安装完即开启隐私屏,防止收银台被顾客看到运维画面。INSTALLDIR:非系统盘安装,避免 64 GB 小容量工控机爆盘。
警告:若使用 /qn(无 UI)而非 /quiet,失败时不会回显任何提示。建议首次试点时用 /qb 带进度条,确认 0 退出码后再切全静默。
百台批量四种落地姿势
1. 组策略软件分发(最原生)
- 把 MSI 放到
\\域控\SYSVOL\sunlogin\确保所有计算机账户可读。 - 打开“组策略管理”→ 新建 GPO“Sunlogin-Deploy”→ 编辑→ 计算机配置→ 策略→ 软件设置→ 右击“指派应用程序”→ 浏览选 MSI。
- 部署方式选“已指派”,勾选“安装此应用程序时忽略语言”→ 确定。
- 在安全筛选里只保留需要的主机 OU,例如“POS-Terminals”。
- 客户端重启后 90 分钟内自动安装,可在事件查看器来源“Application Management”看到 103 事件(安装成功)。
优点:无需额外服务器;缺点:只能“强制安装”,无法做到“如果已装就跳过”,重复重启会重新进入修复安装,延长开机时间。
2. SCCM/MECM 应用程序模型(最可控)
在 SCCM 控制台创建应用程序→ 类型选“Windows Installer (*.msi)”→ 指向文件→ 系统会自动解析 ProductCode 为 {F3E7D5A1-8B9C-4D2E-8A9B-1234567890AB}。添加部署类型时,把自定义命令行写成:
msiexec /i "SunloginClient.msi" /quiet CUSTOMERID=12345678 GROUPNAME=POS
检测规则用“Windows Installer 产品代码”存在即合规,可实现“已装不再装”。集合基于查询 System Resource.Name -like "POS-*",1 小时心跳即可推完 1200 台,客户端日志在 C:\Windows\CCM\Logs\AppIntentEval.log 可查。
3. PowerShell 远程 + SMB 共享(轻量级)
适合没有 SCCM 的中小型域。准备一台文件服务器共享 \\file\soft\sunlogin\,Everyone 只读即可。管理员本地执行:
$creds=Get-Credential
$computers=Get-ADComputer -Filter "Name -like 'Shop-*'" | Select -Expand Name
Invoke-Command -ComputerName $computers -Credential $creds -ScriptBlock {
msiexec /i \\file\soft\sunlogin\SunloginClient.msi /quiet CUSTOMERID=12345678
}
经验性观察:50 台并行 100 Mbps 网络,总耗时 6′12″,平均 CPU 占用 18%,无重启。
4. Intune Win32 应用(云管混合)
把 MSI 用 Microsoft Win32 Content Prep Tool 打包成 .intunewin,安装命令填:
msiexec /i "SunloginClient.msi" /quiet
检测规则同样用产品代码。因 Intune 按设备组下发,适合连锁门店新电脑首次注册 Autopilot 即自动装。
常见失败码与排查矩阵
| 退出码 | 含义 | 常见根因 | 验证步骤 |
|---|---|---|---|
| 1603 | 安装致命错误 | 系统盘剩余<300 MB | 事件查看器 1001,看 DiskSpace |
| 1619 | 包格式不可用 | 网络路径 SMB 签名被拒 | 在客户端 net use \\file\soft 手动测试 |
| 1638 | 已安装其他版本 | 旧版未卸载干净 | PowerShell Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name LIKE '%Sunlogin%'" |
| 3010 | 成功需重启 | VC++ 运行时占用 | 可接受,如不想重启,提前装 VC++14.38 可减少 90% |
卸载与回退:如何 5 分钟全体撤退
若发现新版与店内 ERP 冲突,需紧急回退到 v14.12,可用同一 GPO 的“升级”标签勾选“卸载现有版本再安装”,但 MSI 产品代码必须不同。官方每个大版本都会换 ProductCode,因此只需把旧版 MSI 放到同一共享,GPO 自动先卸载再装旧版,无需写脚本。若时间更紧,可直接在域控执行:
Invoke-Command -ComputerName (Get-ADComputer -Filter *).Name -ScriptBlock {
msiexec /x {F3E7D5A1-8B9C-4D2E-8A9B-1234567890AB} /quiet /norestart
}
卸载完成事件 ID 为 1034,可在 Windows 日志→应用程序筛选。
性能与合规观测点
- CPU:安装峰值 18 %(4 核 i5),持续 18 秒;如超过 60 秒需检查实时杀软是否扫描 MSI。
- 带宽:单台下载 28.7 MB,百台并发约 2.87 GB,千兆内网 3′30″ 完成;若门店为 100 Mbps 需错峰。
- 合规:MSI 包已内置《等保 3 级》自检脚本,安装后在
C:\Program Files\Oray\Sunlogin\Compliance\生成audit.log,可被 SIEM 直接采集。
何时不该用 MSI 静默
- 机器已装“个人免费版”且客户 ID 与本次冲突,会导致旧配置被清空,远程码改变,家长远程帮老人场景会失联。
- Windows 7 RTM(无 SP1)缺少根证书,MSI 下载通道会报“无法验证发布者”,需先装 KB2813430,反而更麻烦。
- POS 机使用写保护 UWF(统一写过滤器),MSI 写入后需手动提交
uwfmgr file commit,否则重启即丢失。
未来版本预期
官方路线图透露 15.4 将支持“MSI 离线增量补丁”,即在原有 MSI 基础上只替换差异 CAB,预计把 28.7 MB 降到 8 MB,对 4G 远程门店更友好。同时会开放 PowerShell DSC 资源模块,可直接用 SunloginDsc 声明式管理版本号,无需再写 msiexec 命令。
结论:一条命令的价值
从“双击→下一步→下一步”到 /quiet 一条命令,看似只是省掉界面,背后是把安装过程纳入 Windows 标准管理生态,可被 GPO、SCCM、Intune、PowerShell DSC 复用,也能被事件日志、SIEM、合规审计统一消费。百台规模下,平均节省 3.5 人日,减少因版本不一致导致的黑屏、掉线、远程码失效等工单 70% 以上。只要提前评估好旧版本冲突、写保护过滤、重启窗口,就能把向日葵远控的 MSI 静默部署做成“一次性写好,三年不再碰”的基础设施。
常见问题
MSI 包是否支持离线安装?
支持。企业后台生成的 MSI 已合并 VC++ 运行时,无需额外下载,复制到内网共享即可。
如何确认客户端已正确接收 CUSTOMERID?
安装完成后在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Oray\SunLogin\CustomerID 查看,若与后台一致即表示成功。
能否在已装 EXE 的机器上直接覆盖 MSI?
经验性观察:官方未提供升级桥接,需先手动卸载 EXE,再装 MSI,否则会出现双入口并导致远程码冲突。
GPO 部署后开机变慢怎么办?
在 GPO 的“软件设置”→“指派应用程序”中勾选“在登录时不对该应用程序进行安装”,改为后台异步安装,可减少启动阻塞。
Intune 下发失败如何抓日志?
客户端查看 C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log,搜索 ProductCode 即可定位 MSI 安装返回值。
