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

Ändern des Feature Display Namen während der Laufzeit


2 replies to this topic

MER

MER
  • Full Members
  • 2 posts

Posted 03 February 2014 - 11:35

Ich habe in meinem InstallScript MSI Project mehrere Features, wobei jeder für sich eine eigene Versionsnummer hat (unabhängig von der Projekt Versionsnummer). Diese Nummern würde ich gerne dem Enduser sichtbar machen und will sie im Feld "Display Name" und/oder "Description" an den eigentlichen Namen anhängen (z. B. "Feature1 V1.0").

Das Setup insgesamt wird sich nicht mehr ändern, aber im Laufe der Zeit bekommen die einzelnen Features neue Versionen, die ich nicht jedesmal händisch in der IDE ändern will. Die einzelnen Versionsinformationen sind in (externen) Dateien verfügbar und können mittels InstallScript Datei (setup.rul) am Anfang eingelesen werden.

 

Was ich bis jetzt weiß bzw. versucht habe:

- der Value von "Display Name", z. B. "Feature1", wird als eine String Konstante, z. B. {ID_STRING24}, in der String Table hinterlegt

 

- man kann auch ein Property, z. B. "MYPROPERTY1", mit dem Value {ID_STRING24} belegen. Damit ist "MYPROPERTY1" = "Feature1". Und wenn ich {ID_STRING24} änder, dann ändert sich auch der Wert von "MYPROPERTY1" entsprechend.

 

- man kann den Wert eines Property ändern mit:

   MsiSetProperty(HANDLE, "MYPROPERTY1", "Feature1 V1.0");

Danach ist "MYPROPERTY1" = "Feature1 V1.0". Das ändert aber nicht den Wert von {ID_STRING24}. Der war bei mir immer noch "Feature1".

 

- Benutze ich den gleichen Aufruf von MsiSetProperty mit ID_STRING24, dann wird dieser nicht geändert. Liegt das daran, dass es eine Konstante ist und sie deshalb nicht geändert werden kann? Oder hab ich nur die falsche Syntax verwendet?

 

- Dann hab ich noch gelesen, dass man manche Werte in der String Table vielleicht auch mit Hilfe eines externen Scripts (Phyton script, ...) in einer Art Vorlauf von außen verändern kann. Ginge das mit dem Feature Display Name? Und wenn ja, in welcher Datei finde ich die Werte, die das Script ändern müßte?

 

Also wie ihr seht, ist mir jede Lösung recht, um den Display Name zu ändern. Vorher mittels Phyton Script oder während der Laufzeit durch einen Befehl in setup.rul. Hauptsache es geht überhaupt.

 

Danke für eure Hilfe.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 February 2014 - 15:37

Hast du es mit FeatureSetData versucht?



MER

MER
  • Full Members
  • 2 posts

Posted 04 February 2014 - 07:23

Oh, doch so einfach. Ja FeatureSetData hat natürlich funktioniert. Ich muss wohl noch viel lernen.

 

Vielen Dank Stefan