vSoul
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Dim strValue Dim strNewValue Dim strA strA = 2 Const HKEY_LOCAL_MACHINE = &H80000002 Public WShell WScript.Echo "Перед удалением Tortoise SVN и Visual SVN закройте, пожалуйста, все программы." strComputer = "." Set WShell = Wscript.CreateObject("Wscript.Shell") Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys For Each subkey In arrSubKeys strValueName = "DisplayName" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & subkey , strValueName, strValue If Left(strValue,11) = "TortoiseSVN" Then strValueName = "UninstallString" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & subkey , strValueName, strValue strNewValue = Mid(strValue,15,200) End If Next Set WshShell = CreateObject("WScript.Shell") Return = WshShell.Run ("%windir%\system32\msiexec.exe /qb /norestart /x" & strNewValue, 1, True) If Return = 3010 OR Return = 1641 OR Return = 0 Then Return = WshShell.Run ("cmd /k RD /S /Q ""%USERPROFILE%\Application Data\Subversion\"" & Exit", 1, True) Return = WshShell.Run ("cmd /k RD /S /Q ""%USERPROFILE%\Application Data\TortoiseSVN\"" & Exit") Return = WshShell.Run ("cmd /k RD /S /Q ""%USERPROFILE%\Local Settings\Application Data\TSVNCache\"" & Exit", 1, True) Return = WshShell.Run ("cmd /k RD /S /Q ""%ALLUSERSPROFILE%\Application Data\Subversion\"" & Exit", 1, True) Return = WshShell.Run ("cmd /k RD /S /Q ""%ProgramFiles%\TortoiseSVN\"" & Exit", 1, True) Else strA = (strA - 1) Call ExitWithErrorTortoise End If For Each subkey In arrSubKeys strValueName = "DisplayName" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & subkey , strValueName, strValue If Left(strValue,9) = "VisualSVN" Then strValueName = "UninstallString" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & subkey , strValueName, strValue strNewValue = Mid(strValue,15,200) End If Next Set WshShell = CreateObject("WScript.Shell") Return = WshShell.Run ("%windir%\system32\msiexec.exe /qb /norestart /x" & strNewValue, 1, True) If Return = 3010 OR Return = 1641 OR Return = 0 Then Return = WshShell.Run ("cmd /k RD /S /Q ""%ProgramFiles%\VisualSVN\"" & Exit", 1, True) Else strA = (strA - 1) Call ExitWithErrorVisual End If If strA > 0 Then areYousure = MsgBox("Пожалуйста, перезагрузитесь. Перезагрузить компьютер?", vbYesNo + vbQuestion,"Перезагрузка") If areYouSure = "7" Then Call SQuit Else strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colOperatingSystems objOperatingSystem.Reboot() Next End If Else call SQuit End If sub SQuit Wscript.quit End Sub sub ExitWithErrorTortoise Wscript.Echo "Ошибка при удалении Tortoise SVN. Удалите Tortoise SVN вручную. Переход к удалению Visual SVN." End Sub sub ExitWithErrorVisual Wscript.Echo "Ошибка при удалении Visual SVN. Удалите Visual SVN вручную. Завершение работы скрипта." Call SQuit End Sub | Всего записей: 22 | Зарегистр. 11-01-2007 | Отправлено: 23:17 04-05-2009 | Исправлено: vSoul, 23:19 04-05-2009 |
|