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

Umgebungsvariable löschen bei deinstallation


4 replies to this topic

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 12 December 2006 - 08:13

Hallo zusammen,
ich habe ein Problem mit Umgebungsvariablen und trotz suche nicht die richtige Antwort gefunden.
Während der Installation setze ich eine neue Umgebungsvariable und modifiziere die PATH Variable. Bei der Deinstallation wird die PATH Variable korrekt zurückgesetzt. Die neu erstellte Variable bleibt erhalten.
Bei beiden Variablen habe ich folgende Einstellung gewählt (Ansicht "Systemkonfiguration - Umgebungsvariable):

PATH:
Component: eine Komponente die deinstalliert wird
Wert: mein eigenes Verzeichnis
Bei Installation: Festlegen
Platzierung: Anhängen
Bei Deinstallation: Entfernen
Typ: System

myEnv (ist am Zielsystem noch nicht gesetzt):
Component: eine Komponente die deinstalliert wird
Wert: mein eigener Wert
Bei Installation: Festlegen
Platzierung: Ersetzen
Bei Deinstallation: Entfernen
Typ: System

Mache ich irgend etwas grundsätzlich falsch oder hat InstallShield 11.5 hier einen bug?

Bin für jeden Tip dankbar.

Mit freundlichen Grüßen
Andreas

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 December 2006 - 11:17

Ist der Wert von myEnv bei der Deinstallation der gleiche wie bei der Installation?

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 12 December 2006 - 12:39

Hallo Stefan,
ja. myEnv hat nach der Deinstallation den selben Wert wie er durch die Installationsroutine gesetzt wurde.

Der Wert von myEnv wird aus [INSTALLDIR]\UStVA abgeleitet. Da Umgebungsvariablen keine Properties auflösen, musste ich mir über eine zusätzliche Property helfen.

Der Wert vom myEnv ergibt sich aus der Property "[myEnvProp]". Diese wird in einer CA berechnet.

CODE

MsiGetProperty (ISMSI_HANDLE, "INSTALLDIR", szInstallDir,  Buffer);  
MsiSetProperty (ISMSI_HANDLE, "myEnvProp", szInstallDir ^ "UStVa");


Ciao
Andreas

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 December 2006 - 17:49

QUOTE (Andreas Franz @ 2006-12-12 13:39)
ja. myEnv hat nach der Deinstallation den selben Wert wie er durch die Installationsroutine gesetzt wurde.

Das habe ich nicht gemeint. Ich wollte wissen ob das Property während der Deinstalaltion den gleichen Wert hat, damit Windows Installer ekennt dass es das gleiche ist was er deinstallieren soll.

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 12 December 2006 - 18:32

Hallo Stefan,
vielen Dank!!!
Manchmal hat man nicht nur ein kleines Brett sondern einen kompletten Balken vorm Kopf.
Meine Property wurde nur bei der Installation berechnet (Bedingung: REMOVE=""). Dadurch hatte die Variable einen anderen Wert als während der Installtion. IS geht dann wohl von einer veränderten Umgebungsvariablen aus und lässt die Finger davon (was auch korrekt ist!).

Nachdem ich die Bestimmung neu definiert habe wird die Variable entfernt.

Nochmals vielen Dank

Andreas

Edited by Andreas Franz, 12 December 2006 - 18:32.