红联Linux门户
Linux帮助

安装VMWare过程中蓝屏了(解决方案)

发布时间:2014-07-28 09:19:34来源:linux网站作者:banketree

今天安装VMWare过程中蓝屏了,重启再次安装发现:

The MSI 'C:\DOCUME~1\LOCALS~1\Temp\vmware_1295537967\vmware workstation.msi' failed

不管换多少个版本,都是上面的结果,原因是vmware在系统中有残留文件以及注册表信息。测试了网上一些删除操作,发现都不行。


但我发现下面的方法行:

退出所有的安全软件(安装存在冲突)

将以下代码保存为文本文件,改后缀为.cmd然后以管理员身份执行,命令会自动清理以前残留的VMware信息。


卸载VMware.cmd

cls
@echo off
CLS
color 0a
Title 卸载 VMware
set vmbit=
IF "%PROCESSOR_ARCHITECTURE%" neq "x86" set vmbit=64

echo 你确定要卸载 VMware 8 吗?
echo 按任意键继续卸载 VMware 8 !!!&pause>nul

echo 正在删除服务和设备,可能需要几分钟,请稍后...
echo 如果三分钟后还没动静,请在卸载批处理上敲一下回车键后继续等待...

msiexec.exe /x vmwarevmcisockets.msi /qn /norestart
msiexec.exe /x vmwarevmcisockets64.msi /qn /norestart
vnetlib%vmbit%.exe -- stop authd >nul 2>nul
vnetlib%vmbit%.exe -- uninstall authd >nul 2>nul
net stop VMAuthdService >nul 2>nul
sc delete VMAuthdService >nul 2>nul
net stop VMwareHostd >nul 2>nul
sc delete VMwareHostd >nul 2>nul

vnetlib%vmbit%.exe -- stop dhcp >nul 2>nul
vnetlib%vmbit%.exe -- uninstall dhcp >nul 2>nul
vnetlib%vmbit%.exe -- stop nat >nul 2>nul
vnetlib%vmbit%.exe -- uninstall nat >nul 2>nul
vnetlib%vmbit%.exe -- stop bridge >nul 2>nul
vnetlib%vmbit%.exe -- uninstall bridge >nul 2>nul
vnetlib%vmbit%.exe -- stop userif >nul 2>nul
vnetlib%vmbit%.exe -- uninstall userif >nul 2>nul
vnetlib%vmbit%.exe -- stop adapter >nul 2>nul
vnetlib%vmbit%.exe -- uninstall adapter >nul 2>nul
rundll32 vnetlib%vmbit%.dll,VNL_RemoveAllNetworkDevices

net stop VMUSBArbService >nul 2>nul
sc delete VMUSBArbService >nul 2>nul
vnetlib%vmbit%.exe -- stop usb
vnetlib%vmbit%.exe -- uninstall usb
vnetlib%vmbit%.exe -- stop hcmon >nul 2>nul
vnetlib%vmbit%.exe -- uninstall hcmon >nul 2>nul

net stop vstor2-mntapi10-shared >nul 2>nul
sc delete vstor2-mntapi10-shared >nul 2>nul

vnetlib%vmbit%.exe -- stop vmkbd >nul 2>nul
vnetlib%vmbit%.exe -- uninstall vmkbd >nul 2>nul
net stop vmkbd >nul 2>nul
sc delete vmkbd >nul 2>nul

vnetlib%vmbit%.exe -- stop vmparport >nul 2>nul
vnetlib%vmbit%.exe -- uninstall vmparport >nul 2>nul

vnetlib%vmbit%.exe -- stop vmx86 >nul 2>nul
vnetlib%vmbit%.exe -- uninstall vmx86 >nul 2>nul

vnetlib.exe -- uninstall vmci
echo.

echo 取消DLL文件的注册...
regsvr32 /u /s "%cd%\vmappcfg.dll"
regsvr32 /u /s "%cd%\vmappsdk.dll"
regsvr32 /u /s "%cd%\vmdbCOM.dll"
echo.

echo 删除注册表....
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc." /f >nul 2>nul
reg delete "HKEY_CURRENT_USER\SOFTWARE\VMware, Inc." /f >nul 2>nul
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VMware, Inc." /f >nul 2>nul
reg delete "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\VMware, Inc." /f >nul 2>nul
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32" /f /v "VIDC.VMnc" >nul 2>nul
reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32" /f /v "VIDC.VMnc" >nul 2>nul
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\VMware" /f >nul 2>nul
echo.

echo 删除文件...
rmdir /s /q "%AllUsersProfile%\Application Data\VMware" >nul 2>nul
rmdir /s /q "%AppData%\VMware" >nul 2>nul
rmdir /s /q "%CommonProgramFiles%\VMware" >nul 2>nul
rmdir /s /q "%WinDir%\inf\VMware" >nul 2>nul
IF "%PROCESSOR_ARCHITECTURE%" neq "x86" rmdir /s /q "%CommonProgramFiles(x86)%\VMware" >nul 2>nul
del /f /q "%WinDir%\system32\vmnc.dll" >nul 2>nul
del /f /q "%WinDir%\SysWOW64\vmnc.dll" >nul 2>nul
del /f /q "%WinDir%\system32\vnetinst.dll" >nul 2>nul
del /f /q "%WinDir%\system32\vnetlib*.dll" >nul 2>nul
del /f /q "%windir%\system32\drivers\vstor2-mntapi10-shared.sys" >nul 2>nul
del /f /q "%WinDir%\SysWOW64\drivers\vstor2-mntapi10-shared.sys" >nul 2>nul
del /f /q "%AllUsersProfile%\桌面\VMware.lnk" >nul 2>nul
del /f /q "%AllUsersProfile%\Desktop\VMware.lnk" >nul 2>nul
del /f /q "%USERPROFILE%\桌面\VMware.lnk" >nul 2>nul
del /f /q "%USERPROFILE%\Desktop\VMware.lnk" >nul 2>nul
del /f /q "%WinDir%\system32\drivers\vmnet*.sys" >nul 2>nul
del /f /q "%WinDir%\system32\drivers\vmparport.sys" >nul 2>nul
del /f /q "%WinDir%\system32\drivers\VMkbd.sys" >nul 2>nul
del /f /q "%WinDir%\system32\drivers\vmx86.sys" >nul 2>nul
del /f /q "%WinDir%\system32\drivers\vmusb.sys" >nul 2>nul
del /f /q "%WinDir%\system32\drivers\vmci.sys" >nul 2>nul
del /f /q "%WinDir%\system32\vmnetdhcp.exe" >nul 2>nul
del /f /q "%WinDir%\system32\vmnat.exe" >nul 2>nul
del /f /q "%WinDir%\system32\vmnetbridge.dll" >nul 2>nul
del /f /q "%WinDir%\SysWOW64\vmnetdhcp.exe" >nul 2>nul
del /f /q "%WinDir%\SysWOW64\vmnat.exe" >nul 2>nul
echo.

echo 删除 __vmware_user__ 账户和用户组 ...
net localgroup users __vmware_user__ /del >nul 2>nul
net localgroup __vmware__ /del >nul 2>nul
net user __vmware_user__ /del >nul 2>nul
echo.

echo 恢复配置文件...
ver|find "6.">nul && (set profilepath=%AllUsersProfile%)
ver|find "5.">nul && (set profilepath=%AllUsersProfile%\Application Data)
start /wait str.exe preferences.ini 0 0 /R /asc:"%cd%" /asc:"VMwareDir" /A >nul 2>nul
start /wait str.exe environments.xml 0 0 /R /asc:"%cd%" /asc:"VMwareDir" /A >nul 2>nul

start /wait str.exe "%profilepath%\VMware\hostd\config.xml" 0 0 /R /asc:"%cd%" /asc:"VMwareDir" /A >nul 2>nul
start /wait str.exe "%profilepath%\VMware\hostd\datastores.xml" 0 0 /R /asc:"%cd%" /asc:"VMwareDir" /A >nul 2>nul
start /wait str.exe "%profilepath%\VMware\hostd\stats\hostAgentStats.xml" 0 0 /R /asc:"%profilepath%\VMware" /asc:"hostdDir" /A >nul 2>nul
start /wait str.exe "%profilepath%\VMware\hostd\config.xml" 0 0 /R /asc:"%profilepath%\VMware" /asc:"hostdDir" /A >nul 2>nul

net stop "VMware NAT Service" >nul 2>nul&&sc delete "VMware NAT Service" >nul 2>nul
net stop VMnetDHCP >nul 2>nul&&sc delete VMnetDHCP >nul 2>nul
net stop VMnetAdapter >nul 2>nul&&sc delete VMnetAdapter >nul 2>nul
net stop vmusb >nul 2>nul&&sc delete vmusb >nul 2>nul
net stop VMnetBridge >nul 2>nul&&sc delete VMnetBridge >nul 2>nul
net stop vmci >nul 2>nul&&sc delete vmci >nul 2>nul
echo.
sc delete "vstor2-mntapi10-shared" >nul 2>nul
sc delete "VMparport" >nul 2>nul
sc delete VMUSBArbService >nul 2>nul
sc delete VMnetDHCP >nul 2>nul
sc delete "VMware NAT Service" >nul 2>nul
sc delete VMAuthdService >nul 2>nul
sc delete VMnetuserif >nul 2>nul
sc delete VMnetAdapter >nul 2>nul
sc delete vmkbd >nul 2>nul
sc delete vmx86 >nul 2>nul
echo.
pause>nul|echo 卸载完成,最好重新启动一下计算机,因为有些驱动可能需要重启后才能删除......
exit