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

Dialog mit Installations-Einstellungen


5 replies to this topic

hmoeckel

hmoeckel
  • Full Members
  • 97 posts

Posted 19 August 2004 - 09:04

Halli Hallo

Ich arbeite mit Installshield Developer 7 an einem Basic MSI Projekt

Folgendes Problem:
Am Ende aller Dialogeingaben würde ich gerne einen Dialog anzeigen, worin alle zuvor gemachten Einstellungen noch einmal angezeigt werden sollen zur Überprüfung durch den Anwender.
Es gibt recht zahlreiche Einstellungen und je nach ausgewählten Optionen auch unterschiedlich viele. So ist ein Fenster mit statischen Text-feldern, worin ich meine Informationen schreibe, nur eine unbefriedigende Lösung.

Eine Variante, die ich probiert habe, ist eine ListBox, die ich zur Laufzeit dynamisch fülle. Der Nachteil ist, dass ich die Einträge, die ja als temporäre Einträge in der ListBox-Tabelle landen, weder löschen noch modifizieren kann.

Eine weitere Variante wäre ein ScrollableText-Control. Der braucht aber eine rtf-Datei, die zum Zeitpunkt des Paketbaus aber nicht gefunden wird, und die ausserdem etwas aufwendig zu bauen wäre.

Gibt es noch weitere Möglichkeiten? Irgendwas analog zu dem Installscript-Dialog 'SdStartCopy'?

Danke im Voraus

hm

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 19 August 2004 - 11:00

Temporäre ListBox Einträge kann man auch wieder löschen (Remove) und vermutlich auch ändern. Wo liegt das Problem?

hmoeckel

hmoeckel
  • Full Members
  • 97 posts

Posted 19 August 2004 - 13:19

danke für die prompte Antwort

Bezüglich des Loeschens habe ich mich auf den KBA-Artikel Q103295 bezogen, der handelt zwar von ComboBoxen, aber ich denke das ist auf ListBoxen übertragbar.
Moeglicherweise habe ich da auch was missverstanden

Bezüglich des Aenderns lieferte mir die Funktion MsiViewModify mit dem Switch MSIMODIFY_UPDATE aufgerufen einen Fehler zurück.
Die Eintraege angelegt hatte ich mit MsiViewModify mit dem Switch MSIMODIFY_INSERT_TEMPORARY. Vielleicht hat das auch eine andere Ursache.

Ich kann gerne den installscript-code beilegen



hmoeckel

hmoeckel
  • Full Members
  • 97 posts

Posted 19 August 2004 - 13:21

den code habe ich attached

Attached Files



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 20 August 2004 - 13:21

Du kannst keine Einträge entfernen, die in der MSI Datei definiert sind. Aber die Einträge, die du zur Laufzeit temporär einfügst kannst du auch wieder löschen.

Ich hab mir dein Skript nicht genau angesehen aber ich glaube:
Wenn in deinem Script bRecExist != 0 ist dann hast du nur einen View, aber kein gültiges hRec für dein MsiRecordSetString und auch nicht für MsiViewModify. Da scheint ein MsiViewFetch zu fehlen. Ausserdem willst du vielleicht dein SELECT Statement in diesem Fall ändern, damit du auch weisst, welchen Record du änderst. Im Moment enthält dein View ja alle Einträge aus der ListBox Tabelle, und MsiViewFetch würde daher einfach den ersten Eintrag liefern.

hmoeckel

hmoeckel
  • Full Members
  • 97 posts

Posted 20 August 2004 - 16:02

Hallo Stefan

danke fuer deine Bemühungen, dass du dich in meinem chaotischen Code zurecht zu finden versucht hast.

Da war wohl ein Denkfehler meinerseits bezueglich dieses KBA-Artikels. Es macht natuerlich auch keinen Sinn, dass man temporaere Eintraege in tabellen machen kann, diese aber nicht mehr loeschen oder modifizieren kann.

Bevor ich ein Update der Listbox vornehme, loesche ich jetzt einfach alle Eintraege in der List Box mit dem entsprechenden Property. So brauche ich auch keine einzelnen Reihen updaten und kann mit dir die ganzen Verrenkungen im Code sparen.

danke schön