Ungültige Parameter in Variable

Post Reply
luca
Posts: 20
Joined: 12. Feb 2013, 08:36
Contact:

Ungültige Parameter in Variable

Post by luca » 19. Nov 2014, 16:10

Hallo zusammen,

ich versuche gerade ein LibreOffice Paket zu packen und verzweifle etwas.

Ich bekomme folgenden Fehler ins ErrorLog:

Code: Select all

19.11.2014 15:42:34
Ungültige Parameter in Befehl 'INSTPARA'!
OK
------------
19.11.2014 15:42:34
Ungültige Parameter in Befehl 'CALLONINSTALL'!
OK
Das Paket läuft jedoch trotzdem durch als wäre nichts.

Ich definiere die Variable InstPara in [Environment]:

Code: Select all

[Environment]
...
InstallerFile=msiexec.exe
InstLogFile=%APP%\Install.%DateYY%-%DateMM%-%DateDD%_%TimeHH%-%TimeMM%-%TimeSS%.log
UninstLogFile=%APP%\Uninstall.%DateYY%-%DateMM%-%DateDD%_%TimeHH%-%TimeMM%-%TimeSS%.log

SharedPara=MSIRESTARTMANAGERCONTROL=DISABLE REBOOT=REALLYSUPPRESS /QB-! 
InstPara=/I "%SRC%\IFSource\LibreOffice_4.3.4_Win_x86.msi" ADDLOCAL="ALL" REMOVE="gm_o_Onlineupdate" ISCHECKFORPRODUCTUPDATES=0 ARPSYSTEMCOMPONENT=1 %SharedPara% /L* "%InstLogFile%"
UninstPara=/X %GUID% %SharedPara% /L* "%UninstLogFile%"
...
Ich habe das Paket so weit heruntergeschraubt, dass es die Variable nur ausgibt und anschließend beendet und der Fehler kommt trotzdem.
Ich habe auch versucht die Variable in mehrere Variablen aufzusplitten und dann wieder zusammen zu setzen. Der Fehler trat IMMER nur in der vollständigen bzw. der wieder zusammen gesetzten Variante auf. Die einzelnen Teile sind ok! Wenn ich die Variable umbenenne kommt der Fehler immernoch, nur mit dem anderen Variablennamen.
Ich habe auch eine Variable mit 200+ Zeichen angelegt, weil ich die Länge im Verdacht hatte, aber auch das ist es nicht.

Hier der Inhalt der komplett ersetzten Variable (CallOnInstall):

Code: Select all

msiexec.exe /I "C:\EmpirumAgent\Packages\LibreOffice.org\LibreOffice\4.3.4.1\IFSource\LibreOffice_4.3.4_Win_x86.msi" ADDLOCAL="ALL" REMOVE="gm_o_Onlineupdate" ISCHECKFORPRODUCTUPDATES=0 ARPSYSTEMCOMPONENT=1 MSIRESTARTMANAGERCONTROL=DISABLE REBOOT=REALLYSUPPRESS /QB-!  /L* "C:\Program Files (x86)\IFP\LibreOffice.org\LibreOffice\4.3.4.1\Install.2014-11-19_15-42-34.log"
Wenn ich das in die Variable schreibe kommt der Fehler ebenfalls.

Ich sehe einfach keine Logik in dem Fehler!
Gesplittet funktionieren die einzelnen Teile => kein Problem mit Sonderzeichen oder benutzten Variablen.
Eine Variable mit 200+ Zeichen geht => kein Problem mit der Länge.
Das Paket läuft ansonsten ohne Probleme durch => vielleicht lediglich fälschliche Fehlerausgabe (bug im Interpreter)????

Ich hoffe man kann mir hier helfen.
Setup.inf Version: 14.2

Mit freundlichen Grüßen
Luca

User avatar
r.wiegel
Posts: 896
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Ungültige Parameter in Variable

Post by r.wiegel » 19. Nov 2014, 16:38

Hallo Luca,

InstPara=/I "%SRC%\IFSource\LibreOffice_4.3.4_Win_x86.msi" ADDLOCAL="ALL" REMOVE="gm_o_Onlineupdate" ISCHECKFORPRODUCTUPDATES=0 ARPSYSTEMCOMPONENT=1 %SharedPara% /L* "%InstLogFile%"

Nur die Version wird sich von Paket zu Paket ändern. Die würde ich variabilisieren.
LibreOffice_4.3.4_Win_x86.msi
LibreOffice_%Version%_Win_x86.msi

Viele Grüße
Roman
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

luca
Posts: 20
Joined: 12. Feb 2013, 08:36
Contact:

Re: Ungültige Parameter in Variable

Post by luca » 20. Nov 2014, 09:11

Gute Idee!

Löst aber leider mein Problem nicht. Die Fehlermeldung kommt immer noch.

So sieht es jetzt aus:

Code: Select all

; Weil Version=4.3.4.1 aber die Versionsnummer in der Datei ist 4.3.4
FileVersion=left("%Version%",5)
SharedPara=MSIRESTARTMANAGERCONTROL=DISABLE REBOOT=REALLYSUPPRESS /QB-! 
InstPara=/I "%SRC%\IFSource\LibreOffice_%FileVersion%_Win_x86.msi" ADDLOCAL="ALL" REMOVE="gm_o_Onlineupdate" ISCHECKFORPRODUCTUPDATES=0 ARPSYSTEMCOMPONENT=1 %SharedPara% /L* "%InstLogFile%"

User avatar
r.wiegel
Posts: 896
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Ungültige Parameter in Variable

Post by r.wiegel » 20. Nov 2014, 09:14

Ich wollte darauf hinweisen, dass eine Variable nicht mit einem Wert gesetzt werden sollte, der "=" beinhaltet.
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

luca
Posts: 20
Joined: 12. Feb 2013, 08:36
Contact:

Re: Ungültige Parameter in Variable

Post by luca » 20. Nov 2014, 09:19

Achso... ok... dann entstehen mehrere Fragen:

1. Wie schreibe ich dann ein "=" in eine Variable?!
2. Wieso gibt das hier keine Fehlermeldung? :

Code: Select all

test=ARPSYSTEMCOMPONENT=1
3. Wieso funktioniert das Paket dann überhaupt, wenn "=" in Variablen ein Problem sind?

luca
Posts: 20
Joined: 12. Feb 2013, 08:36
Contact:

Re: Ungültige Parameter in Variable

Post by luca » 02. Dec 2014, 15:40

Kann mir niemand dieses Verhalten von der Setup.exe erklären und wie ich es umgehen kann?

Es kann ja nicht sein, dass ich auf Gleichzeichen in Variablen verzichten muss. Mal ganz abgesehen davon, dass das Paket ja trotzdem ohne weitere Probleme durchläuft

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 3 guests