Differences

This shows you the differences between two versions of the page.

Link to this comparison view

userspace:paint.net [2011/10/11 15:35] (current)
Der-Matze created
Line 1: Line 1:
 +====== Paint.net 3.5.10 ======
 +Script by Der-Matze \\
 +Comments and improvements welcome \\
  
 +Tested with opsi 4.0.1 \\
 +Tested with opsi-winst 4.10.x - 4.11.1.6 \\
 +Tested with Windows XP Professional and Windows 7 Enterprise x64 \\
 +
 +Installation Script for Paint.net \\
 +Uninstallation Script for Paint.net Versions 3.5.6 - 3.5.10 \\
 +
 +This script uses the check_msi-exitcode script: https://​forum.opsi.org/​wiki/​userspace:​check_msi-exitcode \\
 +
 +The installation file can be downloaded from: http://​www.getpaint.net/​download.html \\
 +
 +Unattended Installation Info: http://​www.getpaint.net/​doc/​latest/​UnattendedInstallation.html \\
 +
 +
 +==== Install.ins ====
 +
 +<code winst>
 +
 +[Initial]
 +
 +
 +
 +;Standard Text, der während der Installation angezeigt wird
 +
 + Message = Bitte warten, das Produkt wird installiert
 +
 +
 +
 +
 +
 +
 +
 +;Loglevel einstellen
 +
 + setLogLevel = 6
 +
 +
 +
 +
 +
 +
 +
 +;Bei Fehlern abbrechen
 +
 + ExitOnError = false
 +
 +
 +
 +
 +
 +
 +
 +;Syntax Fehler werden in einem separaten Fenster angezeigt
 +
 + ScriptErrorMessages = on
 +
 +
 +
 +
 +
 +
 +
 +;​Single-Step Mode nicht verwenden
 +
 + TraceMode = off
 +
 +
 +
 +
 +
 +
 +
 +;Im Batchmode das Winst-Fenster nicht im Vordergrund anzeigen
 +
 + StayOnTop = false
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +[Actions]
 +
 +
 +
 +;Variable für die Ermittlung des Betriebssystems
 +
 + DefVar $OS$
 +
 + Set $OS$ = GetOS
 +
 +
 +
 +
 +
 +
 +
 +;Variable für die Ermittlung der Betriebssystem Unterversion
 +
 + DefVar $NTVersion$
 +
 + Set $NTVersion$ = GetNTVersion
 +
 +
 +
 +
 +
 +
 +
 +;Variable zur Ermittlung der Systemarchitektur
 +
 + DefVar $SystemType$
 +
 + Set $SystemType$ = GetSystemType
 +
 +
 +
 +
 +
 +
 +
 +;Name des Produkts (max. 12 Zeichen)
 +
 + DefVar $ProductName$
 +
 + Set $ProductName$ = "​Paint.NET"​
 +
 +
 +
 +
 +
 +
 +
 +;​Vollständiger Produktname incl. Versionsnummer
 +
 + DefVar $ProductNameFull1$
 +
 + Set $ProductNameFull1$ = "​Paint.NET 3.5.10"​
 +
 +
 +
 +
 +
 +
 +
 +;Dateiname des Produktbildes mit Erweiterung
 +
 + DefVar $ProductPicture$
 +
 + Set $ProductPicture$ = "​paint.png"​
 +
 +
 +
 +
 +
 +
 +
 +;Dateinamen der zu installierenden MSI-Pakete
 +
 + DefVar $Executable1$
 +
 + Set $Executable1$ = "​PaintDotNet.x86.msi"​
 +
 +
 +
 +
 +
 +
 +
 +;Dateinamen der zu installierenden MSI-Pakete
 +
 + DefVar $Executable2$
 +
 + Set $Executable2$ = "​PaintDotNet.x64.msi"​
 +
 +
 +
 +
 +
 +
 +
 +;Die Variable zur Auswertung des ExitCodes
 +
 + DefVar $ExitCode$
 +
 +
 +
 +
 +
 +
 +
 +;Anzeigen der Installationsbenachrichtigung incl. des vollen Produktnamens
 +
 + Message "​Installiere "​+$ProductNameFull1$
 +
 +
 +
 +
 +
 +
 +
 +;Prüfen der Winst Version
 +
 + requiredWinstVersion >= "​4.11"​
 +
 +
 +
 +
 +
 +
 +
 +;​$ProductPicture$ und $ProductName$ anzeigen
 +
 + ShowBitmap /3 "​%scriptpath%\"​ + $ProductPicture$ $ProductName$
 +
 +
 +
 +
 +
 +
 +
 +;Freien Speicherplatz ermitteln
 +
 + if not (HasMinimumSpace ("​%SYSTEMDRIVE%",​ "500 MB"))
 +
 + LogError "Nicht genügend Platz auf %SYSTEMDRIVE%"​
 +
 + isFatalError
 +
 + endif
 +
 +
 +
 +
 +
 +
 +
 +;OS-Version ermitteln
 +
 + if ( $NTVersion$ = "​Win2K"​ OR $NTVersion$ = "​WinXP"​ OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "​Windows Vista" )
 +
 +
 +
 +
 +
 +
 +
 + if $SystemType$ = "x86 System"​
 +
 +
 +
 + Winbatch_Install_32Bit
 +
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 +
 +
 + endif
 +
 +
 +
 +
 +
 +
 +
 + if $SystemType$ = "64 Bit System"​
 +
 +
 +
 + Winbatch_Install_64Bit
 +
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 +
 +
 + endif
 +
 +
 +
 +
 +
 +
 +
 + else
 +
 + LogError "Kein kompatibles Betriebssystem installiert"​
 +
 + isFatalError
 +
 + endif
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +[Winbatch_Install_32Bit]
 +
 +
 +
 + msiexec.exe /i "​%SCRIPTPATH%\$Executable1$"​ /qb-! DESKTOPSHORTCUT=0
 +
 +
 +
 +
 +
 +
 +
 +[Winbatch_Install_64Bit]
 +
 +
 +
 + msiexec.exe /i "​%SCRIPTPATH%\$Executable2$"​ /qb-! DESKTOPSHORTCUT=0
 +
 +</​code>​
 +
 +==== Uninstall.ins ====
 +
 +<code winst>
 +
 +[Initial]
 +
 +
 +
 +;Standard Text, der während der Deinstallation angezeigt wird
 +
 + Message = Bitte warten, das Produkt wird deinstalliert
 +
 +
 +
 +
 +
 +
 +
 +;Loglevel einstellen
 +
 + setLogLevel = 6
 +
 +
 +
 +
 +
 +
 +
 +;Bei Fehlern abbrechen
 +
 + ExitOnError = false
 +
 +
 +
 +
 +
 +
 +
 +;Syntax Fehler werden in einem separaten Fenster angezeigt
 +
 + ScriptErrorMessages = on
 +
 +
 +
 +
 +
 +
 +
 +;​Single-Step Mode nicht verwenden
 +
 + TraceMode = off
 +
 +
 +
 +
 +
 +
 +
 +;Im Batchmode das Winst-Fenster nicht im Vordergrund anzeigen
 +
 + StayOnTop = false
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +[Actions]
 +
 +
 +
 +;Name des Produkts (max. 12 Zeichen)
 +
 + DefVar $ProductName$
 +
 + Set $ProductName$ = "​Paint.NET"​
 +
 +
 +
 +
 +
 +
 +
 +;Dateiname des Produktbildes mit Erweiterung
 +
 + DefVar $ProductPicture$
 +
 + Set $ProductPicture$ = "​paint.png"​
 +
 +
 +
 +
 +
 +
 +
 +;Die Variable zur Auswertung des ExitCodes
 +
 + DefVar $ExitCode$
 +
 +
 +
 +
 +
 +
 +
 +;​$ProductPicture$ und $ProductName$ anzeigen
 +
 + ShowBitmap /3 "​%scriptpath%\"​ + $ProductPicture$ $ProductName$
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +sub "​%ScriptPath%\SubUninstall.ins"​
 +
 +</​code>​
 +
 +==== SubUninstall.ins ====
 +
 +<code winst>
 +
 +;Variable für den msiexec Aufruf zur Deinstallation
 + DefVar $UninstallCommand$
 +
 +
 +
 +;Variable für die jeweilige Version. Wird aus der Registry ausgelesen
 + DefVar $DisplayName$
 +
 +
 +
 +
 +
 +;Paint.NET v3.5.6 32-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{639673E9-D53F-44F4-A046-485C8A6ADA15}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {639673E9-D53F-44F4-A046-485C8A6ADA15} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +;Paint.NET v3.5.6 64-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{639673E9-D53F-44F4-A046-485C8A6ADA16}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {639673E9-D53F-44F4-A046-485C8A6ADA16} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +;Paint.NET v3.5.7 32-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{45212F71-750F-4B98-8931-2F35DBE6B661}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {45212F71-750F-4B98-8931-2F35DBE6B661} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +;Paint.NET v3.5.7 64-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{45212F71-750F-4B98-8931-2F35DBE6B662}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {45212F71-750F-4B98-8931-2F35DBE6B662} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +;Paint.NET v3.5.8 32-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9CF4A37B-A8C4-44D7-8C53-13B9D9594BB2}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {9CF4A37B-A8C4-44D7-8C53-13B9D9594BB2} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +;Paint.NET v3.5.8 64-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9CF4A37B-A8C4-44D7-8C53-13B9D9594BB3}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {9CF4A37B-A8C4-44D7-8C53-13B9D9594BB3} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +;Paint.NET v3.5.10 32-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{529125EF-E3AC-4B74-97E6-F688A7C0F1BF}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {529125EF-E3AC-4B74-97E6-F688A7C0F1BF} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +;Paint.NET v3.5.10 64-Bit deinstallieren,​ wenn es in der Registry gefunden wurde
 + Set $DisplayName$ = GetRegistrystringvalueSysNative("​[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{529125EF-E3AC-4B74-97E6-F688A7C0F1C0}] DisplayName"​)
 + if not ($DisplayName$ = ""​)
 +
 + Message "​Deinstalliere "​+$DisplayName$
 + set $UninstallCommand$ = "​MsiExec.exe /x {529125EF-E3AC-4B74-97E6-F688A7C0F1C0} /qb-!"
 + Winbatch_Uninstall
 + sub "​%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"​
 +
 + endif
 +
 +
 +
 +
 +
 +[Winbatch_Uninstall]
 +
 + $UninstallCommand$
 +
 +</​code>​

QR Code
QR Code userspace:paint.net (generated for current page)