vmware安装程序的神奇BUG!

我想用虚拟机装一个Mac OS X,据说vmware workstation 9.0新添了对Mac OS X的支持,于是我赶紧卸载8.0安装9.0试一试。

我从http://www.crsky.com/soft/1863.html 上下载了zip包,解压缩得到VMware-workstation-full-9.0.1-894247.exe。这是安装程序,我嫌名字太长,就改名为vmware.exe。

然后双击安装,告诉我,“setup has detected vmware software running on this machine”。不让我装!

然后我在命令行下运行vmware.exe /? ,得到参数列表。发现可以通过“VMware.exe /d /v /f2 D:\1.log”这样打开调试日志。

重新运行,浏览日志后发现,

20121217141611:INFO *** Executing CCheckRunningProcessesOperation::Execute
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'vmware-vmx.exe'
20121217141611:INFO CProcess::isRunning: Could not find running process: vmware-vmx.exe
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'vmware-vmx-debug.exe'
20121217141611:INFO CProcess::isRunning: Could not find running process: vmware-vmx-debug.exe
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'vmware-vmx-stats.exe'
20121217141611:INFO CProcess::isRunning: Could not find running process: vmware-vmx-stats.exe
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'vmnetcfg.exe'
20121217141611:INFO CProcess::isRunning: Could not find running process: vmnetcfg.exe
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'vmware.exe'
20121217141611:INFO CProcess::isRunning: Found running process: vmware.exe
20121217141611:INFO CCheckRunningProcessesOperation::Execute: found running process: 'vmware.exe'
20121217141611:INFO CBootstrapCmd::RunOperation: Operation 'CheckRunningProcesses' completed successfully with return code 65537
20121217141611:INFO *** Executing CCheckRunningProcessesOperation::Execute
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'devenv.exe'
20121217141611:INFO CProcess::isRunning: Could not find running process: devenv.exe
20121217141611:INFO CBootstrapCmd::RunOperation: Operation 'CheckRunningProcesses' completed successfully with return code 65537
20121217141611:INFO *** Executing CSafeToInstallNetworkOperation::Execute
20121217141611:INFO CPackageManager::GetFile: VMINSTUTIL.DLL
20121217141611:INFO CSafeToInstallNetworkOperation::Execute: attempt to load library [C:\Windows\TEMP\vmware_1355724969\vminstutil.dll]
20121217141611:INFO CSafeToInstallNetworkOperation::Execute: loading function [VMSafeToInstallNetworkComponents]
20121217141611:INFO CSafeToInstallNetworkOperation::Execute: SafeToInstallNetwork returned [0]
20121217141611:INFO CBootstrapCmd::RunOperation: Operation 'SafeToInstallNetwork' completed successfully with return code 65537
20121217141611:INFO CBootstrapCmd::LuaLog: -- Using running processes to detect existing applications --
20121217141611:INFO *** Executing CCheckRunningProcessesOperation::Execute
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'vmware.exe'
20121217141611:INFO CProcess::isRunning: Found running process: vmware.exe
20121217141611:INFO CCheckRunningProcessesOperation::Execute: found running process: 'vmware.exe'
20121217141611:INFO CBootstrapCmd::RunOperation: Operation 'CheckRunningProcesses' completed successfully with return code 65537
20121217141611:INFO *** Executing CCheckRunningProcessesOperation::Execute
20121217141611:INFO CCheckRunningProcessesOperation::Execute: checking for running process: 'vmplayer.exe'
20121217141611:INFO CProcess::isRunning: Could not find running process: vmplayer.exe
20121217141611:INFO CBootstrapCmd::RunOperation: Operation 'CheckRunningProcesses' completed successfully with return code 65537
20121217141611:INFO 0
20121217141611:INFO GetSetting: Read setting 'force_silent', value '0'
20121217141611:INFO SaveSetting: Wrote setting 'VMware Process Running', value '1'

于是,错就错在我不该对安装程序改名。恰好这个名字与安装后的某服务进程的名字相同,于是它就错以为vmware已经安装并运行。实际上它检测到的那个进程正是安装程序自己。

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥