yaahp执行计算时异常退出的解决方法

问题描述

有些用户反映在使用yaahp过程中, 计算排序权重时会出现软件异常退出的问题, 这个问题一般都是因为Visual C++ 2015运行时未正常安装引起的.

yaahp为什么需要Visual C++运行时?

为了提高计算效率,yaahp中一些耗时的算法使用C/C++编写(例如判断矩阵自动修正、自动补全等), 这部分代码执行需要微软的Visual C++ 2015运行时正确安装.

yaahp的安装程序会在安装时自动安装所需的Visual C++ 运行时,但是也有可能由于不满足安装条件, 或与系统中已安装的软件冲突而安装失败.

如果Visual C++运行时安装失败, 那么执行这些C/C++编写的算法将会导致yaahp异常退出.

yaahp 10.3 初期版本

yaahp的10.3初期版本安装程序会显示安装Visual C++运行时的过程, 已有用户反馈: “以为这个安装过程是垃圾的附加软件, 自己点击取消了”, 这种情况也会导致Visual C++运行时安装失败.

最新的10.3版本安装程序(10.3.5848.27866)不再单独显示这个过程, 可以在这里下载.

手动安装Visual C++ 2015运行时解决此问题

首先下载Visual C++ Redistributable for Visual Studio 2015.
下载vc_redist.x86.exe.

执行下载的安装程序, 如果安装成功(如下图), 该问题解决.

VCRuntime install OK

如果安装失败(如下图), 请参考下一节内容.

VCRuntime install faile

Windows版本

Visual C++ 2015运行时支持的操作系统如下:

Windows 10 , Windows 7 Service Pack 1, Windows 8, Windows 8.1
Windows Server 2003 Service Pack 2, Windows Server 2008 R2 SP1
Windows Server 2008 Service Pack 2, Windows Server 2012
Windows Vista Service Pack 2, Windows XP Service Pack 3

更详细信息请点击这里.

所以, 如果电脑上的Windows版本(并打相应的补丁包)不在这个列表中, 将无法成功安装Visual C++ 2015运行时, 导致yaahp执行计算时失败.

以Windows 7为例说明解决办法

查看系统信息, 发现系统为未打Service Pack1的Windows 7, 如下图所示:

win7

下载Windows 7 Service Pack1, 如果是32位系统, 下载windows6.1-KB976932-X86.exe; 如果是64位系统, 下载windows6.1-KB976932-X64.exe.

安装后查看系统信息, 如下图.

win7sp1

然后再次安装Visual C++ 2015运行时, 安装成功, 如下图.

VCRuntime install OK

启动yaahp, 如果没有其他问题, 既可以正常进行计算了.