Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Return Code abfragen


2 replies to this topic

RealrunneR

RealrunneR
  • Members
  • 21 posts

Posted 23 April 2002 - 09:22

Hi,

ich rufe mit in einer Custom Action meine Exe auf und die liefert mir einen eCode zurück.

wenn sie 0 liefert ist alles Ok und alles geht weiter.
sobald ich irgendwas anderes zurückliefere bricht ISD 7.02 mit einer Fehlermeldung ab.

Was ich brauche ist, wenn ein eCode kommt das installshield entweder "schön" abbricht (alles bis zu dem Zeitpunkt deinstalliert, tmp Ordner und Dateien löscht, ...) oder, da die Custom Action in Next aufgerufen wird,
einfach dieses Next verweigert und den User nicht zu dem nechsten Dialog lässt.

Geht das?? kann ich irgendwie den eCode abfragen und in einer Condition verwenden???
Oder geht das, dass ich irgendwas spezielles zurückliefere und ISD darauf anders reagiert als mit einer Fehlermeldung??
habe es schon mit return ERROR_INSTALL_USEREXIT (1602) prober, hat leider auch nicht funktioniert  :(

Danke JAn

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 May 2002 - 19:31

Nein, das geht so nicht. Die Return-Codes für Custom Actions werden von der Installer-Engine interpretiert, und Microsoft hat das genaue Vorgaben gemacht.
Du kannst Dein EXE aber entweder über ein selbstgeschriebenes EXE oder ein Skript starten, das den returncode auswählt und entsprechend umsetzt.

janb

janb
  • Members
  • 5 posts

Posted 09 July 2002 - 11:38

Ein ähnliches Problem habe ich auch. Ich rufe in einem Dialog eine Funktion in einem VBScript auf.

Diese Funktion gibt jetzt im Fehlerfall msiDoActionStatusSuspend zurück. Damit soll dem Dialog mitgeteilt werden, das der Benutzer es noch mal probieren soll.

Der Windowsinstaller führt aber die danach folgenden Aktionen (NewDialog) trotzdem durch und wechselt auf den nächsten Dialog.

Ich habe mir jetzt so geholfen, das ich in meinem VBScript zusätzlich den Wert eines Properties setze und dieses Property bei NewDialog dann als Bedingung angebe. So wechselt er nur auf den neuen Dialog wenn ich das Property entsprechend setzte. Finde ich aber ein bischen umständlich. Wozu gibt es den ReturnCode. Ausser das komplette Setup abzubrechen (z.B. bei msiDoActionStatusFailure) reicht der ReturnCode allein nicht aus oder? Kann ich den letzten ReturnCode bei der darauf  folgenden Aktion (NewDialog) irgendwie in den Bedingungen verwenden?

Gruss

Jan