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

Dateien in einen vorhandenen Ordner installieren


7 replies to this topic

Majue

Majue
  • Full Members
  • 185 posts

Posted 05 November 2009 - 13:52

Hallo,

ich habe folgende Problemstellung:

ich ermittel einen Ordnerpfad, der sich ggf. auch im Netz befinden kann, per Systemsuche aus einem INI-Eintrag und speichere ihn in der Eigenschaft VORLAGENPFAD. Ist diese Eigenschaft gesetzt, soll eine bestimmten Komponente diesen Ordner als Ziel verwenden und dorthin die Dateien installieren. Leider funktioniert das noch nicht. Es wird jetzt ein Ordner C:\VORLAGENPFAD angelegt und die Dateien werden dorthin installiert.

Wie bekomme ich den Installer dazu, diese Aufgabe in meinem Sinne zu erledigen? Was ist bei der Syntax zu berücksichtigen?

Gruß
Jürgen

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 November 2009 - 14:40

Wie lautet denn der Name des Directory-Property in der Zielverzeichnis-Einstellung der Komponente?

Majue

Majue
  • Full Members
  • 185 posts

Posted 09 November 2009 - 09:36

Hallo,

ich habe die Werte genauso eingetragen, wie Sie beim Ordner PATH_TO_COMMON_DOCUMENTS hinterlegt sind, da hier das Kopieren der Dateien in den vorhandenen Ordner einwandfrei funktioniert hat.
Folgende Werte stehen in der Directory-Tabelle:

Directory: VORLAGENPFAD
Directory_Parent: TARGETDIR
DefaultDir: VORLAGENPFAD (Wert kommt per Systemsuche aus einer INI-Datei)

Ich hoffe, es gibt eine Lösung, damit es funktioniert.

Gruß
Jürgen

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 09 November 2009 - 10:18

Das funktioniert so nicht, du kannst dort keine Properties verwenden.
Stattdessen:
Vergibt als Default-Einstellung für die Komponente etwas sinnvolles, was auch funktioniert wenn es die INI nicht gibt, z.B. [INSTALLDIR]Vorlagen (merke: INSTALLDIR, nicht TARGETDIR). Notiere bzw. setze den Directory-Identifier (z.B. VORLAGEN)

Füge eine Custom Action Typ 51 (Property setzen) in die UI und Execute Sequenz ein, und zwar vor CostInitialize.

Property: VORLAGEN (das was als Ziel bei der Komponente hinterlegt ist)
Wert: [VORLAGENPFAD] (verwende einen separaten Property-Namen für die Systemsuche)
Bedingung: VORLAGENPFAD (also nur ausführen, wenn aus der INNI tatsächlich etwas ausgelesen wurde)



Majue

Majue
  • Full Members
  • 185 posts

Posted 09 November 2009 - 12:18

Hallo,

vielen Dank, das werde ich gleich testen. Macht den gesamten Ablauf auch einfacher, da ich mir so die unterschiedlichen Komponenten sparen kann!

Gruß
Jürgen

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


ali

ali
  • Full Members
  • 1,008 posts

Posted 10 November 2009 - 15:49

Hallo,

Es gibt doch in der Systemsuch die Möglichkeit einen Pfad aus einer ini-Datei zu lesen, und diesen direkt als Ziel einer Komponente zu verwenden. Mit der Einstellung. "Folder path, as specified by an ini value", im nächsten Schritt die Daten eingeben und dann beim Schritt "What do you want do do with the value" die Option "Use the Property as the destination of a component" verwenden.
Der Pfad in der Komponente wird so nur gesetzt wenn die Systemsuche was findet, ansonsten wird der "Default_Path" der in der Komponente vorbelegt ist zb. "INSTALLDIR" verwendet?!
Dabei braucht's keine CA51

Majue

Majue
  • Full Members
  • 185 posts

Posted 14 December 2009 - 12:26

Vielen Dank für Eure Hilfe,

Stefan, Dein Tip hat mir weitergeholfen, nun funktioniert es!

Ali, Dein Vorschlag funktionierte nicht, da ja die Eigenschaft erst nach der Systemsuche mit einem Wert versehen wird, dieser aber nicht immer zwingend vorhanden ist.

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


ali

ali
  • Full Members
  • 1,008 posts

Posted 16 December 2009 - 21:18

QUOTE
Dein Vorschlag funktionierte nicht, da ja die Eigenschaft erst nach der Systemsuche mit einem Wert versehen wird, dieser aber nicht immer zwingend vorhanden ist.


sorry, dann habe ich dich falsch verstanden, ich dachte du willst das Property nur gefüllt haben wenn die Suche was findet und ansonsten einen Standardwert.

Edited by ali, 16 December 2009 - 21:18.