
Patcherstellung -nur 2 Datein löschen- funzt nicht
Posted 26 February 2013 - 10:38
ich bin gerade dabei einen Patch mit Installshield Designer zu erstellen...
Es sollen nur 2 Komponenten aus dem Ursprungs MSI gelöscht werden.
Den Patch erstelle ich ganz normal.... Also
Kopie vom vorhergehenden MSI machen dann in der Kopie die
Änderungen machen. Patch Erstellung im Designer auswählen. Dann geb ich ihm das letest und das prev MSI...
Noch einige Parameter einstellen und fertig.... Patch ist erstellt.... löscht aber die 2 Dateien nicht die in den gelöschten Komponenten waren.
An was kann es liegen ? Ich installieren den Patch mit den parametern REINSTALL=ALL REINSTALLMODE=omus
Danke schon mal im Voraus !
Viele Grüsse
Joe
Posted 26 February 2013 - 10:58
Lass die Komponten drin, setze aber ihr Condition auf 0 (= false) und Re-evaluate Condition auf yes (bzw. setzt das "transitive" Flag).
Stefan Krüger
InstallSite.org twitter facebook
Posted 26 February 2013 - 11:24
QUOTE (Stefan Krueger @ 2013-02-26 10:58) |
Minor Updates (und darunter fällt ja auch der Patch) können keine Komponenten aus dem Setup löschen. Lass die Komponten drin, setze aber ihr Condition auf 0 (= false) und Re-evaluate Condition auf yes (bzw. setzt das "transitive" Flag). |
Vielen Dank , die Dateien sind nun weg... jetzt habe ich noch das Problem das diese Dateien/Komponenten als Shortcuts auch noch vorhanden sind.... was muss ich mit den Shortcuts dann machen ?
Einfach rauslöschen brachte keinen Erfolg.... werden nach dem Patch dann immer noch angezeigt...
Gruss
Joe
Posted 26 February 2013 - 11:27
Stefan Krüger
InstallSite.org twitter facebook
Posted 26 February 2013 - 11:37
QUOTE (Stefan Krueger @ 2013-02-26 11:27) |
Wenn der Shortcut der gleichen Komponente zugeordnet ist, sollte er eigentlich mit verschwinden. Ist er evtl. in einer anderen Komponente? |
Ok alles klar.... war mein Fehler ... ich hatte den Shortcut im Paket gelöscht... das darf man wohl nicht...
Posted 26 February 2013 - 11:51
Und zwar muss ich auch eine Property ändern deren wert von einem Registry Key ausgelesen wird...
Wenn ich jetzt nur dieses Property ändere dann ändert er nicht den Key sondern erzeugt einen neuen.
Der alte wird dann bei der deinstallation nicht mehr berücksichtig und bleibt...
Kann mir geholfen werden ?
Gruss
Joe
Posted 26 February 2013 - 16:01
Stefan Krüger
InstallSite.org twitter facebook
Posted 27 February 2013 - 08:27
QUOTE (Stefan Krueger @ 2013-02-26 16:01) |
Also das musst du etwas genauer erklären. Willst du einen registry-Key umbenennen? Ich schätze, da wirst du genauso die Komponente für den alten Key auf Condition 0 setzen müssen und eine neue mit dem neuen Namen anlegen. |
Nein, nicht umbenennen ...
Der Wert des Keys ändert sich... dieser Wert wird aus den MSI Propertys ausgelesen... also muss ich die property ändern das sich der wert des keys dann auch ändert...
er legt mir aber dann immer einen 2. Reg Key an mit dem neuen wert... der alte bleibt trotzdem bestehen und wird dann auch blöderweise mit der deinstallation des gesamten paketes nicht gelöscht...
Gruss
Joe
ach ja, es ändern sich nicht nur die werte sondern auch der name des keys der auch aus den propertys ausgelesen wird...
Die komponente hab ich schon auf condition = 0 gesetzt und eine neue erstellt...
habs aber trotzdem dann doppelt drin

Edited by manowar30, 27 February 2013 - 08:54.
Posted 27 February 2013 - 15:23
QUOTE |
es ändern sich nicht nur die werte sondern auch der name des keys |
Evtl. geht es auch anders: Lass den Key mit dem Property im Namen in der Komponente (und setzte die Condition nicht auf 0) - das erzeugt den neuen Eintrag. Um den alten loszuwerden gehe (bei InstallShield) in den Direct Editor und mache einen Eintrag in der tabelle RemoveRegistry.
Stefan Krüger
InstallSite.org twitter facebook
Posted 05 March 2013 - 07:14
QUOTE (Stefan Krueger @ 2013-02-27 15:23) | ||
Das bedeutet - das es kein Umbennenen von Registry-Keys gibt - alter raus und neuer rein. Dazu musst du bei der Komponente, in der der alte Key drin ist, die Condition auf 0 setzen (wie du schon getan hast) und Reevaluate auf Yes (Transitiv-Bit der Komponente). Dazu muss Windows Installer natürlich den alten Key finden. Du müsstest also ggf. hier das Property durch den tatsächlichen Wert ersetzen. Evtl. geht es auch anders: Lass den Key mit dem Property im Namen in der Komponente (und setzte die Condition nicht auf 0) - das erzeugt den neuen Eintrag. Um den alten loszuwerden gehe (bei InstallShield) in den Direct Editor und mache einen Eintrag in der tabelle RemoveRegistry. |
ok, ich versuchs mal...
Vielen Dank für deine Hilfe !