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

INSTALLDIR zuweisen


7 replies to this topic

Jens1984

Jens1984
  • Full Members
  • 8 posts

Posted 15 February 2007 - 00:18

Guten Abend zusammen,

ich habe mir ein Script erstellt mit Custom Actions. Eins der Custom Actions Erstellt mir eine Property mit volgenden Wert:
session.property("_INSTALLDIR") = "C:\LHA"
(Wird ausgeführt nach Execute: After CostInitialize)

Nun möchte ich den Wert _INSTALLDIR an ein anderes Custom Action übergeben:
session.property("INSTALLDIR") = session.property("_INSTALLDIR")
(Wird ausgeführt nach UI: After ValidateProductID)
(Wird ausgeführt nach Execute: After IsolateComponents)

Sollte ich es nun wie oben beschrieben an INSTALLDIR übergeben, habe ich immer als Pfad C:\Programm. Doch es sollte eigentlich C:\LHA sein.
Nun habe ich zu Testzwecken session.property("INSTALLDIR") = "C:\LHA" fest zugeweisen und es hat dann funktioniert.

Wie oder was muss ich schrauben / drehen das ich aber auf die von mir neu hinzugefügte Property _INSTALLDIR zugreifen kann?

Vielen Dank für Infos!

Mit freundlichen Grüßen

Jens

ali

ali
  • Full Members
  • 1,008 posts

Posted 15 February 2007 - 08:14

wieso machst du das mit script, du machst doch Basic MSI.
Benutze doch eine CA 51 (setzen einer Eigenschaft dafür), und binde diese in die Sequenzen ein. Du hast damit den Vorteil, das der Installer dieses Verzeichnis bei weiteren prüfungen dann auch berücksichtigt, beim script wird das nicht so einfach.

Edited by ali, 15 February 2007 - 08:15.


Jens1984

Jens1984
  • Full Members
  • 8 posts

Posted 15 February 2007 - 13:09

Guten Tag,

ich habe nun Direct Editor -> CustomActions -> Eine neue Ation mit dem Namen INSTALLDIR erstellt. Diesem habe ich den Wert Type 51 zugeweisen. Target beinhalte [_INSTALLDIR] (Also die Variable, welche ich als INSTALLDIR verwenden möchte).

Entsprechend habe ich nun unter Sequences die neue Action INSTALLDIR vor CostFinalize gesetzt.

Leider funktioniert es nach wie vor nicht. Auch die Zuweisung eines festen Wertes ergab nicht den erhofften Erfolg.

Mit freundlichene Grüßen

Jens

ali

ali
  • Full Members
  • 1,008 posts

Posted 15 February 2007 - 13:32

Hallo,

also wenn du INSTALLDIR setzen willst, dann musst du die Property [INSTALLDIR] nehmen, also ohne "_".
Am besten machst du das in der Ansicht für Benutzerdefinierte Aktionen.

Source ist das was du setzen willst also INSTALLDIR, hier ohne die[].

bei Target gibst du den Pfad an oder die Property welche du im Property Table bzw. in der Eignschaftsansicht gesetzt hast mit[] also [BEISPIEL]. Ich würde keine Hart Codierten Pfade nehemn, sondern mit Verzeichnispropertys arbeiten wie [ProgramFilesFolder].

Edited by ali, 15 February 2007 - 13:32.


Jens1984

Jens1984
  • Full Members
  • 8 posts

Posted 15 February 2007 - 14:20

Gute Tag,

vielen Dank für den Hinweis - habe nun folgende Einstellungen:
CustomActions -> (Action) SETINSTALLDIR -> (Type) 51 -> (Source) INSTALLDIR -> (Target) C:\LHA

Habe die Werte wie oben geschrieben genommen, doch nach wie vor noch immer das selbe Problem. Sollte ich meinen Wizard starten, so steht darin immer C:\Programme.

Unter Sequences habe ich es unter folgenden Punkt: (UI, als auch Exec) After IsolateComponents und direkt vor CostFinalize.

EDIT*Habe das Source und Target noch mal verwechselt. Habe nun die aktuellen Wetre oben eingetragen

EDIT*Funktioniert nun!

EDIT*Sollte ich aber anstatt C:\LHA meine Property Variable nehmen [_INSTALLDIR] funktioniert es nicht.
EDIT*Noch der Hinweis, die Property [_INSTALLDIR] wird erst per VBS Script nach After CostInitialize gesetzt. Könnte es daran liegen? Denn wenn ich die Property fest vorher eintrage, dann funktioniert es mit dem abrufen des [_INSTALLDIR]. Aber wie könnte ich das dann anderst lösen?

Mit freundlichen Grüßen

Jens

Edited by Jens1984, 15 February 2007 - 14:37.


ali

ali
  • Full Members
  • 1,008 posts

Posted 15 February 2007 - 15:03

ich würde das Property in den Eigenschaftsmanager eintragen. Ob ein Property mit "_" am Anfang zulässig ist, kann ich dir nicht sagen, habe ich noch nie verwendet. Schreibe ein log, währen der installation wenn du feststellen willst ob die CA funktioniert und es das Property überhaupt gibt bzw ob diese erstellt wird.
Also in meinem Projekt im Direkt Editor wird unter Source die Property eingetragen die man stzen will und unter Target die Zuweisung. Habe mal nachgesehen, weil ich das sonst nur im CA Menü mache. Welche IS VErsion benutzt du?

Jens1984

Jens1984
  • Full Members
  • 8 posts

Posted 15 February 2007 - 15:23

QUOTE (ali @ 2007-02-15 15:03)
ich würde das Property in den Eigenschaftsmanager eintragen. Ob ein Property mit "_" am Anfang zulässig ist, kann ich dir nicht sagen, habe ich noch nie verwendet. Schreibe ein log, währen der installation wenn du feststellen willst ob die CA funktioniert und es das Property überhaupt gibt bzw ob diese erstellt wird.
Also in meinem Projekt im Direkt Editor wird unter Source die Property eingetragen die man stzen will und unter Target die Zuweisung. Habe mal nachgesehen, weil ich das sonst nur im CA Menü mache. Welche IS VErsion benutzt du?

Hallo,

also eine Property mit "_" ist zuässig, da wenn ich die Property bereits von Anfang an eintrage, dann benutzt er auch diese. Nur die Übergabe von der Property _INSTALL auf INSTALL funktioniert nicht.

Gruß Jens

Edited by Jens1984, 15 February 2007 - 15:23.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 February 2007 - 20:31

Also, wenn INISTALLDIR den Wert von _INSTALLDIR bekommen soll, dann muss zu dem Zeitpunkt natürlich _INSTALLDIR schon den gewünschten Wert haben. Rückwirkend geht das nicht.