PowerShell带ALLUSERS=1参数安装Windows远程桌面报1603错误
问题现象
通过PowerShell执行Windows远程桌面客户端MSI安装包的逐设备部署时出现安装失败,具体表现如下:
- 不带全局安装参数执行命令
msiexec.exe /I 'C:\ITS\RemoteDesktop_1.2.3213.0_x64.msi' /qn /l*v C:\ITS\RemoteDesktop119.log时,安装可正常完成 - 按照逐设备安装要求添加
ALLUSERS=1参数后,执行对应安装命令会返回1603致命安装错误码 - 排查安装日志,定位到返回错误前的核心提示:
Error 1606. Could not access network location ΓÇ£C:\Users\Public\DesktopΓÇ¥\Desktop.
日志显示公共桌面路径存在乱码,且重复拼接了\Desktop后缀,生成了无效路径,触发访问失败。
故障原因
该问题由两层原因共同导致:
- 1.2.3213.0版本远程桌面MSI安装包存在全局安装模式下的路径解析bug,读取系统公共桌面路径时会错误给路径包裹智能引号(日志中ΓÇ£就是UTF-8编码下智能引号的乱码显示),同时重复拼接
\Desktop后缀,最终生成不存在的无效路径 - PowerShell调用msiexec时的参数解析逻辑会给未明确加引号的属性参数额外包裹隐式引号,进一步放大了安装包的解析bug,触发路径识别失败
修复方案
按优先级依次尝试以下方案即可解决问题:
- 修正MSI调用的传参格式
统一用英文半角双引号包裹所有路径、参数值,不要使用单引号,同时给ALLUSERS参数明确赋值为字符串类型的1,执行命令如下:
该写法可以避免PowerShell给MSI传递带隐式特殊字符的参数,绕过安装包的路径解析bug。msiexec.exe /I "C:\ITS\RemoteDesktop_1.2.3213.0_x64.msi" /qn ALLUSERS="1" /l*v "C:\ITS\RemoteDesktop_install.log" - 修复系统公共桌面的注册表配置
如果调整传参后仍报错,打开注册表编辑器,定位到以下两个路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell FoldersHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
分别找到名为Common Desktop的键值,确认其数值数据为C:\Users\Public\Desktop,不存在额外的引号、斜杠或其他后缀,修正后重启设备再重新执行安装。
- 更换更高版本的安装包
该版本MSI的全局安装路径解析bug在后续发布的正式版中已被官方修复,直接下载使用更新版本的远程桌面客户端MSI安装包,不需要额外调整参数即可正常完成逐设备部署。
内容的提问来源于stack exchange,提问作者user17989653
相关产品推荐
相关产品推荐

