必须通过组策略将真实msi包以“已分配”方式部署到计算机配置下,使用unc路径并开放domain computers读取权限,重启后自动静默安装;exe需先封装为嵌入静默参数的msi,禁用“已发布”及本地路径。

在Windows域环境中,让所有计算机自动静默安装指定软件,必须通过组策略将MSI包部署到计算机配置下,路径需为UNC格式且权限开放,部署类型必须选“已分配”,客户端重启后即完成安装,无需人工干预或额外静默参数。
准备真实可用的MSI安装包与共享路径
组策略原生只识别真MSI格式,不能用EXE封装的伪MSI。用Orca打开验证:能正常加载_Validation、Property等表即为合格。若手头是EXE(如DeArrow、MTools),须用Advanced Installer或WiX重新封装,并把静默参数(如/quiet /norestart)嵌入MSI内部,而非靠命令行传参。
将MSI文件(及配套.mst变换文件,如有)放入域内可访问的共享文件夹,例如\SRV01DeployDeArrow.msi。共享权限和NTFS权限都要设给Domain Computers组——至少勾选“读取”“读取与执行”“列出文件夹内容”,【缺少任一权限,客户端将无法下载安装包,事件查看器报错1603】。
创建GPO并链接到目标计算机OU
在域控制器上运行gpmc.msc → 右键目标OU(如“研发部计算机”)→ “在此域中新建GPO并将其链接到这里”,命名为“Deploy-DeArrow-MSI”。命名含软件名+版本+部署方式,便于后期排查。
右键该GPO → “编辑” → 导航至“计算机配置 > 策略 > 软件设置 > 软件安装”。这一步必须在“计算机配置”下操作,若误建在“用户配置”,则软件不会随开机触发,仅在用户登录后才可能弹窗提示安装。
右键空白处 → “新建” → “程序包” → 在“程序包”框中直接输入完整UNC路径\SRV01DeployDeArrow.msi,【禁止使用本地路径C:或映射驱动器Z:,否则策略将静默失败】。
配置软件部署属性
双击刚添加的程序包 → 切换到“部署”选项卡:
① 部署类型:选“已分配”——这是强制静默安装的核心,开机即装,所有用户可用;
② 安装用户界面:选“基本”——避免弹出进度条或错误对话框;
③ 高级选项:勾选“在登录时安装”——确保策略刷新后及时触发安装流程;
④ 若需预置配置(如服务器地址、许可证密钥),且已有.mst文件,勾选“分配此应用程序时安装这些变换”,再点击“添加”指向同一共享下的.mst路径。
注意:不要选“已发布”,那是给用户自主安装用的,不符合批量静默要求。
分发配套配置文件(可选但关键)
方法一:用组策略首选项(GPP)分发配置文件
导航至“用户配置 > 首选项 > Windows设置 > 文件” → 新建“替换”操作 → 源路径填\SRV01Deploylicense.json,目标路径填%LOCALAPPDATA%DeArrowconfiglicense.json。目标文件夹若不存在,需提前用“文件夹”首选项创建。
方法二:在MSI封装阶段直接写入注册表或配置项
用Orca或Advanced Installer在Property表中添加LICENSE_KEY、SERVER_URL等自定义属性,并在CustomAction中绑定写入逻辑。这种方式更可靠,避免GPP延迟或路径解析失败导致配置缺失。
强制刷新策略并验证安装结果
在任意目标客户端上以管理员身份运行cmd → 执行gpupdate /force → 等待提示“计算机策略处理成功” → 立即重启电脑。
重启后进入“控制面板 → 程序和功能”,确认DeArrow已列出;同时检查%LOCALAPPDATA%DeArrowconfig下license.json是否已存在且内容正确。
若未安装成功,打开事件查看器 → 应用程序日志 → 筛选来源为“MsiInstaller”的事件ID 1001(失败)或1033(成功),根据错误代码定位问题根源。











