note that Z0mbies method doesn't work on VirtualPC 2004.
There's a simpler way to check it. Look at below script, taken from elsewhere
PHP Code:
Debug Off
Break On
Dim $iRC,$Msg,$Kix
$iRC=SetOption('Explicit','On')
$iRC=SetOption('NoVarsInStrings','On')
Dim $VMWUser,$VMWPath,$VMWVer,$VMWToolsVer,$HKLMSCCS,$HKLMSMWCV,$CVMVer,$CVMMapper,$CVMMapperVer
$Kix = SubStr(@KIX,1,4)
If $Kix < "4.22"
$Msg = MessageBox('This Script requires at least KiXtart 4.22 ','Version Check',4112)
Quit()
EndIf
$HKLMSCCS = 'HKLM\SYSTEM\CurrentControlSet'
$HKLMSMWCV = 'HKLM\Software\Microsoft\Windows\CurrentVersion'
$VMWUser = Trim(ReadValue($HKLMSMWCV + '\Run','VMware User Process'))
$VMWPath = ReadValue($HKLMSMWCV + '\App Paths\vmware.exe','Path')
$VMWVer = GetFileVersion($VMWPath +'\vmware.exe','ProductVersion')
$VMWToolsVer = GetFileVersion(ReadValue($HKLMSCCS + '\Services\VMware Tools Service','ImagePath'),'ProductVersion')
$CVMVer = GetFileVersion(Left(ReadValue('HKLM\SOFTWARE\Classes\Virtual.PC.Floppy\DefaultIcon',""),-5),'ProductVersion')
$CVMMapper = ReadValue($HKLMSCCS + '\Services\VPCMap','DisplayName')
$CVMMapperVer = GetFileVersion(ReadValue($HKLMSCCS + '\Services\VPCMap','ImagePath'),'ProductVersion')
? 'VMWare Running: ' + $VMWToolsVer
? 'VMWare Installed: ' + $VMWVer
? 'Connectix Running: ' + $CVMMapperVer
? 'Connectix Installed: ' + $CVMVer
it's for a particular scripting lang, but it can be easily understood to see which reg keys it is checking.
It works on VPC 2004 also.
I think that the VPCMap.exe file is always present into a VirtualPC