Seite 1 von 1

Variablenwert ausgeben

Verfasst: 28. Aug 2013, 20:00
von isc
Gibt es die Möglichkeit, eine Variable (hier %MSILogfile%) in eine Log-Datei auszugeben, damit man weiß, welchen Wert sie zur Laufzeit eines Skripts hatte??? Z. B. würde es mir reichen, wenn sie in der SetupErrorlog angezeigt wird. Das sollte doch einfach gehen?

Hintergrund. Bei einem Rechner läuft ein Paket mit einer msi-Installation auf einen Fehler. Anscheinend kann das MSILogfile nicht erstellt werden. Leider bin ich mir nicht sicher, wo er dieses File erstellen will.

Re: Variablenwert ausgeben

Verfasst: 28. Aug 2013, 20:19
von Hendrik_Ambrosius
ErrorLogMsg File=%MsiLogFile%

Re: Variablenwert ausgeben

Verfasst: 29. Aug 2013, 10:32
von isc
Super danke! Nun muss ich nur noch rausfinden, warum die temp-Variable so einen komischen Wert hat.

Re: Variablenwert ausgeben

Verfasst: 29. Aug 2013, 11:04
von r.wiegel
Es sollte der Wert rauskommen, der hier definiert ist:
Systemeigenschaften\Erweitert\Umgebungsvariablen\
Benutzervariablen\Temp
Systemvariablen\Temp

Mit Package-Editor wird %Temp% als Benutzervariable aufgelöst.
Bei der Softwarverteilung über Empirum wird %Temp% als Systemvariable aufgelöst, da die Installation mit System läuft.

Re: Variablenwert ausgeben

Verfasst: 29. Aug 2013, 12:31
von isc
Hallo,

ja, das dachte ich auch. Aber das paßt nicht.

bei der Systemvariablen steht bei TEMP: %USERPROFILE%\Local settings\Temp
bei Benutzern steht TEMP: %USERPROFILE%\AppDatea\Local\Temp

das Logfile soll aber hier abgelegt werden:
C:\Windows\system32\config\systemprofile\Local Settings\Temp\MSI_Acrobat Reader.11.0.03.0.log

Re: Variablenwert ausgeben

Verfasst: 29. Aug 2013, 13:07
von r.wiegel
Hallo Katharina,

das stimmt so, denn die Variable %userprofile% für LocalSystem wie folgt aufgelöst wird:
C:\Windows\system32>echo %userprofile%
C:\Windows\system32\config\systemprofile

Gruß
Roman

Re: Variablenwert ausgeben

Verfasst: 29. Aug 2013, 13:38
von isc
Hallo Roman,

hmmm! Aber wenn das o.k. ist, warum kommt der Fehler "Fehler beim Öffnen der Protokolldatei der Intstallation. Stellen Sie sicher, dass die angegebene Protokolldatei existiert und nicht schreibgeschützt ist".

Wenn ich nach dem Pfad (C:\Windows\system32\config\systemprofile\Local Settings\Temp\) schaue, finde ich ihn auch auf keinen der Rechner.

Bei Rechner, bei denen es funktioniert, steht in der Variablen MSILogFile
"C:\Windows\TEMP\MSI_Acrobat Reader.11.0.03.0.log"

Re: Variablenwert ausgeben

Verfasst: 29. Aug 2013, 20:17
von Hendrik_Ambrosius
Man kann beim Aufruf der MSI-Installation mit dem /L Parameter den Pfad des Logfiles bestimmen.
Wieso das nicht einfach umbiegen?

Re: Variablenwert ausgeben

Verfasst: 02. Sep 2013, 09:21
von isc
Hallo,

ich kann jetzt schlecht alle msi-Pakete ändern, nur weil bei dem Rechner irgendwas mit dem temp-pfad in der Installationsumgebung nicht stimmt....

Re: Variablenwert ausgeben

Verfasst: 02. Sep 2013, 09:27
von Hendrik_Ambrosius
Wenn es nur um einen Rechner geht natürlich nur den Rechner neu installieren.

Re: Variablenwert ausgeben

Verfasst: 03. Sep 2013, 13:12
von isc
Habe mir die Systemvariablen des Rechners angeschaut und habe festgestellt, dass die Systemvariable TEMP anders war als bei anderen Rechnern. Entsprechend geändert und siehe da, nun funktioniert das Installieren von msi-Paketen wieder.