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

Script-Anbindung


3 replies to this topic

Patrick180

Patrick180
  • Full Members
  • 5 posts

Posted 07 May 2009 - 14:32

hi,

ich hab gerade folgendes problem...

ich wollte dialogfelder (textfelder) mit werten vorbelegen.

1. für unterschiedliche produktkonfigurationen gibt es einen unterschiedlichen license text
2. der ziel ordner wird aus der registry eingelesen

gibt es einen einfachen weg eine funktion an ein control zu binden oder eine aktion zu erstellen die vor dem aufruf des dialoges aufgerufen wird und dann eine globale variable ändert?

gibt es dafür beispiele im web?

für jede hilfe dankbar

patrick

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 May 2009 - 09:03

Es gibt keine Funktion die *vor* der Azeige eines Dialogs aufgerufen wird, sondern du musst die Funktion *nach* (d.h. vom "Weiter"-Button) dem *vorhergehenden* Dialog aufrufen, oder eben in der Sequenz vor dem Dialog/den Dialogen einfügen.

Ich nehme an, mit "globale Variable" meinst du "public Property". Wenn das Proeprty dem Editfeld zugewiesen ist, dann wird der Wert des Property automatisch als Vorgabe im Editfeld verwendet. Du musst also nur irgendwann vor der Azeige des Dialogs das Property gesetzt haben. Das kann ggf. ziemlich am Anfang des Setup erfolgen.

Beim Lizenztext wird es komplizierter. Denn der RTF-ext steht direkt in der Eigenschaft des Controls und lässt sich deshalb nicht so einfach ändern. Eine bessere Möglichkeit wäre, auf dem Dialog mehrere RTF-Controls zu platzieren - einfach übereinander stapeln - jeweils eines pro Textversion. Setze sie per Default auf unsichtbar. Über Bedingungen kannst du festlegen, welches der Controls sichtbar sein soll. Für die Bedingung bietet sich das ISReleaseFlags proeprty an.

Patrick180

Patrick180
  • Full Members
  • 5 posts

Posted 14 May 2009 - 16:06

hi,

nochmal eine frage zu 'Über Bedingungen kannst du festlegen, welches der Controls sichtbar sein soll'

Ich bekomm das nicht so hin, mir fehlt da ein Beispiel.

Ich probier das über das Verhalten des Dialogs und geh auf das 'Memo' Control. Dyann gibt es da Ereignis - Argument - Bedingung. Wie ich damit umgehen soll, was ich wo eintrage damit das sichtbar wird bekomm ich nicht hin.

DoAction - ISReleaseFlag - MyFlag???

Beim Dateinamen steht im Grunde ja eine Konstante (<ISProductFolder>\...\Eula.rtf)

Ist es nicht möglich eine Variable im Script zu setzen ISLicenseRTF die ich vor dem Aufruf des Dialogs setze und dann im Dateinamen benutze <ISLicenseRTF>.

Für jede Hilfe dankbar.

gruß

Patrick



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 15 May 2009 - 21:16

QUOTE

Ich probier das über das Verhalten des Dialogs und geh auf das 'Memo' Control. Dyann gibt es da Ereignis - Argument - Bedingung. Wie ich damit umgehen soll, was ich wo eintrage damit das sichtbar wird bekomm ich nicht hin.

Unter "Bedingung kannst zu Einträge hinzufügen für sichtbar, unsichtbar, usw. und dazu jeweils eine Bedingung. Wenn die Bedingung erfüllt ist wird das Control sichtbar bzw. unsichtbar. Du brauchst beides falls sich die Bedingung ändern kann während der Benutzer durch die Dialoge vorwärts und rückwärts geht.

QUOTE
Beim Dateinamen steht im Grunde ja eine Konstante (<ISProductFolder>\...\Eula.rtf)
Ist es nicht möglich eine Variable im Script zu setzen ISLicenseRTF die ich vor dem Aufruf des Dialogs setze und dann im Dateinamen benutze <ISLicenseRTF>.

Nein, denn der Dateiname steht nur in der Projektdatei. Beim Build wird der tatsächliche Dateininhalt in die Tabelle geschrieben. Mach die .msi-Datei mal im Direct Edit Modus auf, dann siehst du was ich meine.