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

Mehrsprachige MSI-Pakete ohne Setup.exe


8 replies to this topic

Burkhard

Burkhard
  • Full Members
  • 4 posts

Posted 06 June 2007 - 09:52

Hallo,

ich habe den Artikel:

Mehrsprachige MSI-Pakete ohne Setup.exe

gelesen und versucht wie folgt ein entsprechendes, mehrsprachiges MSI zu erstellen.

1. Ich habe ein englisches MSI erstellt. ("Test.en.msi")
2. Ich habe ein deutsches MSI erstellt. ("Test.de.msi")
3. Mit dem Aufruf:
MsiTran.Exe -g Test.en.msi Test.de.msi language.de.mst
habe ich eine Transformation erstellt.
4. Mit dem Aufruf:
CScript.exe WiSubStg.vbs Test.en.msi language.de.mst 1031
habe ich die Transformation eingebettet.
5. Mit Orca hab ich bei den Summary Informations das Attribut geändert:
Languages = 1031, 1033

Ich arbeite mit WindowsXP Professional und Deutsch als eingestellter Sprache.
Die Windows Installer Version ist: Windows ® Installer. V 3.01.4000.1823

Wenn ich Test.en.msi in Windows per Doppelclick installieren möchte, kommt jedoch die englische Version meines Installers.

Der Aufruf über die Kommandozeile:
msiexec /i Test.en.msi TRANSFORMS=:1031 öffnet den Installer in deutscher Sprache.

Ist die in dem Artikel beschriebene undokumentierte Funktion des Windows Installers auch in meiner Version verfügbar oder habe ich einen anderen Fehler gemacht?

Vielen Dank für eure Hilfe,
Burkhard



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 June 2007 - 23:29

QUOTE
st die in dem Artikel beschriebene undokumentierte Funktion des Windows Installers auch in meiner Version verfügbar
Ehrlich gesagt, ich weiss es nicht. Es ist ja undokumentiert smile.gif
Aber versuch doch mal mit zwei MSI-Dateien zu erstellen, die den gleichen Namen haben. Und entferne im Summary Information das Leerzeichen zwischen den Sprachcodes.

akerl

akerl
  • Full Members
  • 104 posts

Posted 07 June 2007 - 17:26

Die undokumentierte Funktion ist auch in Deiner Version verfügbar. Du kannst prüfen, ob Du alles fehlerfrei integriert hast. Rufe dazu die folgende Befehlszeile auf:
msiexec /i Test.en.msi PRODUCTLANGUAGE=1033 bzw. 1031
Ich kann mir das Paket gerne ansehen, falls Du das möchtest. Wenn ja, melde Dich.

Andreas Kerl

Inside Windows Installer 4.5
ISBN 3-86645-431-7


Burkhard

Burkhard
  • Full Members
  • 4 posts

Posted 11 June 2007 - 09:52

Hallo,

- Das Leerzeichen habe ich entfernt, jedoch ohne Erfolg.
- Beim Erstellen hatten beide MSI Dateien den gleichen Namen. Ich habe nachträglich den Namen geändert um die Sprachversionen besser unterscheiden zu können.
- Ich habe mein Paket mit dem Aufruf: msiexec /i Test.en.msi PRODUCTLANGUATE=1031 getestet, der Installer wurde jedoch in englischer Sprache aufgerufen. Mit dem Aufruf: msiexec /i Test.en.msi TRANSFORMS=:1031 wird der Installer in deutscher Sprache aufgerufen.

Vielen Dank für das Angebot meinen Test-Installer anzusehen. Ich habe ein Setup1.msi im Anhang eingefügt.

Danke für eure Mühe,
Burkhard

Attached Files



Burkhard

Burkhard
  • Full Members
  • 4 posts

Posted 11 June 2007 - 10:00

Hallo,

Da es mir nicht gelungen ist, meinen Anhang auch wieder korrekt von dieser Seite
herunterzuladen, habe ich den Installer noch einmal als ZIP-Datei angehängt.

Burkhard

Attached Files



akerl

akerl
  • Full Members
  • 104 posts

Posted 11 June 2007 - 11:51

Hi Burkhard,
auch Dein Paket funktioniert; Du hast im Summary Information Stream die beiden Sprachangaben vertauscht. Hier steht bei Dir 1031,1033. Dieses funktioniert nicht, da Dein Paket in Englisch, also ProductLanguage 1033 erstellt wurde. Dieses muss sich in der Reihenfolge der SparchIDs im Summary Info Stream niederschalgen. Ersetze also die Languages durch "1033,1031" und es funktioniert. Wenn Du ein Log erstellst, kannst Du die fehlerfreie Funktionsweise auch feststellen. Das Log enthält einen solchen Eintrag:

SI © (F8:38) [12:47:44:448]: Looking for storage transform: 1031
MSI © (F8:38) [12:47:44:448]: Validating transform '1031' with validation bits 0
MSI © (F8:38) [12:47:44:448]: Transform '1031' is valid.

Ich füge Dir das Paket bei. Dieses funktioniert auch bei der Angabe der PRODUCTLANGUAGE von der Befehlszeile.

Gruß

Attached Files


Andreas Kerl

Inside Windows Installer 4.5
ISBN 3-86645-431-7


Burkhard

Burkhard
  • Full Members
  • 4 posts

Posted 11 June 2007 - 12:02

Hallo akerl,

Vielen Dank für Deine Hilfe!

Grüße,
Burkhard

seap2803

seap2803
  • Full Members
  • 2 posts

Posted 07 October 2009 - 15:53

Hallo,

ich habe das Problem mit der Erstellung der multisprachigen msi.

Ich führe die folgenden Schritte aus:

1) Die englischsprachige MSI wird erzeugt (VS-Installer): Test.en.msi

2) Die deutschsprachige MSI wird erzeugt (VS-Installer): Test.de.msi

3) Die Transformation für deutsch wird erzeugt mit:

MsiTran.exe -g Test.en.msi language.de.mst

4) Diese Transformation wird eingebunden in die englischsprachige msi:

CScript.exe WiSubStg.vbs Test.en.msi language.de.mst 1031

5) Mit einem weiteren Script wird das Summary Information "1033, 1031" erweitert:

CScript.exe WiLang.vbs Test.en.msi language.de.mst Package 1033, 1031


Das klappt aber nicht. Und ich weiß nicht, was ich falsch gemacht habe..
Kann mir jemand helfen?

Ist auch ein multisprachiges Setup möglich, das unter Visual Studio erstellt wird? Wenn ja, wie soll man vorgehen?

Vielen Dank im voraus!
Alexander


alti

alti
  • Full Members
  • 1 posts

Posted 01 September 2010 - 10:19

Hallo

Ich habe mich jetzt scho länger mit diesem Thema befasst.
Die transformation und die Einbindung in meine msi habe ich
auch schon erledigt.

Leider habe ich noch ein kleines Problem.

Das Setup Dialog funktioniert schon ohne Probleme aber wenn das
Setup in Deutsch ausgeführt wird bekomme ich immer eine Fehlermeldung.

Fehler:

Die Datei "_xxx" kann nicht installiert werden, da die Datei in der Kabinettdatei
"_sadasd" nicht gefunden wurde. Dies deutet auf einen Netzwerkfehler, einen CD-ROM-Lesefehler oder auf ein das Packet betreffendes Problem hin.

Der Fehler tritt nur dann auf wenn ich mein Merge Modul im Setup eingebunden habe.

Ich hoffe ihr könnt mir helfen

mfg
alti