Unity Hub安装Editor失败,出现“Install failed: Validation Failed”的一种解决方法

今天在另一台机子上装Unity Editor,又遇到了Validation Failed,但这次不是在下载阶段,而是安装阶段,搜索网络上现有解决方案:

① 管理员身份运行(【解决】Unity Hub 安装目标平台模块失败。警示“Install failed: Validation Failed”信息。-CSDN博客亲测无效

② 修改powershell的path环境变量,让1.0优先于7(WORKAROUND: ⚠️Install failed: Validation Failed (Hub 3.8.x and earlier) - Unity Engine - Unity Discussions亲测无效

③ 设置下载位置路径为安装位置的子路径(【Unity学习日记(三)】安装编辑器出现validation failed错误-CSDN博客亲测无效

④ stackOverflow上有人指出实在不行就手动安装,但后续添加组件很麻烦,不建议(Unity Hub "Install failed: Validation failed" message whenever I try to install Unity Editor - Stack Overflow

于是只能回归本质,检查了log:

发现执行的安装命令是一串乱码,这就很奇怪了,log的编码已经是UTF-8,是不是powershell本身的默认编码方式(代码页,Code Page)与Hub执行所使用的命令数据编码不兼容,从而导致执行失败的呢?

powershell输入 chcp 检查当前Code Page:

PS C:\Users\ZzDaniel> chcp
活动代码页: 936

可以看到默认是936(GBK),永久修改powershell的代码页为65001(UTF-8)可以用两种方法,如果第一种无效,可以试试第二种:

方法一:改注册表

找到“Computer\HKEY_CURRENT_USER\Console”,在其中的cmd.exe、powershell.exe下找到CodePage,改为65001,如果没有这个键,就新建一个同名的 DWORD(32位值),输入十进制的65001或十六进制的fde9。重启powershell输入chcp检查是否生效。

(引自:windows 控制台 cmd/PowerShell 中文显示乱码,解决方法_powershell 中文乱码-CSDN博客

方法二:设置中修改全局字符集

如果上一种方法无效,chcp返回还是936,则可以试试这个终极方法。打开设置 -> 时间和语言 -> 语言 -> 管理语言设置 -> 更改系统区域设置 -> Beta版:使用 Unicode UTF-8 提供全球语言支持。确定后,提示重启计算机,会配置一段时间,重启后即改为UTF-8。

改好代码页后,再次启动Unity Hub执行安装,终于成功

总结:导致问题的跟本原因是指令执行异常,和“验证”毫无关系,考虑到Unity Hub是国际版(3.8.0),安装的编辑器也是国际版不带c1的版本,可能Hub内的安装指令就没有考虑在GBK上是否能正常执行,出现问题也算情有可原。这也可以解释为什么有的人会遇到,有的人遇不到(Unity Hub版本不同),就连大洋彼岸的官方也没搞清楚到底咋回事儿。总之,该问题暂时解决,希望能帮到遭遇相同问题,而其他解决方法都无效的各位。

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值