Patch: Problem Registryeinträge und Verknüpfungen
Posted 27 November 2007 - 16:34
ich habe folgendes Problem. Vor einiger Zeit habe ich eine Installation erstellt. Da sich einige Daten verändert haben, musste ich eine neue Version der Installation erstellen. Die Updatefunktion funktioniert auch wunderbar, wenn das installierte Programm unter C:\Programme (also dem Defaultverzeichnis) liegt.
Wurde bei der Erstinstallation ein anderes Verzeichnis als das Defautlverzeichnis angegeben, werden zwar alle Dateien richtig aktualisiert, allerdings werden die Registryeinträge bzw. Verknüpfungen neu geschrieben. Statt das bei der Erstinstalltion angegebene Verzeichnis, steht z.B. im Verknüpfungsziel C:\Programme, also das Defaultverzeichnis. Das darf natürlich nicht passieren.
Es wird die Variable [INSTALLDIR] verwendet.
Komisch ist auch, dass z.B. bei der Verknüpfung auch ein Arbeitsverzeichnis angegeben, dies aber beim Update richtig ist, obwohl dort auch [INSTALLDIR] verwendet wird.
Ich hoffe ich konnte mein Problem richtig schildern.
Wie kann ich dies korrigieren oder kann ich angeben, dass die Installation beim Update die Verknüpfungen bzw. Registryeinträge nicht anfassen soll.
Vielen Dank schonmal im voraus.
Gruß
Posted 29 November 2007 - 11:23
Vielleicht hilft dir die Funktion AppSearch bei deinem Problem weiter.
Edited by ali, 29 November 2007 - 11:24.
Posted 29 November 2007 - 11:52
Habe im Menü "Patch-Design" den alten Setup + neuen Setup hinzugefügt und mir den Patch erstellen lassen.
Woran erkenne ich welche Art es ist?
Posted 30 November 2007 - 08:47
Posted 30 November 2007 - 13:09
In welchem Abschnitt des Handbuchs steht was dazu?
Posted 30 November 2007 - 13:41
Eine weitere Möglichkeit wäre, alle Registry-Einträge per Systemsuche auszulesen und diesen Wert dann wieder zurückzuschreiben. Nur wenn der Eintrag nicht existiert verwendest du den Defaultwert.
Stefan Krüger
InstallSite.org twitter facebook
Posted 30 November 2007 - 14:05
Ich habe eine Installation mit 3 Features, für jedes Feature wird ein Registryeintrag geschrieben.
Beispiel: Feature 1
[HKEY_LOCAL_MACHINE\SOFTWARE\[NAME]\Feature1\Installation]
"InstallPath"="[INSTALLDIR]Feature1"
Jetzt habe ich mit dem Assistenten der Systemsuche einen Eintrag hinzugefügt:
Was möchten Sie suchen?
Registrierungseintrag
Wie möchten Sie danach suchen?
Registrierungsstamm: HKEY_LOCAL_MACHINE
Registrierungsschlüssel: SOFTWARE\[NAME]\Feature1\Installation\InstallPath
Registrierungswert: [INSTALLDIR]Feature1
Was möchten Sie mit dem Wert tun?
Welcher Eintrag muß aus der Liste ausgewählt werden und welche zusätzliche Option ist zu treffen? Ich verstehe es nicht so ganz.
Muß ich sonst noch was beachten?
Posted 30 November 2007 - 15:16
Registrierungsstamm: HKEY_LOCAL_MACHINE
Registrierungsschlüssel: SOFTWARE\[NAME]\Feature1\Installation
Registrierungswert: InstallPath
Was möchten Sie mit dem Wert tun?
Nur Wert in einer Eigenschaft speichern.
Wert der Eigenschaft.
INSTALLDIR
Posted 30 November 2007 - 15:34
Anstelle von INSTALLDIR kannst du auch ein anderes Verzeichnisproperty nehmen. Wenn du zb. Feature1 in ein Unterverzeichnis von INSTALLDIR installiert hast, kannst hier über die suche dieses Property setzen z.b. FEATURE1. oder du liest direkt das INSTALLDIR aus und setzt auch das INSTALLDIR wieder auf diesen Wert, die Unterverzeichnisse sollten dann automatisch mit gesetzt werden, weil diese auf INSTALLDIR verweisen.
ich hoffe das ist jetzt nicht zu verwirrend.
Edited by ali, 30 November 2007 - 15:36.
Posted 30 November 2007 - 15:49
Beispiel:
Feature1 wird unter [INSTALLDIR]\Feature1 installiert. In der Registry steht dann:
[HKEY_LOCAL_MACHINE\SOFTWARE\[NAME]\Feature1\Installation]
"InstallPath"="[INSTALLDIR]Feature1"
Feature2 und 3 dito.
Ich möchte eigentlich nur INSTALLDIR auslesen und es korrekt wieder setzen. Wie kann ich das mit den gegeben Möglichkeiten bewerkstelligen?
Posted 30 November 2007 - 15:52
Komischerweise wird bei den Verküpfungen das Arbeitsverzeichnis entweder NICHT angefasst oder das Verzeichnis richtig gesetzt. Wie kommt das?
Posted 30 November 2007 - 16:01
Stefan Krüger
InstallSite.org twitter facebook
Posted 30 November 2007 - 16:18
QUOTE (Stefan Krueger @ 2007-11-30 16:01) |
Schau mal im Uninstall-Eintrag unter HKLM\Software\Microsoft\Windows\Current Version\Uninstall\[ProductCode]. Dort sollte es einen Eintrag InstallLocation geben. |
InstallLocation ist bei mir leer.
Posted 30 November 2007 - 18:48
Stefan Krüger
InstallSite.org twitter facebook
Posted 03 December 2007 - 13:54
QUOTE (Stefan Krueger @ 2007-11-30 18:48) |
Pech. Dann solltest du wenigstens in Zukunft das Property ARPINSTALLLOCATIONsetzen. |
Ich dachte sowas ist in einem Basic-MSI-Projekt Defaultmäßig eingestellt.
Dem ist aber nicht so.
Ich bedanke mich vielmals für die Antworten.
Posted 07 December 2007 - 18:42
Stefan Krüger
InstallSite.org twitter facebook