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

Eigene Sprachauswahl


1 reply to this topic

DeBo

DeBo
  • Full Members
  • 8 posts

Posted 23 August 2006 - 08:04

Hallo zusammen,
mit InstallShield X Premier-Edition lassen sich ja relativ einfach mehrsprachige Setups erstellen. Doch damit überhaupt die InstallShield-eigene Sprachauswahl aufgerufen wird, muß bei der Release-Erstellung der entsprechende Schalter gesetzt sein.

Bei Neu-Installationen ist das ja auch ok. Doch wenn mit dem gleichen Setup auch ein Update gemacht wird, zeigt InstallShield ebenfalls die Sprachauswahl an, obwohl dann auf die Sprache des bereits installierten Paketes umgeschaltet wird. Eine Sprachauswahl bei einem Update ist also absolut sinnlos.
Das gleiche gilt für einen QuickPatch, wenn nur einige Dateien aktualisiert werden müssen.

Deshalb wollte ich einen eigenen Sprachauswahl-Dialog verwenden, der nur bei einer Neu-Installation aufgerufen wird. Allerdings wird die Property ProductLanguage weder durch eine benutzerdefinierte Funktion noch durch eine script-basierende Funktion neu gesetzt (MsiSetProperty(...), d.h. der Wert wird zwar gesetzt (durch erneutes Lesen bestätigt), aber die Sprache im nächsten Formular wird nicht umgestellt.

Auch kann ich nicht feststellen, wann der InstallShield-eigene Dialog überhaupt aufgerufen wird. Der eigene Dialog wird wohl entweder zu früh oder zu spät in der Sequenz aufgerufen.

Hat jemand eine Idee, wie das Problem gelöst werden kann ?


Martin Aigner

Martin Aigner
  • Full Members
  • 133 posts

Posted 23 August 2006 - 16:07

Hi DeBo,

der Sprachauswahl-Dialog wird in der Setup.exe ausgeführt und nicht im MSI-Setup. Grundsätzlich sind MSI-Setups nicht multilingual, d.h. im MSI-Paket ist immer nur eine Sprache enthalten. Die Setup.exe ändert die Sprache durch Angabe einer Transformation (z.B. 1031.mst, 1033.mst usw.).

Diese Transformationen liegen entweder im gleichen Verzeichnis wie die Setup.exe oder sie wird beim Starten der Setup.exe in das Temp-Verzeichnis ausgepackt. Ich glaube beim Erstellen des Setups gibt es auch noch unterhalb des Setups ein Verzeichnis, in dem die Transformationen abgelegt werden.

Der Aufruf des Setups sieht dann wie Folgt aus:

CODE
msiexec.exe /i Test.msi TRANSFORMS=1031.mst

SD-Technologies GmbH
Macrovision Certified Training Partner.
More infomation at www.sd-technologies.de