Hallo,
ich habe folgendes Problem:
Ich installiere mit einem InstallShield Setup ein Produkt.
Danach installiere ich ein AddOn zu diesem Produkt.
Ich möchte nun, wenn ich das AddOn deinstalliere, dass auch alle Dateien der Basisinstallation deinstalliert werden.
Wie kann ich meine eigene Unistallroutine schreiben?
Kann ich aus dieser den Uninstall des Basisprodukts starten?
Hat jemand einen anderen Vorschlag?
Vielen Dank,
Markus
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.
Uninstall
Started by
Aignerma
, Dec 18 2002 14:43
1 reply to this topic
Posted 19 December 2002 - 13:54
Du mußt das Event OnMaintUIBefore() abfangen und selbst definieren:
Z.B.:Im Hauptablauf alles bisherige mit
if(!MAINTENANCE) then
...
endif;
einkesseln dann den Maintenance Dialog aufrufen
und schließlich das Ergebnis auswerten und entsprechende aktionen ausführen:
if (nResult = MODIFY) then
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
MaintenanceTasks();
elseif (nResult = REMOVEALL) then
svResult = SdLoadString(IFX_MAINTUI_MSG);
szCaption = SdLoadString(IFX_ONMAINTUI_CAPTION);
nResult = SprintfBox(MB_OKCANCEL,szCaption,"%s",svResult);
if (nResult = IDCANCEL) then
goto Dlg_Start;
elseif(nResult = IDOK) then
// setup default status
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
//-->Remove all components
removeTasks();
ComponentRemoveAll();
ComponentTransferData (MEDIA);
elseif (nResult = REPAIR) then
// setup default status
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
//-->Reinstall Logged Components
ComponentReinstall();
ComponentTransferData (MEDIA);
endif;
Z.B.:Im Hauptablauf alles bisherige mit
if(!MAINTENANCE) then
...
endif;
einkesseln dann den Maintenance Dialog aufrufen
und schließlich das Ergebnis auswerten und entsprechende aktionen ausführen:
if (nResult = MODIFY) then
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
MaintenanceTasks();
elseif (nResult = REMOVEALL) then
svResult = SdLoadString(IFX_MAINTUI_MSG);
szCaption = SdLoadString(IFX_ONMAINTUI_CAPTION);
nResult = SprintfBox(MB_OKCANCEL,szCaption,"%s",svResult);
if (nResult = IDCANCEL) then
goto Dlg_Start;
elseif(nResult = IDOK) then
// setup default status
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
//-->Remove all components
removeTasks();
ComponentRemoveAll();
ComponentTransferData (MEDIA);
elseif (nResult = REPAIR) then
// setup default status
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
//-->Reinstall Logged Components
ComponentReinstall();
ComponentTransferData (MEDIA);
endif;