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

Parameter in Fehlermeldungen


2 replies to this topic

DeBo

DeBo
  • Full Members
  • 8 posts

Posted 02 February 2007 - 15:45

Hallo,
folgendes Problem stellt sich einer sinnvollen Lösung:

Möchte innerhalb eines InstallScripts eine bereits vordefinierte InstallShield-Fehlermeldung ausgeben, diese enthält jedoch einige Parameter, die zur Laufzeit nicht ersetzt werden. Wie kann man die notwendigen Parameter manuell setzen ?

Beispiel: IDS_ERROR_77:
Für das Produkt [2] wurde kein Installationspaket gefunden. Wiederholen Sie die Installation und verwenden Sie dabei eine gültige Kopie des Installationspakets "[3]".

Was für [2] und [3] gesetzt werden muß, ist klar, die Werte lassen sich ermitteln, doch wie bringe ich diese in die Fehlermeldung ? Die selbstgeschriebene InstallScript-Funktion wird über eine benutzerdefinierte Aktion ausgelöst. Das klappt auch alles sehr gut, nur die Parameter [2] und [3] werden nicht ersetzt. Die benutzerdefinierte Aktion wird in der Benutzeroberflächen-Sequenz nach MigrateFeatureState ausgelöst. Ist das zu früh oder zu spät ?

Habe mit Sprintf(...) verschiedenes ausprobiert, aber das hat irgendwie nicht geklappt.

Da die Installation mehrsprachig ist, möchte ich auch keine zusätzlichen Texte verwenden.

Weiß jemand Rat ?

Vielen Dank.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 02 February 2007 - 17:23

Also, diese texte sind vorgesehen um von Windows Istaller angezeigt zu werden, nicht von der Custom Action. Du könntest dazu eine Custom Action vom Typ 19 verwenden, die eine Fehlermeldung anzeigt und die Instalaltion abbricht.

Wenn du den Text im Skript verwenden willst, müsstest du die Platzhalter per Stringsuche finden und durch %s ersetzen. Dann müsste es mit Sprintf u.ä. gehen.

ANo

ANo
  • Full Members
  • 179 posts

Posted 16 February 2007 - 13:34

Hallo,
ich mache oft so etwas:

In Stringtabelle:
@_INFO_ISVERSION = Ich bin Version: %s.

In Funktion:
sIsVersion = "1.3.5.9"
Sprintf (sText, @_INFO_ISVERSION, sIsVersion);
MessageBox (sText, INFORMATION);


Es gibt aber noch lokalisierbare Eigenschaften:
In der Stringtabelle steht dann so etwas:
Das [MyTitel] ist ein schöner Titel.

Gruß
André