VMWare VpxClient.exe在数据执行保护(DEP)方面存在问题,导致相当多的客户端function不可用。
症状:
使用系统控制面板应用程序closures此应用程序的DEP不起作用,它会失败,并显示错误“该程序必须在启用数据执行保护(DEP)的情况下运行,不能closures该程序的DEP。
VMWarebuild议使用BCDEdit.exe全局closuresDEP。 显然这是不可取的。
我find了解决办法,我在这里贴出来帮助别人。
问题的原因是DEP与某些组件不兼容。 (猜测:这可能是一个ATL 7.1的ActiveX控件,因为这个版本的ATL有一个已知的问题)。
您无法为VpxClient.exe禁用DEP的VpxClient.exe是因为标志NXCOMPAT在可执行文件中设置,强制启用DEP,并阻止您selectexe。
这已经成为Visual Studio最新版本的默认select,因此可能不是VMWare的一个有意识的决定。
解决scheme是使用EDITBIN.exe来修改VpxClient.exe二进制文件删除该标志。
从本质上讲,在一个行政CMD会议中:
cd /d "C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher" copy VpxClient.exe VpxClient.Original.exe "C:\Program Files\Microsoft Visual Studio 10.0\vc\bin\vcvars32.bat" EDITBIN.EXE /NXCOMPAT:NO VpxClient.exe
(显然,你将不得不改变这个例如一个64位系统,或者如果你的工具在不同的位置)。
它现在可以工作,但由于数字签名不再有效,所以会发出警告。
现在我们需要的是VMWare在签署二进制文件之前执行此操作。