Page 1 of 1
Empirum 9.0 Pro Uninstall und If abfrage
Posted: 21. Feb 2006, 17:13
by darkstorm
Hallo,
ich versuche ein MSI file (Visio Viewer 2003) zu paketieren (Aufruf der MSI).
Das VVIEWER.MSI hat dabei die Eigenschaft, mehrere MSI Prozesse aufzurufen, sodass der Empirum Agent seine Arbeit beendet, bevor die msiexec ihre Arbeit verrichtet hat. Für den Install habe ich eine Abfrage
"WaitUntilFileExists" und einen kurzen Sleep benutzt, sodass dieser part OK ist.
Für den Uninstall wollte ich eine eigene Sektion mit dem Flag "DELETE" einrichten und mit hilfe von "If DoesFileExist" das ganze in eine schleife schikcken. Leider muß in der dafür erstellten Sektion "IF" ebenfalls mit einem "-" gestartet werden, dieses erzeugt eine Fehlermeldung über falsche Parametrisierung, ohne "-" wird if nicht abgearbeitet.
- Kann ich eine IF Abfrage nicht mit einem "-" aufrufen ?
- Hat jemand eine idee was ich tun kann um beim Uninstall eine Datei zu tracken?
Empirum Version 9.0 Pro.
Gruß
Re: Empirum 9.0 Pro Uninstall und If abfrage
Posted: 21. Feb 2006, 17:44
by Walter_Schulz
Um die Empirum-Administratoren zu verwirren, werden einige Anweisungen in der Setup.inf auch dann bei der Deinstallation durchgefuehrt, wenn kein Minuszeichen angegeben ist.
Man erkennt diese Anweisungen daran, dass sie Fehlermeldungen erzeugen, wenn ein Minus vorgestellt wird. ;-)
@Hendrik: Ab welcher SETUP.EXE-Version werden Schleifen korrekt behandelt?
Ciao!
Walter Schulz
Posted: 21. Feb 2006, 21:46
by Hendrik_Ambrosius
Die genaue Version habe ich nun nicht parat, die FOR-NEXT-Schleifen wurden aber zusammen mit dem PatchManagement Version 1 eingeführt.
Wenn man also das auf seinem System hat, funktionieren auch FOR-NEXT-Schleifen.
Posted: 22. Feb 2006, 08:33
by darkstorm
Hallo,
meines wissens nach funktionieren for / next schleifen nicht mit meiner version . Ich wollte eigentlich mit einer if abfrage eine bedinung abfragen, bei erfüllen, sollte es in eine eigene sektion gehen, einen kurzen sleep machen und anschließend die sektion mit der if abfrage wieder anspringen und erneut die bedinung prüfen , bis diese nicht erfüllt ist (if doesfileexist). Das ganze funktioniert so leider nicht...
Posted: 22. Feb 2006, 11:23
by Hendrik_Ambrosius
Bitte bedenken: Wenn er zweimal die selbe Sektion anspringen soll, kann man nicht "--" nehmen, sondern muss "--!" nehmen.
Sonst filter die setup.exe das gleich raus.
Feature!
Posted: 22. Feb 2006, 11:28
by Moeki
Vielleicht hilft dir das weiter. Wir haben damit soweit keine Probleme.
Microsoft\VisioViewer\2003
Code: Select all
&--91;Set&--58;Product&--93;
CALL MsiExec /I "%SRC%\Files\VVIEWER.MSI" /qb-! /L "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log"
; Transforms="%SRC%\Transforms\Project.MST" /qb-! /L "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log"
; Uninstall
-CALL MsiExec /X&--123;90520407-6000-11D3-8CFE-0150048383C9&--125; /qb-! /L "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log"
Posted: 22. Feb 2006, 11:38
by darkstorm
Hallo,
das teil sieht so aus
[Product]
--!Set:CheckUnInst, DELETE
--Set:Product
...
[Set:CheckUnInst]
If DoesFileExist ("%Windows%\Installer\{XXX}\VViewer.mst") == "1" Then "SLEEPER" endif
[SLEEPER]
--!Set:CheckUnInst
-sleep 5000
Habe ich hier irgendwo einen denkfehler ? Es crasht ohne eine Präzise fehlermeldung (installationsvorgang wurde vorzeitig abgebrochen).
Gruß
Posted: 22. Feb 2006, 11:40
by darkstorm
Moeki, ich teste es mal,
danke schonmal..
Posted: 22. Feb 2006, 11:46
by darkstorm
Es ändert nichts dran, daß sich das Paket beendet bevor die MSI durchgelaufen ist, das Schreiben eines Logs hat bei mir keinen Einfluss drauf.
Ich hatte für die deinstallation den gleichen Aufruf, nur ohne die LOG Parameter, mit log Parameter das gleiche.
Gruß
Posted: 04. Apr 2006, 23:57
by fwiegand
Hallo
Betrifft Minus
Einige Fehler mit dem Minus sind in Empirum 2005 SR3 behoben.
Auszug aus Empirum2005_SR3.htm:
The Abort and Exit commands will not be executed during uninstallation if preceded by a minus (e.g. -Abort or -Exit).
Solution: If Setup.inf has a version number smaller than 10.0, the command will always be executed, otherwise it will be executed only during installation (for the execution during uninstallation a '-' has to be prepended).
Ob davon auch andere Befehle betroffen sind, kann ich leider nicht sagen.