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

RegistryKeys


13 replies to this topic

Eagle

Eagle
  • Full Members
  • 79 posts

Posted 03 February 2006 - 13:44

Hallo,

ich stehe vor dem Problem, bei einem BASIC MSI Projekt nur bei der Deinstallation einen Registry Wert zu löschen, welcher nicht durch den MSI Job erstellt wurde.
Gibt es eine Möglichkeit, dazu die Sequence RemoveRegistryValue zu verwenden?
Ich habe in der Tabelle RemoveRegistry eingetragen und diesem Eintrag eine Componente zugefügt. In der Componente habe ich die Condition REMOVE~"ALL" gesetzt. Leider funktioniert das nicht so. Wenn ich keine Bedingung setze wird der Eintrag in der Registry gelöscht, aber dann auch bei einer Installation, sowie bei einer Reparatur.

Hat jemand hierzu eine Idee.

Vielen Dank
Ciao Thomas

ali

ali
  • Full Members
  • 1,008 posts

Posted 03 February 2006 - 14:26

Hallo,

kannst du in der Registry Tabelle eintragen, bei Name musst du ein "-" eintragen, dann musst du noch eine Komponente angeben, mit der der Schlüssel deinstalliert werden soll. Der Schlüssel wird dann mit allen Sub-Schlüsseln deinstalliert.

PS:
In der Remove Registry Tabelle werden Schlüssel und Werte eingetragen, die beim Installieren gelöscht werden sollen.

Edited by ali, 03 February 2006 - 14:27.


Eagle

Eagle
  • Full Members
  • 79 posts

Posted 03 February 2006 - 14:30

Hallo Ali,

danke für die schnelle Antwort, ich möchte aber nur einen Wert, nicht den ganzen Key löschen, da stehen noch andere Werte drin, welche erhalten bleiben sollen, "-" geht also nicht.

Danke
Ciao Thomas

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 February 2006 - 18:00

Warum gibst du der Component überhaupt eine Bedingung. Stell doch den RemoveRegistry Eintrag so ein, dass der Wert beim Deinstallieren der Component gleöscht wird, und verwende dazu eine der Hauptkopmonenten. Wenn di dann deinstalliert wird, dann wird auch der Registryeintrag gelöscht. Aber Achtung: ein Major Upgrade enthält ebenfalls die Deinstalaltion der alten version, würde den Eintrag also ebenfalls löschen.

Eagle

Eagle
  • Full Members
  • 79 posts

Posted 07 February 2006 - 07:32

Hallo,

ich möchte nicht den gesammten Schlüssel löschen, sondern nur einen Eintrag (REG_SZ) Wert aus diesem Schlüssel entfernen. Ich habe auch nichts gefunden, wie man in der RemoveRegistry Tabelle einstellen kann, dass der Wert nur bei der Deinstallation gelöscht wird.

Danke
Ciao Thomas

hmoeckel

hmoeckel
  • Full Members
  • 97 posts

Posted 07 February 2006 - 14:49

du kannst ja auch ein kleines Script schreiben, das du dann per Custom Action aufrufst.
damit kannst du expliizit auf den Wert zugreifen

Guest_Tino Teuber

Guest_Tino Teuber
  • Guests

Posted 07 February 2006 - 14:51

Hallo zusammen!

Die Tabelle RemoveRegistry ist doch dafür vorgesehen, dass man bei der Installation Einträge aus der Registry entfernen kann - jedoch nicht bei der Deinstallation.

Oder liege ich da falsch?

Wenn ich das Problem von Eagle richtig verstehe dann müsste er doch die Tabelle Registry mit der Option "-" in der Spalte Name verwenden.

Gruß
Tino

Eagle

Eagle
  • Full Members
  • 79 posts

Posted 07 February 2006 - 15:06

Hallo Tino,

wenn "-" übergeben wird, wird der gesammte Schlüssel gelöscht, ich möchte aber nur einen Wert in diesem Schlüssel löschen, die anderen Werte sollen erhalten bleiben. Ich denke ich werde um eine Custom Action nicht herumkommen.


Ciao Thomas

ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2006 - 15:07

Wenn ich das Problem von Eagle richtig verstehe dann müsste er doch die Tabelle Registry mit der Option "-" in der Spalte Name verwenden.

Nein, denn er will ja nur eine Wert und keinen ganzen schlüssel löschen.

Guest_Tino Teuber

Guest_Tino Teuber
  • Guests

Posted 07 February 2006 - 15:18

Hallo!

Ach ja. Sehe gerade in der Doku, dass ein "-" in der Spalte Name den kompletten Schlüssen löscht. Ich hatte vermutet, dass z. B. ein "-Test" in der Spalte Name nur den Wert "Test" aus der Registry löscht.

Laut Doku ist das also nicht möglich. Schade.

Gruß
Tino

Eagle

Eagle
  • Full Members
  • 79 posts

Posted 07 February 2006 - 16:20

Wie ich sehe scheint es keine Möglichkeit zu geben, dieses Problem ohne Custom Action zu lösen?!
Oder hat noch jemand eine Idee dazu?

Ich möchte nicht unbedingt ein Script einfügen.

Danke
Ciao Thomas

ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2006 - 17:38

naja, eigentlich sollte ja auch bei der Deinstallation eines Produktes alles gelöscht werden. Es sei denn bei einem major Upgrade, aber da könnte man den entsprechenden Wert ja auch bei der Installation des neuen Produktes vorher löschen.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 07 February 2006 - 18:46

QUOTE
Ich habe auch nichts gefunden, wie man in der RemoveRegistry Tabelle einstellen kann, dass der Wert nur bei der Deinstallation gelöscht wird.

Stimmt, das hatte ich mit der RemoveFile Tabelle verwechselt.

Eagle

Eagle
  • Full Members
  • 79 posts

Posted 08 February 2006 - 07:37

Das Problem ist aber, dass der Wert von einem anderen Programm geschrieben wird und somit mit der eigentlichen MSI Installation nichts zu tun hat. Der Wert darf also nur bei einer Deinstallation entfernt werden. Ich denke dass es in diesem Fall nur über eine Custom Action funktioniert.

Ciao Thomas