[Gelöst] Deinstallation mit IF DoesFileExist

Post Reply
Arthur
Posts: 18
Joined: 01. Jun 2011, 10:33
Contact:

[Gelöst] Deinstallation mit IF DoesFileExist

Post by Arthur » 16. Nov 2012, 15:08

Hallo Zusammen

Ich habe eigentlich ein einfaches Problem, aber vor lauter Bäumen seh ich den Wald nicht mehr...
Folgende Situation:

Ein Programm schreibt je nach Version zwei verschiedene exe files für die Deinstallation.
unins000.exe und unins001.exe
Wie bringe ich Empirum bei, dass er mir bei einem DoesFileExist in die entsprechende Sektion springt? (Beim Deinstallieren)

Ich dachte an:

Code: Select all

If DoesFileExist ("c:\Program Files (x86)\XXXXX\unins000.exe") Then "Set:Deinstallation2" Else "Set:Deinstallation3" Endif 

Code: Select all

 [SET:Deinstallation2]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "c:\Program Files (x86)\XXXXX\unins000.exe" /silent
-AddMeter -1 

Code: Select all

 [SET:Deinstallation3]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "c:\Program Files (x86)\XXXXX\unins001.exe" /silent
-AddMeter -1 
Er springt mir immer in die Deinstallation3 obwohl das File auf dem System unins000.exe ist.
Wo ist mein Denkfehler?


Grüsse
Arthur
Last edited by Arthur on 16. Nov 2012, 16:03, edited 1 time in total.

Phadda
Posts: 654
Joined: 18. Jun 2009, 14:53
Contact:

Re: Deinstallation mit IF DoesFileExist

Post by Phadda » 16. Nov 2012, 15:44

Auszug aus der Onlinehilfe

Code: Select all

DoesFileExist ("<Dateiname>")
Liefert "1", wenn die Datei existiert, "0" wenn die Datei nicht vorhanden ist.
Beispiel: If DoesFileExist ("%System%\Filename.txt") == "1" Then "FileIsThere" Else "FileIsntThere" EndIf
Und bei der Abfrage fehlt einfach der Wert auf den geprüft werden soll sprich =="1" oder sonstiges

Evtl dann so

Code: Select all

If DoesFileExist ("c:\Program Files (x86)\XXXXX\unins000.exe") =="1" Then "Set:Deinstallation2" Else "Set:Deinstallation3" Endif

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 8098
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: Deinstallation mit IF DoesFileExist

Post by Hendrik_Ambrosius » 16. Nov 2012, 15:46

Es fehlt der Vergleichsoperator (= "1"):

If DoesFileExist ("c:\Program Files (x86)\XXXXX\unins000.exe") = "1" Then "Set:Deinstallation2" Else "Set:Deinstallation3" Endif
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

reinhard
Posts: 4
Joined: 29. Dec 2011, 15:11
Contact:

Re: Deinstallation mit IF DoesFileExist

Post by reinhard » 16. Nov 2012, 15:48

Hallo Arthur;
richtig wäre:

Code: Select all

If DoesFileExist ("c:\Program Files (x86)\XXXXX\unins000.exe") == "1" Then "Set:Deinstallation2" Else 
Gruß,
Reinhard

Arthur
Posts: 18
Joined: 01. Jun 2011, 10:33
Contact:

Re: Deinstallation mit IF DoesFileExist

Post by Arthur » 16. Nov 2012, 16:03

Hallo Zusammen

Immer wieder erstaunlich wie schnell es geht!
Danke allen.

Ich darf es gar nicht erwähnen... das Problem war nicht die If Abfrage! (Die hatte ich auch am Anfang so wie ihr es mir vorgibt) sondern das ich an der falschen Version der Setup.inf gearbeitet habe. Natürlich wollte ich die alte Version deinstallieren! Änderte aber alle Einstellungen an der neuen inf Datei! :oops:

Hiermit funktioniert es:

Code: Select all

 [SET:Deinstallation]
If DoesFileExist ("%ProgramFiles(x86)%\XXXX\unins000.exe") = "1" Then "SET:Deinstallation2" Else "SET:Deinstallation3" EndIf


[SET:Deinstallation2]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "c:\Program Files (x86)\XXXX\unins000.exe" /silent
-AddMeter -1

[SET:Deinstallation3]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "c:\Program Files (x86)\XXXX\unins001.exe" /silent
-AddMeter -1
Nochmals besten Dank!

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 6 guests