[GELÖST] weitere installationsscripte aufrufen

Antworten
Spoxs
Beiträge: 108
Registriert: 16 Jun 2011, 14:25

[GELÖST] weitere installationsscripte aufrufen

Beitrag von Spoxs »

Ich habe eine Installationsroutine für ein Software Paket geschrieben, welches ein weiteres Installationsscript aufrufen soll.
Die Setup.ins soll nichts anderes machen, als

1. die Systemvoraussetzungen prüfen
2. die Sprache des installierten Betriebsystems zu prüfen (hier deutsch als Beispiel) und
3. eine weitere Setup_de.ins aufzurufen, welches die Applikation in der jeweiligen Sprache installiert.

Das schlägt leider fehl. Jedoch sagt mir wininst32.exe beim Testlauf keine Fehler.
Die Setup_xx.ins läuft alleine fehlerfrei durch. Auch über den configed.
Schalte ich jedoch die setup.ins vor bekomme ich folgenden Eintrag in der c:\tmp\instlog
If
[6] [14.07.2011 10:07:51] Registry key [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language] opened
[6] [14.07.2011 10:07:51] Key closed
[5] [14.07.2011 10:07:51] GetRegistryStringValue("[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language] InstallLanguage") = "0407" <<< result true
[5] [14.07.2011 10:07:51] (GetRegistryStringValue("[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language] InstallLanguage") = "0407") <<< result true
[5] [14.07.2011 10:07:51] Then
[5] [14.07.2011 10:07:51] comment: Install German Version
[6] [14.07.2011 10:07:51]
[6] [14.07.2011 10:07:51] ~~~~~~~ Start Sub ~~~~~~~ Sub "p:\office-compantibility-pack\setup_de.ins"
[6] [14.07.2011 10:07:51] Section ending since next line is starting with "["
[6] [14.07.2011 10:07:51]
[6] [14.07.2011 10:07:51] ~~~~~~~ End Sub ~~~~~~~ Sub "p:\office-compantibility-pack\setup_de.ins"
Meine Setup.ins sieht im Auszug wie folgt aus:

Code: Alles auswählen

if (GetRegistryStringValue("[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language] InstallLanguage") = "0407")
	comment "Install German Version"
	Sub "%ScriptPath%\setup_de.ins"
	else 
		if (GetRegistryStringValue("[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language] InstallLanguage") = "0409")
			comment "Install English Version ..."
			Sub "%ScriptPath%\setup_en.ins"
                endif
endif
Ich kann da kein Fehler entdecken.
Der Aufruf erfolgt, wie im Template Script, mit dem Befehl Sub und dann den Pfad zur Datei, welcher wohl auch zu funktionieren scheint.
Jedoch verstehe ich die Fehlermeldung in der Logdatei nicht ganz.

Hat jemand ne Idee?
Zuletzt geändert von Spoxs am 14 Jul 2011, 13:19, insgesamt 1-mal geändert.
Soehnke
Beiträge: 46
Registriert: 08 Mär 2011, 11:18

Re: weitere installationsscripte aufrufen

Beitrag von Soehnke »

Zeig mal bitte dein setup_de.ins.
Spoxs
Beiträge: 108
Registriert: 16 Jun 2011, 14:25

Re: weitere installationsscripte aufrufen

Beitrag von Spoxs »

Hier mal einen Auszug was die Installation angeht.

Code: Alles auswählen

[Actions]
requiredWinstVersion >= "4.10.8.6"

DefVar $MsiId32$
DefVar $UninstallProgram$
DefVar $LogDir$
DefVar $ProductId$  
DefVar $MinimumSpace$
DefVar $InstallDir$
DefVar $ExitCode$
DefVar $InstallDir32$
DefVar $InstallDir64$
DefVar $INST_SystemType$
DefVar $INST_architecture$

;#############################################################
;#########			Set Varaibles					##########
;#############################################################

Set $LogDir$ 			= "%SystemDrive%\tmp"
Set $ProductId$       	= "compatibility-pack-de"
Set $MinimumSpace$    	= "100 MB"
Set $InstallDir32$      = "%ProgramFiles32Dir%\Microsoft Office\Office12\"
Set $InstallDir64$      = "%ProgramFiles32Dir%\Microsoft Office\Office12"
Set $INST_SystemType$ 	= GetSystemType
set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
; ----------------------------------------------------------------

;comment "Show product picture"
;ShowBitmap "%ScriptPath%\office-converter.png" $ProductId$

;#############################################################
;#########			Check OS Architektur			##########
;#############################################################

	if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
		Message "Installing " + $ProductId$ + " 32 Bit..."
		comment "Start setup program"
		Winbatch_install_32
		Sub_check_exitcode
	endif

	if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
		Message "Installing " + $ProductId$ + " 64 Bit..."
		comment "Start setup program"
		Winbatch_install_64
		Sub_check_exitcode
	endif


[Winbatch_install_32]
msiexec /i %scriptpath%\files\de\O12Conv.msi /qn /l* "$LogDir$\$ProductId$.install_log.txt"

[Winbatch_install_64]
msiexec /i %scriptpath%\files\de\O12Conv.msi /qn /l* "$LogDir$\$ProductId$.install_log.txt"

Spoxs
Beiträge: 108
Registriert: 16 Jun 2011, 14:25

Re: weitere installationsscripte aufrufen

Beitrag von Spoxs »

Ich habe den Fehler gefunden :)

Die Ursache war hier, das die setup_de.ins ja in einer Sub Routine aufgerufen wird.
Da schon im ersten Script die Primäre Sektion mit [Actions] deklariert wurde, darf diese Deklarartion im Sub Script nicht merh vorhanden sein.
Auch im Subscript mag er keine doppelte Variablenzuordnung.

Jetzt funktioniert alles wie gewünscht. :P
philmills
Beiträge: 3
Registriert: 28 Feb 2012, 13:49

Re: [GELÖST] weitere installationsscripte aufrufen

Beitrag von philmills »

Ich möchte auch dieses Paket zu installieren. Können Sie nach den Rest der Script-Dateien bitte?
(Sorry, wenn die Sprache Deutsch ist schlecht, ich bin mit Google Translate)
Antworten