End Function\r
\r
\r
+Function DriverFileDelete(fso,WshShell,filename)\r
+ Err.clear\r
+ If fso.FileExists(filename) Then\r
+ On Error Resume Next \r
+ ' unlock the driver file by deleting PnPLocked reg entry.\r
+ base = "reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\PnpLockdownFiles /v "\r
+ Return = WshShell.Run (base & filename & " /f", 0, true)\r
+ fso.DeleteFile(filename),True\r
+ If (Err And Err.Number <> 70) Then ' tolerate protection errors\r
+ ErrMsg ("Could not delete: " & filename)\r
+ End If \r
+ End If\r
+End Function\r
+\r
+\r
+\r
Function FileMDelete(src,file)\r
Dim rc,cmd\r
On Error Resume Next \r
' when the driver is uninstalled. Win2K3/x64 files persist, XP & Win2K3/x86\r
' the driver files are correctly remove?\r
\r
-Function RemoveDriverFiles()\r
+Function RemoveDriverFiles(WshShell)\r
Dim Win, sDRIVERS, sSystem64Folder, sInstalldir, sSYS32, sSYSWOW64\r
- Dim sSystemFolder, CheckMode, PropArray, dllCache\r
+ Dim sSystemFolder, CheckMode, PropArray, dllCache, fso, sTemp\r
\r
' Function can be called from the Driver{Install/Uninstall} rtns.\r
' (properties are different).\r
sInstalldir = Session.Property("INSTALLDIR") \r
sSystemFolder = Session.Property("SystemFolder") \r
End if\r
- \r
+\r
+ Set WshShell = CreateObject("WScript.Shell")\r
+ Set fso = CreateObject("Scripting.FileSystemObject")\r
+\r
MTARCH = Architecture \r
\r
' this is screw-ball: on 64-bit systems: SystemFolder == %windir%\SysWOW64\r
End If\r
sDRIVERS = sSYS32 & "drivers\"\r
\r
- FileDelete(sDRIVERS & "ibbus.sys")\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "ibbus.sys"\r
FileDelete(sDRIVERS & "ibbus.sy1")\r
- FileDelete(sDRIVERS & "ibiou.sys")\r
- FileDelete(sDRIVERS & "mthca.sys")\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "ibiou.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "mthca.sys"\r
FileDelete(sDRIVERS & "mthca.sy1")\r
- FileDelete(sDRIVERS & "mlx4_bus.sys")\r
- FileDelete(sDRIVERS & "mlx4_hca.sys")\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "mlx4_bus.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "mlx4_hca.sys"\r
\r
- FileDelete(sDRIVERS & "ipoib.sys")\r
- FileDelete(sDRIVERS & "ibsrp.sys")\r
- FileDelete(sDRIVERS & "vnic.sys")\r
- FileDelete(sDRIVERS & "qlgcvnic.sys")\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "ipoib.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "ibsrp.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "vnic.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "qlgcvnic.sys"\r
\r
dllCache = sSystem64Folder & "dllcache\"\r
- FileDelete(dllCache & "ibal.dll")\r
- FileDelete(dllCache & "ibald.dll")\r
- FileDelete(dllCache & "complib.dll")\r
- FileDelete(dllCache & "complibd.dll")\r
- FileDelete(dllCache & "mthcau.dll")\r
- FileDelete(dllCache & "mthcaud.dll")\r
- FileDelete(dllCache & "mlx4u.dll")\r
- FileDelete(dllCache & "mlx4ud.dll")\r
- FileDelete(dllCache & "IbInstaller.dll")\r
- FileDelete(dllCache & "ibwsd.dll")\r
- FileDelete(dllCache & "ibsrp.dll")\r
- FileDelete(dllCache & "ibsrpd.dll")\r
+ If fso.FolderExists(dllCache) Then\r
+ FileDelete(dllCache & "ibal.dll")\r
+ FileDelete(dllCache & "ibald.dll")\r
+ FileDelete(dllCache & "complib.dll")\r
+ FileDelete(dllCache & "complibd.dll")\r
+ FileDelete(dllCache & "mthcau.dll")\r
+ FileDelete(dllCache & "mthcaud.dll")\r
+ FileDelete(dllCache & "mlx4u.dll")\r
+ FileDelete(dllCache & "mlx4ud.dll")\r
+ FileDelete(dllCache & "IbInstaller.dll")\r
+ FileDelete(dllCache & "ibwsd.dll")\r
+ FileDelete(dllCache & "ibsrp.dll")\r
+ FileDelete(dllCache & "ibsrpd.dll")\r
+ End if\r
\r
- FileDelete(sSYS32 & "ibal.dll")\r
- FileDelete(sSYS32 & "ibald.dll")\r
- FileDelete(sSYS32 & "ibal32.dll")\r
- FileDelete(sSYS32 & "ibal32d.dll")\r
- FileDelete(sSYS32 & "complib.dll")\r
- FileDelete(sSYS32 & "complibd.dll")\r
- FileDelete(sSYS32 & "cl32.dll")\r
- FileDelete(sSYS32 & "cl32d.dll")\r
- FileDelete(sSYS32 & "mthcau.dll")\r
- FileDelete(sSYS32 & "mthcaud.dll")\r
- FileDelete(sSYS32 & "mthca32.dll")\r
- FileDelete(sSYS32 & "mthca32d.dll")\r
- FileDelete(sSYS32 & "mlx4u.dll")\r
- FileDelete(sSYS32 & "mlx4ud.dll")\r
- FileDelete(sSYS32 & "mlx4u32.dll")\r
- FileDelete(sSYS32 & "mlx4u32d.dll")\r
- FileDelete(sSYS32 & "ibsrp.dll")\r
- FileDelete(sSYS32 & "ibsrpd.dll")\r
- FileDelete(sSYS32 & "IbInstaller.dll")\r
- FileDelete(sSYS32 & "ibwsd.dll")\r
- FileDelete(sSYS32 & "ibndprov.dll")\r
- FileDelete(sSYS32 & "ibndprov32.dll")\r
- FileDelete(sSYS32 & "ndinstall.exe")\r
-\r
- If (MTARCH <> "x86") Then\r
- FileDelete(sSYSWOW64 & "ibal.dll")\r
- FileDelete(sSYSWOW64 & "ibald.dll")\r
- FileDelete(sSYSWOW64 & "complib.dll")\r
- FileDelete(sSYSWOW64 & "complibd.dll")\r
- FileDelete(sSYSWOW64 & "mthcau.dll")\r
- FileDelete(sSYSWOW64 & "mthcaud.dll")\r
- FileDelete(sSYSWOW64 & "mlx4u.dll")\r
- FileDelete(sSYSWOW64 & "mlx4ud.dll")\r
- FileDelete(sSYSWOW64 & "ibsrp.dll")\r
- FileDelete(sSYSWOW64 & "ibsrpd.dll")\r
- FileDelete(sSYSWOW64 & "IbInstaller.dll")\r
- FileDelete(sSYSWOW64 & "ibwsd.dll")\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibal.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibald.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibal32.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibal32d.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "complib.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "complibd.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "cl32.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "cl32d.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mthcau.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mthcaud.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mthca32.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mthca32d.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mlx4u.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mlx4ud.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mlx4u32.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "mlx4u32d.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibsrp.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibsrpd.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "IbInstaller.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibwsd.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibndprov.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ibndprov32.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "ndinstall.exe"\r
+\r
+ If fso.FolderExists(sSYSWOW64) Then\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "ibal.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "ibald.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "complib.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "complibd.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "mthcau.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "mthcaud.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "mlx4u.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "mlx4ud.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "ibsrp.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "ibsrpd.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "IbInstaller.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "ibwsd.dll"\r
+ DriverFileDelete fso,WshShell,sSYSWOW64 & "ibndprov.dll"\r
End If\r
\r
- FileDelete(Win & "lastgood\system32\ibwsd.dll")\r
- FileDelete(Win & "lastgood\SysWOW64\ibwsd.dll")\r
- FileDelete(Win & "lastgood\SysWOW64\mthcau.dll")\r
- FileDelete(Win & "lastgood\SysWOW64\mthcaud.dll")\r
- FileDelete(Win & "lastgood\system32\mthcau.dll")\r
- FileDelete(Win & "lastgood\system32\mthcaud.dll")\r
- FileDelete(Win & "lastgood\system32\drivers\mthcau.dll")\r
- FileDelete(Win & "lastgood\system32\drivers\mthcaud.dll")\r
- FileDelete(Win & "lastgood\system32\drivers\mthca.sys")\r
+ If fso.FolderExists(Win & "lastgood" ) Then\r
+ FileDelete(Win & "lastgood\system32\ibwsd.dll")\r
+ FileDelete(Win & "lastgood\SysWOW64\ibwsd.dll")\r
+ FileDelete(Win & "lastgood\SysWOW64\mthcau.dll")\r
+ FileDelete(Win & "lastgood\SysWOW64\mthcaud.dll")\r
+ FileDelete(Win & "lastgood\system32\mthcau.dll")\r
+ FileDelete(Win & "lastgood\system32\mthcaud.dll")\r
+ FileDelete(Win & "lastgood\system32\drivers\mthcau.dll")\r
+ FileDelete(Win & "lastgood\system32\drivers\mthcaud.dll")\r
+ FileDelete(Win & "lastgood\system32\drivers\mthca.sys")\r
+ End If\r
\r
FileDelete(Win & "winverbs.lib")\r
- FileDelete(sDRIVERS & "winverbs.sys")\r
- FileDelete(sSYS32 & "winverbs.dll")\r
- FileDelete(sSYS32 & "winverbsd.dll")\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "winverbs.sys"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "winverbs.dll"\r
+ DriverFileDelete fso,WshShell,sSYS32 & "winverbsd.dll"\r
\r
' delete opensm files\r
- Dim fso\r
- Dim sTemp\r
- Set fso = CreateObject("Scripting.FileSystemObject")\r
sTemp = fso.GetSpecialFolder(0) & "\temp\"\r
' remove files from %SystemRoot%\temp\r
FileDelete(sTemp & "guid2lid")\r
\r
' Delete oem*.inf and oem*.pnf files\r
dim InfFiles, PnfFiles, IFILES, PFILES\r
- Set WshShell = CreateObject("WScript.Shell")\r
Set infFilesExec = WshShell.Exec ("cmd.exe /c for /f %i in ('findstr /m Mellanox %WINDIR%\inf\oem*.*') do @echo %i")\r
' Display error number and description if applicable\r
If Err Then ShowError\r
\r
' Function to add registry DWORD val.\r
Function AddRegDWORDValue(strKeyPath, strValueName, dwValue)\r
- const HKEY_LOCAL_MACHINE = &H80000002\r
+ Const HKEY_LOCAL_MACHINE = &H80000002\r
strComputer = "."\r
\r
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ \r
' Function to add registry Expanded string val.\r
\r
Function AddRegExpandValue(strKeyPath, strValueName, dwValue)\r
- const HKEY_LOCAL_MACHINE = &H80000002\r
+ Const HKEY_LOCAL_MACHINE = &H80000002\r
strComputer = "."\r
\r
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ \r
' Function to add registry string val.\r
\r
Function AddRegStringValue(strKeyPath, strValueName, dwValue)\r
-const HKEY_LOCAL_MACHINE = &H80000002\r
+Const HKEY_LOCAL_MACHINE = &H80000002\r
strComputer = "."\r
\r
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ \r
' For installer error codes see\r
' http://msdn2.microsoft.com/en-us/library/aa368542(VS.85).aspx \r
\r
-const ERROR_INSTALL_SOURCE_ABSENT = 1612 ' missing files to install,\r
+Const ERROR_INSTALL_SOURCE_ABSENT = 1612 ' missing files to install,\r
' invalid feature selection.\r
-const ERROR_INSTALL_FAILURE = 1603 ' fatal error during installation\r
-const ERROR_FUNCTION_FAILED = 1627 ' function failed during execution \r
-const ERROR_SUCCESS_REBOOT_REQUIRED = 3010 ' restart required\r
+Const ERROR_INSTALL_FAILURE = 1603 ' fatal error during installation\r
+Const ERROR_FUNCTION_FAILED = 1627 ' function failed during execution \r
+Const ERROR_SUCCESS_REBOOT_REQUIRED = 3010 ' restart required\r
+\r
+Const DPINST_ERR = &H80000000\r
\r
\r
''''''''''' Device Driver Install ''''''''''''\r
' Display error number and description if applicable\r
If Return <> 0 Then\r
msgbox "mlx4_hca Install Err(" & Return & ") " & cmd\r
- remove_INF_file WshShell,dpinst,"mlx4_"\r
+ remove_INF_file WshShell,devmanEXE,"mlx4_"\r
DriverInstall=ERROR_INSTALL_FAILURE\r
Exit Function\r
End if\r
\r
If DrvInstalled <> true Then\r
msgbox "InfiniHost(mthca) Install Err(" & Return & ") " & cmd\r
- remove_INF_file WshShell,dpinst,"mthca"\r
+ remove_INF_file WshShell,devmanEXE,"mthca"\r
DriverInstall=ERROR_INSTALL_FAILURE\r
Exit Function\r
End if\r
' Find IBA devices using Devcon\r
\r
Function Find_IBA_Devices(WshShell,sInstalldir) \r
+ Dim dev\r
\r
Set ibaDevicesExec = WshShell.Exec ("cmd.exe /c cd " & sInstalldir & "IBcore & devman.exe findall * | FIND ""IBA""")\r
ibaDevices = split(ibaDevicesExec.StdOut.ReadAll, vbCrLF)\r
' Getting the array Size\r
dim arrSize\r
arrSize = 0\r
- for each deviceCan in ibaDevices\r
- if (Instr(deviceCan,"IBA\") = 1) Then\r
+ for each dev in ibaDevices\r
+ if (Instr(dev,"IBA\") = 1) Then\r
arrSize = arrSize + 1\r
End if\r
next\r
dim ibaDev()\r
Redim ibaDev(arrSize - 1)\r
index = 0\r
- for each deviceCan in ibaDevices\r
- if (Instr(deviceCan,"IBA\") = 1) Then\r
- ibaDev(index) = deviceCan\r
+ for each dev in ibaDevices\r
+ if (Instr(dev,"IBA\") = 1) Then\r
+ ibaDev(index) = dev\r
index = index + 1\r
End if\r
next\r
' were created for IPoIB.\r
\r
Function Find_IPOIB_LAC()\r
- Set WshShell = CreateObject("WScript.Shell")\r
-\r
- If (Session.Property("VersionNT") <> 501) Then\r
- ' Win2K3 style\r
- cmd = "cmd.exe /c reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network /f ""IBA\IPOIB"" /s /d | FIND ""Connection"" "\r
- Else\r
- ' XP style\r
- cmd = "reg.exe query HKLM\SYSTEM\CurrentControlSet\Control\Network /s | FIND ""}\Connection"" " \r
- End if\r
+ Dim WinOS,cmd,base,dev\r
\r
- Set ibaDevicesExec = WshShell.Exec ("cmd.exe /C " & cmd)\r
+ Set WshShell = CreateObject("WScript.Shell")\r
+ base = "cmd.exe /c reg query HKLM\SYSTEM\CurrentControlSet\Control\Network"\r
+ WinOS = Session.Property("VersionNT")\r
+\r
+ If (WinOS <> 501) Then\r
+ ' Win2K3 style\r
+ cmd = base & " /f ""IBA\IPOIB"" /s /d | FIND ""Connection"" "\r
+ Else\r
+ ' XP style\r
+ cmd = base & " /s | FIND ""}\Connection"" " \r
+ End if\r
+\r
+ Set ibaDevicesExec = WshShell.Exec ("cmd.exe /C " & cmd)\r
\r
ibaDevices = split(ibaDevicesExec.StdOut.ReadAll, vbCrLF)\r
\r
' determine the array Size\r
dim arrSize\r
arrSize = 0\r
- for each deviceCan in ibaDevices\r
+ for each dev in ibaDevices\r
arrSize = arrSize + 1\r
next\r
'Creating array of Local Area Connections based on IPoIB\r
dim ibaDev()\r
Redim ibaDev(arrSize - 1)\r
index = 0\r
- for each deviceCan in ibaDevices\r
- ibaDev(index) = deviceCan\r
- index = index + 1\r
+\r
+ For each dev in ibaDevices\r
+ If dev = "" Then\r
+ ElseIf WinOS <> 501 then\r
+ ' ibaDev(index) = dev\r
+ delstr = Left(dev,Len(dev)-Len("\Connection"))\r
+ ibaDev(index) = delstr\r
+ index = index + 1\r
+ Else\r
+ ' XP reg.exe format sucks, unable to filter IBA\IPOIB, so we do\r
+ ' it here....sigh.\r
+ Set rex = WshShell.Exec ("cmd.exe /C reg.exe query " & dev & _\r
+ " /v PnpInstanceID | FIND ""IBA\IPOIB"" ")\r
+ resp = split(rex.StdOut.ReadAll, vbCrLF)\r
+ For each re in resp\r
+' msgbox "XP dev " & dev\r
+' msgbox "XP re " & re\r
+ if Instr(re,"IPOIB") Then\r
+ delstr = Left(dev,Len(dev)-Len("\Connection"))\r
+ ibaDev(index) = delstr\r
+ index = index + 1\r
+ Exit For\r
+ End If\r
+ next\r
+ End if\r
next\r
Find_IPOIB_LAC=ibaDev\r
\r
\r
' Remove QLogic VNIC instances\r
\r
-Sub Uninstall_VNIC(WshShell,devices,sInstalldir)\r
+Sub Uninstall_VNIC(fso,WshShell,devices,sInstalldir)\r
\r
Dim devman,devmanRMAT,devmanDAAT,Return,device,dt,sDRIVERS\r
\r
remove_INF_file WshShell,devman,"qlgcvnic.sys"\r
\r
sDRIVERS = Session.Property("WindowsFolder") & "system32\drivers\"\r
- FileDelete sDRIVERS & "vnic.sys"\r
- FileDelete sDRIVERS & "qlgcvnic.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "vnic.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "qlgcvnic.sys"\r
\r
End Sub\r
\r
\r
-Sub Uninstall_SRP(WshShell,devices,sInstalldir)\r
+Sub Uninstall_SRP(fso,WshShell,devices,sInstalldir)\r
\r
Dim devman,devmanRMAT,devmanDAAT,Return,device,sDRIVERS\r
\r
remove_INF_file WshShell,devman,"ibsrp.sys"\r
\r
sDRIVERS = Session.Property("WindowsFolder") & "system32\drivers\"\r
- FileDelete sDRIVERS & "ibsrp.sys"\r
+ DriverFileDelete fso,WshShell,sDRIVERS & "ibsrp.sys"\r
\r
End Sub\r
\r
\r
devices = Find_IBA_Devices(WshShell,sInstalldir)\r
\r
- Uninstall_SRP WshShell,devices,sInstalldir\r
+ Uninstall_SRP fso,WshShell,devices,sInstalldir\r
\r
- Uninstall_VNIC WshShell,devices,sInstalldir\r
+ Uninstall_VNIC fso,WshShell,devices,sInstalldir\r
\r
' remove any lingering IB I/O Units\r
For each devTarget in devices\r
DeleteRegKey "System\CurrentControlSet\Services\mlx4_bus"\r
DeleteRegKey "System\CurrentControlSet\Services\mlx4_hca"\r
DeleteRegKey "System\CurrentControlSet\Services\ipoib"\r
- DeleteRegKey "System\CurrentControlSet\Services\srp"\r
+ DeleteRegKey "System\CurrentControlSet\Services\ibiou"\r
+ DeleteRegKey "System\CurrentControlSet\Services\ibsrp"\r
DeleteRegKey "System\CurrentControlSet\Services\qlgcvnic"\r
- DeleteRegKey "System\CurrentControlSet\Services\vnic"\r
+ DeleteRegKey "System\CurrentControlSet\Services\winverbs"\r
\r
' Mthca\r
DeleteRegValue "SYSTEM\CurrentControlSet\Control\CoDeviceInstallers" ,_\r
"{58517E00-D3CF-40c9-A679-CEE5752F4491}"\r
+\r
DeleteRegKey "SYSTEM\CurrentControlSet\Control\Class\{58517E00-D3CF-40C9-A679-CEE5752F4491}" \r
\r
' Connectx (mlx4)\r
DeleteRegValue "SYSTEM\CurrentControlSet\Control\CoDeviceInstallers" ,_\r
"{31B0B28A-26FF-4dca-A6FA-E767C7DFBA20}" \r
+\r
DeleteRegKey "SYSTEM\CurrentControlSet\Control\Class\{31B0B28A-26FF-4dca-A6FA-E767C7DFBA20}"\r
+\r
DeleteRegKey "SYSTEM\CurrentControlSet\Control\Class\{714995B2-CD65-4a47-BCFE-95AC73A0D780}"\r
\r
+ ' In livefish mode, the above does not always work - just in case.\r
+ ' remove reg entries for ConnectX, mthca, ibbus, mlx4 & ipoib\r
+ nukem = Array(_\r
+ "Control\Class\{58517E00-D3CF-40C9-A679-CEE5752F4491}",_\r
+ "Control\Class\{31B0B28A-26FF-4dca-A6FA-E767C7DFBA20}",_\r
+ "Control\Class\{714995B2-CD65-4a47-BCFE-95AC73A0D780}",_\r
+ "Services\ibbus",_\r
+ "Services\mthca",_\r
+ "Services\mlx4_bus",_\r
+ "Services\mlx4_hca",_\r
+ "Services\ipoib",_\r
+ "Services\EventLog\System\ipoib",_\r
+ "Services\ibiou",_\r
+ "Services\qlgcvnic",_\r
+ "Services\ibsrp",_\r
+ "Services\winverbs" )\r
+\r
+ base = "reg.exe delete HKLM\SYSTEM\CurrentControlSet\" \r
+\r
' in livefish mode the delete didn't suceed, delete it in another way\r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{58517E00-D3CF-40C9-A679-CEE5752F4491} /f", 0, true)\r
- If Err Then ShowError\r
+ For each ID in nukem\r
+ If ID <> "" Then\r
+ Return = WshShell.Run (base & ID & " /f", 0, true)\r
+ End if\r
+ Next\r
\r
- ' ConnectX\r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{31B0B28A-26FF-4dca-A6FA-E767C7DFBA20} /f", 0, true)\r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{714995B2-CD65-4a47-BCFE-95AC73A0D780} /f", 0, true)\r
- \r
- ' mthca, ibbus, mlx4 & ipoib\r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ibbus /f", 0, true)\r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mthca /f", 0, true)\r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mlx4_bus /f", 0, true) \r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mlx4_hca /f", 0, true)\r
- Return = WshShell.Run ("reg.exe delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ipoib /f", 0, true)\r
+ Return = WshShell.Run (base & "Control\Wdf\Kmdf\kmdflibrary\versions\1\driverservices /v mlx4_bus /f", 0, true)\r
+\r
+' Not yet\r
+' Return = WshShell.Run ("reg.exe delete HKLM\Software\Microsoft\Windows\currentVersion\DIFx\DriverStore\WinVerbs_* /f", 0, true)\r
+' Return = WshShell.Run ("reg.exe delete HKLM\Software\Microsoft\Windows\currentVersion\DIFx\DriverStore\ipoib_* /f", 0, true)\r
+'\r
\r
' remove all Local Area Connection which were constructed for IPoIB\r
' create a list of IBA\IPOIB Local Area Connections via 'reg query'\r
Next\r
\r
' remove driver installed files\r
- RemoveDriverFiles\r
+ RemoveDriverFiles WshShell\r
\r
Session.Property("REBOOT") = "FORCE" \r
err.clear \r
status = 0\r
\r
Set WshShell = CreateObject("WScript.Shell")\r
- Return = WshShell.Run ("reg.exe query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ibbus /v ImagePath", 0, true)\r
+ Return = WshShell.Run ("reg.exe query HKLM\SYSTEM\CurrentControlSet\Services\ibbus /v ImagePath", 0, true)\r
If (Return = 0) And (Err.Number = 0) Then\r
Status = Status + 1\r
End if\r
If (Not IsNull(sRemove)) AND (sRemove <> "") Then\r
\r
If Instr(sRemove,"fSRP") Then\r
- Uninstall_SRP WshShell,Null,sInstalldir\r
+ Uninstall_SRP fso,WshShell,Null,sInstalldir\r
NeedReboot = NeedReboot + 1\r
End If\r
\r
If Instr(sRemove,"fVNIC") Then\r
- Uninstall_VNIC WshShell,Null,sInstalldir\r
+ Uninstall_VNIC fso,WshShell,Null,sInstalldir\r
NeedReboot = NeedReboot + 1\r
End If\r
End If\r