​ 在数电课程实验环境搭建需要安装 Vivado,但运行安装包后,程序刚进入安装界面(如下图)就会直接闪退,而且没有任何明确报错信息。

da28b5d9-c2f3-4c78-ab25-19b1f9785a87

补充说明:安装失败后,Windows 可能会弹出”软件兼容性”相关提示。这个提示大概率只是系统把”异常退出”误判为兼容性问题,并不一定是真正的根因。

如果你在安装 Vivado 时也遇到了“打开安装包后立即闪退”的情况,可以先检查下面这个问题。

排查方法

按下 Win + R 打开“运行”,输入 regedit,进入注册表编辑器。

然后在顶部地址栏中输入以下路径:

1
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

e6c321f4-c922-465a-8598-59b01887e956

进入后,查看右侧是否存在名为 AutoRun 的项(我这里已经删除了)。

如果它的数值数据是:

1
chcp 65001

可以先将这一项删除,然后重新尝试启动 Vivado 安装程序。

如果没有这个项,或者它的内容不是 chcp 65001,那说明你的闪退问题大概率不是由这里引起的,需要继续排查其他原因。

AutoRun 这条注册表项的作用

这条配置的含义是:每次启动 cmd 时,都会自动执行一次指定命令

如果其内容是 chcp 65001,作用就是:

  • 自动执行命令:启动 cmd 时自动运行 chcp 65001
  • 切换代码页:把命令行默认代码页切换为 UTF-8(65001)

为什么它可能导致问题

Windows 简体中文版的命令行默认代码页通常是 936(GBK),而 chcp 65001 会在 cmd 启动时强制切换到 UTF-8(65001)

部分老旧安装程序,或者对命令行编码环境处理不够严谨的软件,在启动过程中如果依赖 cmd、批处理脚本或编码解析,就可能因为代码页被强制修改而出现异常。

Vivado 对安装环境一向比较敏感,尤其是在以下方面:

  • 安装路径中不能包含中文
  • 用户目录、临时目录的编码环境
  • 命令行与脚本执行环境

因此,如果系统通过 AutoRun 强制把 cmd 改成 UTF-8,有可能导致 Vivado 安装器在初始化阶段异常退出。

这里要说明一点:这并不是 Vivado 闪退的唯一原因,也不能保证所有同类问题都能通过这个方法解决