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

File-group-destination ändern?


3 replies to this topic

Ralf

Ralf
  • Full Members
  • 63 posts

Posted 03 May 2010 - 15:47

Hallo,
ich arbeite mit InstallShield Prof. 6.12 und habe folgendes Problem:

Bei meinen bisherigen Setups habe ich bei einem Programm die Dateien gemäß ihrer File-group-destination installiert. Die Destination der jeweiligen file-groups wird im Skript über Variablen festgelegt.

Nun möchte ich ein Setup für eine neue Version des Programms erstellen, bei der zwar die gleichen Dateien, aber nun in andere Verzeichnisse installiert werden sollen (nebenbei: Nun soll z.B. die Anwendung mit ihrer EXE und den DLLs in das Windows-Programme-Verzeichnis installiert werden, vorher wars ein selbst erzeugtes Verzeichnis).

Wenn nun bereits eine bisherige (alte) Programmversion installiert wäre, würde das neue Setup nun also im Maintenance-Mode laufen. Da habe ich überlegt, ob ich nun zur Laufzeit die file-group-Destination ändern kann (jeweils auf das neue Verzeichnis).

Frage 1: Ich habs noch nicht probiert, aber vermutlich geht das Ändern der Destination zur Laufzeit nicht, weil die Installations-Engine sich doch die Pfade der bisher installierten Dateien speichert, oder?

Alternativ kann ich natürlich eine neues Setup-Projekt mit einer neuen GUID erstellen. Aber dann müssten bei dieser "Update-Installation" alle Einstellungen der Erst-Installation (z.B. Zielverzeichnisse) erneut gemacht werden, was ich vermeiden will. Und ich möchte möglichst die aktuellen Parameterdateien (die der Anwender ja mit der alten Programmversion an seine Bedürfnisse angepasst hat) bei der Update-Installation in die neuen Verzeichnisse übernehmen.

Frage 2: Gibt es eine Möglichkeit, während eines Setups, das eine neue Projekt-GUID hat, von einer bereits vorhandenen Installation (installiert mit einem Setup mit einer alten GUID) die Verzeichnisse der bisher installierten Dateien zu ermitteln?

Danke und viele Grüße
Ralf


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 May 2010 - 15:56

Ich bin verwirrt: willst du nun die alten Verzeichnis-Einstellungen übernehmen, oder ins neue Verzeichnis installieren? Oder eine Mischung daraus?

Vielleicht könntest du für die Dateien, die ins neue Verzeichnis installiert werden sollen, einfach neue Verzeichnis-IDs verwenden? Dann kannst du die vorhandenen Werte beibehalten, aber bestimmte Dateien trotzdem in neue Verzeichnisse kopieren (wobei natürlich die entsprendenden Dateien in den alten Verzeichnissen zurück bleiben).

Ralf

Ralf
  • Full Members
  • 63 posts

Posted 03 May 2010 - 16:23

Es geht um die Installation von EXEs und DLLs (die höhere Versionen haben als bereits installierte Dateien) in neue Verzeichnisse und um die Übernahme von vorhandenen Parameterdateien in neue Verzeichnisse.


Beispiel:

Eine Datei "Test.exe", die bisher unter "C:\P1" installiert wurde, soll nun (in einer höheren Version) in das Verzeichnis "C:\Programme\P1" installiert werden. Es ist dabei kein Problem, dass die alte "Test.exe" im alten Verzeichnis erhalten bleibt.

Zusätzlich hat "Test.exe" bisher eine Parameterdatei "Para.par" auch in "C:\P1" gelesen und geschrieben. Diese Datei soll ab der neuen Version unter "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\P1" liegen. Bei der Update-Installation möchte ich deshalb die vorhandene "Para.par" dorthin kopieren. Sie soll aber im bisherigen Verzeichnis auch erhalten bleiben, so dass die alte Programmversion noch laufen kann, auch wenn beide Versionen nun natürlich separate Parameterdateien haben.

Meinst Du mit der "Verwendung neuer Verzeichnis-IDs", dass ich im bestehenden Projekt bei der betreffenden File-group einfach die Destination ändern soll? Bringt das was, denn im Maintenance-Mode nimmt das InstallShield doch die bisherigen Ziel-Verzeichnisse der file-groups, oder?

Die file-group-destinations sind bei mir Variablen, die ich im Skript belege. Nutzt es was, wenn ich jetzt im Skript die Variable auf das neue Verzeichnis setze? Oder muss ich eine völlig neue Variable vergeben?

Edited by Ralf, 03 May 2010 - 16:24.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 May 2010 - 16:31

Ich meinte: neue Filegroups (mit neuen Variablen) für die neuen Dateien. Dann bleibt bei den alten alles beim alten, und beim Zielverzeichnis für die neuen bist du frei.