ich habe mir erfolgreich ein Paket für Office 2000 geschnürt und ändere am Ende der Installation einen Registry Eintrag damit unter Windows 7 64-bit die Rechtschreibprüfung funktioniert.
Das funktioniert auch alles super, allerdings benötige ich am Ende der Installation einen Neustart, sonst funktioniert die Rechtschreibprüfung nicht sauber.
Nachdem ich im Handbuch das Kapitel über ExitWindows gelesen habe, habe ich das so in mein Skript eingebaut und der Reboot wird auch ausgeführt, allerdings wartet OPSI vor dem Reboot 5 Minuten....
Also hab ich mir die verschiedenen Optionen von ExitWindows angeschaut und dachte ExitWindows /ImmediateReboot ist meine Lösung....allerdings wartet OPSI auch hier 5 Minuten....
Kann mir jemand sagen wie ich diese Zeit beeinflussen kann? Oder mach ich irgendetwas falsch?
Danke und Grüßle
Hier mal mein setup.ins Skript:
Code: Alles auswählen
; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib
; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/credits/
[Actions]
requiredWinstVersion >= "4.10.8.6"
DefVar $MsiId$
DefVar $UninstallProgram$
DefVar $LogDir$
DefVar $ProductId$
DefVar $MinimumSpace$
DefVar $InstallDir$
DefVar $ExitCode$
DefVar $LicenseRequired$
DefVar $LicenseKey$
DefVar $LicensePool$
DefVar $Flag$
DefVar $WinstRegKey$
DefVar $RebootRegVar$
Set $LogDir$ = "%SystemDrive%\tmp"
Set $WinstRegKey$ = "HKLM\SOFTWARE\opsi.org\winst"
Set $Flag$ = GetRegistryStringValue32("["+$WinstRegKey$+"] "+"RebootFlag")
; ----------------------------------------------------------------
; - Please edit the following values -
; ----------------------------------------------------------------
;$ProductId$ should be the name of the product in opsi
; therefore please: only lower letters, no umlauts,
; no white space use '-' as a seperator
Set $ProductId$ = "office2000"
Set $MinimumSpace$ = "200 MB"
; the path were we find the product after the installation
Set $InstallDir$ = "%ProgramFiles32Dir%\office2000"
Set $LicenseRequired$ = "false"
Set $LicensePool$ = "p_" + $ProductId$
; ----------------------------------------------------------------
if not ($Flag$ = "1")
if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$
isFatalError
; Stop process and set installation status to failed
else
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".jpg" $ProductId$
if FileExists("%ScriptPath%\delsub32.ins")
comment "Start uninstall sub section"
Sub "%ScriptPath%\delsub32.ins"
endif
Message "Installing " + $ProductId$ + " ..."
comment "Start setup program..."
Winbatch_install
Sub_check_exitcode
comment "Patch Registry to enable spell checking..."
Registry_install /64Bit
comment "Reboot Windows to make sure spell checking is working..."
Set $Flag$ = "1"
Registry_SaveRebootFlag /32Bit
ExitWindows /ImmediateReboot
endif
else
Set $Flag$ = "0"
Registry_SaveRebootFlag /32Bit
endif
[Registry_SaveRebootFlag]
openKey [$WinstRegKey$]
set "RebootFlag" = "$Flag$"
[Winbatch_install]
msiexec /i %scriptpath%\DATA1.msi TRANSFORMS=%scriptpath%\my.MST PIDKEY=XXXXXXXXXXXXXXXXXXXXXXXX /qn
[Registry_install]
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\D98D8386D2CC2D112B0600008FF17576]
set "704010001E872D116BF00006799C897E" = "C:\PROGRA~2\COMMON~1\MICROS~1\Proof\MSSP3GEA.LEX"
[Sub_check_exitcode]
comment "Test for installation success via exit code"
set $ExitCode$ = getLastExitCode
; informations to exit codes see
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
if ($ExitCode$ = "0")
comment "Looks good: setup program gives exitcode zero"
else
comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
if ($ExitCode$ = "1605")
comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed."
comment "Uninstall of a not installed product failed - no problem"
else
if ($ExitCode$ = "1641")
comment "looks good: setup program gives exitcode 1641"
comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success."
else
if ($ExitCode$ = "3010")
comment "looks good: setup program gives exitcode 3010"
comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success."
else
logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
isFatalError
endif
endif
endif
endif