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.
Funktionsweise von UninstallApplication()
Started by
Lehrling1988
, Apr 05 2007 13:42
6 replies to this topic
Posted 05 April 2007 - 13:42
Hallo,
ich habe eine Installation mit Install Shield 12 erstellt.
In dieser Installation prüfe ich, ob eine ältere Version des zu installierenden Programms vorhanden ist.
Sollte dies der Fall sein, so hatte ich vor die ältere Version mit UninstallApplication(..) zu deinstallieren.
Als Übergabeparameter habe ich die GUID der älteren Programmversion aus einer Datei ausgelesen und mit Hilfe einer Variable (svLine) übergeben. Da ich der Meinung war, dass ich die CMD-Line(zweiter Übergabeparameter) nicht brauche, habe ich da einfach einen Leerstring reingegeben.
Nun zu meinem eigentlichen Problem:
Als dritten Übergabeparameter habe ich "LAAW_OPTION_WAIT" übergeben, was nach meiner Übersetzung bedeutet, dass die Installation wartet bis die Deinstallation beendet ist.(Korrigiert mich falls das nicht stimmt)
Auf jeden Fall macht er das nicht. Die Installation geht einfach weiter und die Deinstallation wird trotzdem gestartet.
Zur Funktion "checkRegistry":
gibt 1 zurück wenn der gesuchte eintrag gefunden wurde.
gibt -1 zurück wenn der gesuchte eintrag nicht gefunden wurde.#
ich habe eine Installation mit Install Shield 12 erstellt.
In dieser Installation prüfe ich, ob eine ältere Version des zu installierenden Programms vorhanden ist.
Sollte dies der Fall sein, so hatte ich vor die ältere Version mit UninstallApplication(..) zu deinstallieren.
Als Übergabeparameter habe ich die GUID der älteren Programmversion aus einer Datei ausgelesen und mit Hilfe einer Variable (svLine) übergeben. Da ich der Meinung war, dass ich die CMD-Line(zweiter Übergabeparameter) nicht brauche, habe ich da einfach einen Leerstring reingegeben.
Nun zu meinem eigentlichen Problem:
Als dritten Übergabeparameter habe ich "LAAW_OPTION_WAIT" übergeben, was nach meiner Übersetzung bedeutet, dass die Installation wartet bis die Deinstallation beendet ist.(Korrigiert mich falls das nicht stimmt)
Auf jeden Fall macht er das nicht. Die Installation geht einfach weiter und die Deinstallation wird trotzdem gestartet.
Zur Funktion "checkRegistry":
gibt 1 zurück wenn der gesuchte eintrag gefunden wurde.
gibt -1 zurück wenn der gesuchte eintrag nicht gefunden wurde.#
CODE |
if( UninstallApplication( svLine, "", LAAW_OPTION_WAIT) >= ISERR_SUCCESS )then //Wenn der Schluessel noch vorhanden ist, dann wurde das // Programm nicht ordnungsgemaess deinstalliert if( checkRegistry("SOFTWARE\\Company\\MyProgram", "Version") = 1 ) then MessageBox(@ID_DEINST_ERROR/*"Bei der Deinstallation ist ein Fehler aufgetreten."*/,SEVERE); abort; endif;// checkRegistry endif; // end Unistallapplication |
Ich hoffe ich habe das ganze verständlich erklärt und freue mich über jede Hilfe.
Danke schon mal im Voraus!!
gr.
Robert
Man lernt nie aus...darum bin ich immer noch ein Lehrling und werde es immer bleiben...
Posted 13 April 2007 - 16:00
Evtl. musst du für die gestarete Deinstalaltion noch den Parameter /SMS übergeben. setup.exe startet möglicherweise das Setup nur und beendet sich sofort. Mt /SMS sollte setup.exe warten.
Stefan Krüger
InstallSite.org twitter facebook
Posted 23 April 2007 - 07:24
hallo,
danke erst mal für die antwort. leider ist mir dieser übergabeparameter nicht bekannt. ich weiß also nicht wo ich den einsetzen muss und eine LAAW_OPTION_SMS gibt es nicht. bitte um genauere erklärung.
danke noch mal!
danke erst mal für die antwort. leider ist mir dieser übergabeparameter nicht bekannt. ich weiß also nicht wo ich den einsetzen muss und eine LAAW_OPTION_SMS gibt es nicht. bitte um genauere erklärung.
danke noch mal!
Man lernt nie aus...darum bin ich immer noch ein Lehrling und werde es immer bleiben...
Posted 23 April 2007 - 09:14
LaunchAppAndWait ( szProgram, szCmdLine, nOptions );
Stefan Krüger
InstallSite.org twitter facebook
Posted 24 April 2007 - 09:43
ok ich habe es versucht aber es ändert nichts...er startet sie deinstallation und macht dann mit der installation weiter. mich wundert das ein bisschen weil es mit der install shield version 11 ohne probleme geklappt hat und das ohne irgendwelche cmd parameter. kann es vllt ein das dieser cmd parameter nur für LaunchAppAndWait() gilt und nicht für UninstallApplication()???
hmm...wie auch immer ich weiß da nicht mehr weiter...
gr.
Robert
hmm...wie auch immer ich weiß da nicht mehr weiter...
gr.
Robert
Man lernt nie aus...darum bin ich immer noch ein Lehrling und werde es immer bleiben...
Posted 24 April 2007 - 17:59
/SMS gilt für Setups die mit alten InstallShield-Versionen erstellt wurden (z.B. Professional 5)
Stefan Krüger
InstallSite.org twitter facebook
Posted 11 April 2008 - 09:16
Hallo,
die Deinstallation die hier gestartet wird, ist von einem Setup welches mit IS 11 bzw schon mit IS 12 erstellt wurde.
gr.
Lehrling
die Deinstallation die hier gestartet wird, ist von einem Setup welches mit IS 11 bzw schon mit IS 12 erstellt wurde.
gr.
Lehrling
Man lernt nie aus...darum bin ich immer noch ein Lehrling und werde es immer bleiben...