====== Google Chrome 14.0.835.202 ====== 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 / Uninstallation Script for Google Chrome with some customizations in registry and the master_preferences file. \\ 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.google.com/chrome/eula.html?msi=true (works only from a windows machine...) \\ Edit %ProgramFiles32Dir%\Google\Chrome\Application\master_preferences to your liking and copy it to %SCRIPTPATH%. ==== Install.ins ==== [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 ;Name des Produkts (max. 12 Zeichen) DefVar $ProductName$ Set $ProductName$ = "Chrome" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "Chrome.png" ;Die Variable zur Auswertung des ExitCodes DefVar $ExitCode$ ;Vollständiger Produktname incl. Versionsnummer DefVar $ProductNameFull1$ set $ProductNameFull1$ = "Google Chrome 14.0.835.202" ;Dateinamen der zu installierenden MSI-Pakete DefVar $Executable1$ Set $Executable1$ = "GoogleChromeStandaloneEnterprise.msi" ;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" ) Message "Deinstallation alter Produktversionen" sub "%ScriptPath%\SubUninstall.ins" Message "Installiere "+$ProductNameFull1$ Winbatch_Install sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" LinkFolder_Custom Files_Copy Registry_Global /32Bit else LogError "Kein kompatibles Betriebssystem installiert" isFatalError endif [Winbatch_Install] msiexec.exe /i "%SCRIPTPATH%\$Executable1$" /qb-! [LinkFolder_Custom] ;Startmenü anpassen set_basefolder common_programs set_subfolder "" delete_subfolder "Google Chrome" set_subfolder "" set_link name: Google Chrome target: "%ProgramFiles32Dir%\Google\Chrome\Application\chrome.exe" parameters: working_dir: "%ProgramFiles32Dir%\Google\Chrome\Application" icon_file: icon_index: end_link [Registry_Global] OpenKey [HKLM\Software\Policies\Google\Chrome] ;ProxyServerMode auf Manuell einstellen Set "ProxyServerMode" = REG_DWORD:0x00000002 ;Adresse für Proxy Konfigurationsdatei eintragen Set "ProxyPacUrl" = REG_SZ:"http://proxy.your.domain/proxy.pac" ;Keine Statistiken an Google senden Set "MetricsReportingEnabled" = REG_DWORD:0x00000000 ;Keine Daten-Synchronisation mit Google Diensten Set "SyncDisabled" = REG_DWORD:0x00000001 OpenKey [HKLM\SOFTWARE\Policies\Google\Update] ;Auto Update deaktivieren Set "AutoUpdateCheckPeriodMinutes" = REG_DWORD:0x0000a8c0 Set "DisableAutoUpdateChecksCheckboxValue" = REG_DWORD:0x00000001 [Files_Copy] copy "%SCRIPTPATH%\master_preferences" "%ProgramFiles32Dir%\Google\Chrome\Application" ==== Uninstall.ins ==== [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$ = "Chrome" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "Chrome.png" ;Die Variable zur Auswertung des ExitCodes DefVar $ExitCode$ ;$ProductPicture$ und $ProductName$ anzeigen ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$ sub "%ScriptPath%\SubUninstall.ins" ==== SubUninstall.ins ==== ;Variable für den msiexec Aufruf zur Deinstallation DefVar $UninstallCommand$ ;Variable für die jeweilige Version. Wird aus der Registry ausgelesen DefVar $DisplayName$ ;Google Chrome (alle Versionen) deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{54DF35BD-4A36-35DA-B029-A0C083C88614}] DisplayName") if not ($DisplayName$ = "") Message "Deinstalliere "+$DisplayName$ set $UninstallCommand$ = "MsiExec.exe /x {54DF35BD-4A36-35DA-B029-A0C083C88614} /qb-!" Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif Linkfolder_Custom [Winbatch_Uninstall] $UninstallCommand$ [Linkfolder_Custom] ;Startmenü Verknüpfung löschen Set_basefolder common_programs Set_subfolder "" delete_element "Google Chrome"