Seite 3 von 3
Re: [GELÖST] LibreOffice 3.5.5.3 deinstallieren?
Verfasst: 12 Mär 2014, 15:59
von hawaii
Hi mensch90,
die Lösung ist ja echt top, hatte gerade erst mit OPSI angefangen und die Uninstallstrings bei MSI Paketen waren mir auch immer ein Dorn im Auge, da ich nicht wusste wie ich das nach Version X noch pflegen soll. Macht sicher Sinn wenn man bestimmte Software mit verschiedenen Versionen fahren will, aber für den daily Gebrauch find ich deine Lösung echt top
Da ich gern noch vorher wissen würde ob das Programm auch installiert ist, hab ich deine Lösung noch um eine Abfrage des InstallStates erweitert:
Code: Alles auswählen
DefVar $local_wmic$
DefVar $local_wmic_checkstring$
DefVar $local_wmic_uninstallstring$
; WMIC-Exe
Set $local_wmic$ = "wmic.exe"
; WMIC-Checkinstallstring
Set $local_wmic_checkstring$ = EscapeString: product where "name like 'Adobe Flash%%'" get InstallState
; WMIC-Uninstallstring
Set $local_wmic_uninstallstring$ = EscapeString: product where "name like 'Adobe Flash%%'" call uninstall /nointeractive
if Trim(takeString(4,getOutStreamFromSection("DosInAnIcon_checkinstall"))) = "5"
DosInAnIcon_uninstall
endif
[DosInAnIcon_checkinstall]
"$local_wmic$" $local_wmic_checkstring$
[DosInAnIcon_uninstall]
"$local_wmic$" $local_wmic_uninstallstring$
Grüßle,
Kai
Re: [GELÖST] LibreOffice 3.5.5.3 deinstallieren?
Verfasst: 13 Mär 2014, 08:35
von mensch90
Die Abfrage ist aber eigentlich unnütz - wenn die Software nicht installiert ist, sagt dir wmic das auch "keine instanzen gefunden" und wirft - wie ich finde - korrekterweise keinen kritischen Errorcode

Den Adobeflashplayer würde ich übrigens anders entfernen - so bekomme ich den ganzen Adobe Flash Schmutz vollständig runter und neu auf das System:
Es gibt ein Removal Tool von Adobe, welches ich immer in der aktuellsten Fassung zusammen mit den aktuellen Flash-Player Versionen herunterlade und triggere:
http://helpx.adobe.com/de/flash-player/ ... ndows.html
Code: Alles auswählen
; Installation des Adobe Flashplayers
; WICHTIG: Immer alle drei Dateien aktualisieren!
; - Flash fuer Plugin-Browser
; - Flash fuer AX-Browser
; - Uninstaller für Flash (sehr wichtig, stets den aktuellen von Adobe verwenden!!!)
; info@karsten-nobis.de
; ----------------------------------------------------------------
[Actions]
requiredWinstVersion >= "4.11.2.6"
; Variablendefinition
; ----------------------------------------------------------------
; statisch, nicht verändern
DefVar $errorcode$
DefVar $logdir$
DefVar $productid$
DefVar $minimumspace$
; variabel, frei veränderbar
DefVar $local_installer_folder$
DefStringList $installer_file$
DefVar $installer_parameter$
DefVar $uninstaller_file$
DefVar $uninstaller_parameter$
DefVar $installer_current$
; Variablenzuweisung
; ----------------------------------------------------------------
; statisch, nur den Gegebenheiten anpassen
Set $logdir$ = "%SystemDrive%\tmp"
Set $productid$ = "adobeflash"
Set $minimumspace$ = "100 MB"
; teilstatisch, nur den Gegebenheiten anpassen
; Zielpfad auf dem Client
Set $local_installer_folder$ = "%System%\Macromed\Flash\"
; Angabe der Installationsdateien mit Reihenfolge
Set $installer_file$ = splitString ("flashplayer_plugin.exe|flashplayer_ax.exe", "|")
; Aufrufparameter für die Installationsdatei
Set $installer_parameter$ = "-install -au 2"
; Installationsdatei im Opsi-Paketordner "resources"
Set $uninstaller_file$ = "uninstaller.exe"
; Aufrufparameter für die Deinstallationsdatei
Set $uninstaller_parameter$ = "-uninstall"
; Skriptbeginn
; ----------------------------------------------------------------
; Prüfung auf freien Speicher
; ----------------------------------------------------------------
if not(Hasminimumspace ("%SystemDrive%", $minimumspace$))
LogError "Nicht genuegend freier Speicher auf %SystemDrive%, " + $minimumspace$ + " auf dem Speicher %SystemDrive% werden für " + $productid$ + " benoetigt!"
isFatalError "Kein Speicher"
; Ablauf stoppen und Installationsstatus auf fehlerhaft setzen.
endif
; Eigene Prozedurenaufrufe und Ablaufplanung
; ----------------------------------------------------------------
; variabel, frei veränderbar
Sub_preactions
Sub_uninstaller
Sub_installer
; Skriptende
; Subprozeduren
; ----------------------------------------------------------------
; Installationsopener - statisch, nicht verändern
[Sub_preactions]
ShowBitmap "%ScriptPath%\resources\logo.png" $productid$
Message "Installation von " + $productid$ + " wird ueberprueft..."
; variabel, frei veränderbar
[Sub_uninstaller]
if FileExists($local_installer_folder$)
Message "Deinstallation von " + $productid$ + " wird durchgefuehrt..."
WinBatch_uninstall
Sub_errorhandler
Message "Lokales Installationsverzeichnis wird bereinigt..."
Files_cleanup_local_installer_folder
endif
[Sub_installer]
for %CurrentString% in $installer_file$ do Sub_installer_single
[Sub_installer_single]
Set $installer_current$ = "%CurrentString%"
Message "Installation von " + $installer_current$ + " wird durchgefuehrt..."
WinBatch_install_single
Sub_errorhandler
; Fehlerbehandlungsroutine - statisch, nicht verändern
[Sub_errorhandler]
Set $errorcode$ = getLastExitCode
if ($errorcode$ = "0")
Message "Aktion war erfolgreich!"
else
Message "Aktion schlug mit Errorcode " + $errorcode$ + " fehl!"
isFatalError
endif
; Sektionen - variabel, frei veränderbar
; ----------------------------------------------------------------
[WinBatch_install_single]
"%ScriptPath%\resources\$installer_current$" $installer_parameter$
[WinBatch_uninstall]
"%ScriptPath%\resources\$uninstaller_file$" $uninstaller_parameter$
[Files_cleanup_local_installer_folder]
delete -sf "$local_installer_folder$"
Re: [GELÖST] LibreOffice 3.5.5.3 deinstallieren?
Verfasst: 13 Mär 2014, 22:21
von hawaii
Ah, cool das Tool kannt ich noch nicht, danke für den Hinweis! Man lernt nie aus

Re: [GELÖST] LibreOffice 3.5.5.3 deinstallieren?
Verfasst: 14 Mär 2014, 09:56
von mensch90
Gerne - dafür bekommt man ja hier im Forum manchmal ja auch eine Idee/Inspiration zurück. Opsi ist - nach gut 4 Monaten Einarbeitung - ein tolles Stück Software - es gibt kein schlechtes OPSI nur unfähige Scripteschreiber.
Jeder muss jedoch erstmal seine eigene Methode zur Scriptsegmentierung finden - die im Template gezeigte finde ich von der Struktur einfach grauenhaft und unübersichtlich
