heuschrecke
Goto Top

Deinstallations VBS ür ALLE WinZip Versionen

Deinstallations-Script für ALLE WinZip Versionen gesucht

Hallo zusammen face-smile
Ich bin schon längers verzweifelt einem Mechanismus am suchen, wie ich per VBS (oder .bat) WinZip deinstallieren kann. Das Problem ist nun, dass nicht alle User die gleiche Version (also von 8.0 bis 14.5 ist alles möglich) haben und dann noch in ca. 4 verschiedenen Sprachen. Deswegen wird's mit dem Batch, der über die GUID WinZip deinstalliert schwierig, da jede Version und jede Sprache eine andere GUID hat..
Nun wäre ein Script toll, welches einfach alles wegputzt was mit WinZip zu tun hat...
Weiss jemand einen Rat?

Wäre sehr froh face-smile

Liebe Grüsse

Content-ID: 143251

Url: https://administrator.de/contentid/143251

Ausgedruckt am: 23.11.2024 um 07:11 Uhr

60730
60730 20.05.2010 um 16:53:55 Uhr
Goto Top
Moin,

ich hab kein Winzip zur Hand, dass ich da nachsehen könnte, aber das sollte doch auf jeden Fall eine Uninstall Zeile in der Registry hinterlassen.

Wenn man jetzt 2-3 davon hätte - könnte man auch was drumherumbauen, dass die Version erkennt und weghaut.

Hin & wieder legt Software ja auch direkt im Programpfad eine uninstall.exe ab - macht das Winzip nicht auch so?

Mal zum Spass diese beiden Scriptschnippsel abspeichern:

check.cmd
cscript /nologo software.vbs>%computername%.csv
sort %computername%.csv /o %computername%.ini
findstr /i "WinZip" %computername%.ini >%computername%.csv  

software.vbs
strHost = "."  
Const HKLM = &H80000002
Set objReg = GetObject("winmgmts://" & strHost & _  
    "/root/default:StdRegProv")  
Const strBaseKey = _
    "Software\Microsoft\Windows\CurrentVersion\Uninstall\"  
objReg.EnumKey HKLM, strBaseKey, arrSubKeys
 For Each strSubKey In arrSubKeys
    intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
        "DisplayName", strValue1)  
    intver = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
        "DisplayVersion", strValue2)  
    If intRet <> 0 Then
        intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
        "QuietDisplayName", strValue1)  
        intver = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
	"QuietDisplayVersion", strValue2)  
               End If
	If (strValue1 <> "") and (strValue2 <> "") and (intRet = 0) Then  
        	strprint = "j"  
		WScript.Echo strValue1 & "," & strValue2  
		If (strprint <> "j") and (strValue1 <> "") and (strValue2 = "") and (intRet = 0) Then  
        	strprint = "n"  
		WScript.Echo strValue1 & ",0"  
		End If
	End If
Next

Die Schnippsel sollten ja eigentlich die Grundlage meine nächste Anleitung werden....

Gruß
heuschrecke
heuschrecke 21.05.2010 um 14:37:49 Uhr
Goto Top
Hallo,
Vielen Dank, das funktioniert und ich kann die WinZip Version auslesen. Wie ist es nun möglich, per Script diese Prüfung zu verwenden und, je nach WinZip Version, einen anderen Deinstallationsmechanismus vorzunehmen?
Oder allgemein gesagt, alle WinZip Versionen zu entfernen?

WinZip legt unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths ein winzip32.exe an. Über dieses lässt sich per uninstallx WinZip deinstallieren.

Oder auch über die GUID wäre es theoretisch möglich, jedoch wird diese erst ab Version 11.1 (glaube ich) erstellt. Die älteren Versionen legen nur einen WinZip Schlüssel im Uninstall an. Das Problem der GUID's ist noch, das für jede Version und jede Sprache eine andere GUID existiert... man könnte es per Batch lösen, doch wie gesagt, riesen aufwändig mit all diesen verschiedenen GUIDs und eben, ab V. 11.0 abwärts gehts dann eh nicht mehr so.

Aber es sollte doch wirklich eine möglichkeit geben, WinZip einfach wegzuputzen?!

Vielen Dank schon mal ;)
60730
60730 21.05.2010 um 15:57:20 Uhr
Goto Top
Salü,

sorry für die nicht ganz verständlichen Zeilen.

Ich hab kein Winzip, um dir von meinem System aus helfen zu können, aber mit dem Scriptschnippsel kannst du ja die Ausgabe der verschiedenen Versionen hier veröffentlichen.

Denn deine Überschrift zur Frage ist viel zu passend für die Suchmachinen, als das wir das nicht "für alle" einen Lösungsansatz finden sollten.

Also poste doch bitte den Output des Scriptes und wirs sehen, was wir tun können - dann editier ich den Beitrag auch so, dass er der Lösungfindung dienlicher ist.

Gruß
heuschrecke
heuschrecke 21.05.2010 um 16:51:17 Uhr
Goto Top
Hi,

Okay, tut mir leid für das Misverständnis.

Der Output ist WinZip 12.0,12.0.8252

Gruss