Dateien nur bei Sprache...

Fragen zum AKInstallerMSI
Antworten
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Dateien nur bei Sprache...

Beitrag von Kukulkan »

Hallo,

Bin neu mit dem AKInstallerMSI und habe jetzt gleich ein paar Fragen:

Ich möchte zwei gleichnamige Dateien einfügen (klappt, weil die aus unterschiedlichen Ursprungsordnern kommen). Jetzt soll bei deutschem Setup die eine, ansonsten die andere installiert werden. Unter DATEIEINSTELLUNGEN / ERWEITERT kann ich ja Sprache wählen. Muss ich dann für eine Datei hier Deutsch (1031) und für die andere Englisch (1033) wählen? Bin ich hier überhaupt richtig? Die Hilfe ist da etwas dünn...

Kann man da nicht die Auswahl auf die verfügbaren Sprachen (wie im Dialog PRODUKT / SPRACHEN und Assistenten angegeben) begrenzen? Würde die Sache übersichtlicher machen...

Manchmal stehen nur die Zahlen (1031, 1033 etc.) in den Feldern. Das erschwert das nachträgliche prüfen und Korrigieren. Kann man das nicht irgendwie (wenigstens grau) anzeigen damit man nicht erst den Auswahl-Dialog öffnen muss? Kennt ja nicht jeder alle Sprachcodes auswendig...

Wo ist im Resultat der Unterschied zwischen SPRACHNEUTRAL und KEINE SPRACHERKENNUNG DEFINIEREN?

Ich habe im Assistenten zum Standard Deutsch noch Englisch angegeben. Leider wurde in der Sprachdatei zwar der IDC_AKI_LaunchConditionWindowsVer Identifier angelegt, aber eine englische Version fehlt. Und was noch schlimmer ist: Der wird unter TEXTE für 1033 nicht als leer angezeigt, sondern gar nicht. Kann man das so machen, dass die leeren und noch zu füllenden Texte anschliessend rot hervorgehoben werden? Ist schon eine arge Sucherei in den vielen Textbausteinen. Vor allem dann, wenn man nachträglich eine Sprache hinzufügt und dann nicht weiss, welche Texte noch zu übersetzen sind. Man sieht es erst wenn man einen Identifier doppelklickt. Das macht bei mehreren Duzend keinen Spass mehr...

Was sonst noch aufgefallen ist:
Ich suchte in der Hilfe eine Liste mit den Platzhaltern (zB SHORTRCUTDIR) und habe keine gefunden. Kann man so eine Liste mit kurzer Beschreibung noch in die Hilfe aufnehmen?

Wenn ich unter DATEIEN & VERZEICHNISSE mit Rechtsklick ein neues Verzeichnis angebe, dann zeigt der Toolbar des AKInstaller ein Muster des Pfades. Das ist super und sehr hilfreich. Unter VERKNÜPFUNGEN ist das leider nicht so, wenn man eine bestehende Verknüpfung bearbeitet und dann den Pfad verändern möchte.

So, die Sachen sind nicht als böse Kritik gemeint, sondern als Anregungen. Nur der erste Punkt ist mir aktuell wichtig zu klären.

Viele Grüsse,

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Dateien nur bei Sprache...

Beitrag von Andreas Kapust »

Kukulkan hat geschrieben:Ich möchte zwei gleichnamige Dateien einfügen (klappt, weil die aus unterschiedlichen Ursprungsordnern kommen). Jetzt soll bei deutschem Setup die eine, ansonsten die andere installiert werden. Unter DATEIEINSTELLUNGEN / ERWEITERT kann ich ja Sprache wählen. Muss ich dann für eine Datei hier Deutsch (1031) und für die andere Englisch (1033) wählen? Bin ich hier überhaupt richtig? Die Hilfe ist da etwas dünn...
Richtig dort wird die Sprache eingetragen, wenn sie nicht sowieso schon automatisch ermittelt wird. Siehe auch Link zu File Versioning Rules. Das Problem wird auftreten, wenn GER/ENG-Datei unter dem selben Namen in das selbe Verzeichnis installiert werden. In Form einer ICE-Warnung. Entwerder trennt man die Dateien Verzeichnis-Technisch (wird von MS empfohlen) oder man legt je ein GERMAN & ENGLISH -Verzeichnis an, welches über Eigenschaften gesetzt wird (siehe Kontextmenü). Ein eigenes Kapitel (in der Hilfe) ist für dieses Problem in Planung. MS schlägt diesen Weg vor:
[ProgramFilesFolder]\World\worldwide.exe
[ProgramFilesFolder]\World\English\engui.dll
[ProgramFilesFolder]\World\English\readme.txt
[ProgramFilesFolder]\World\French\fraui.dll
[ProgramFilesFolder]\World\French\readme.txt

Kann man da nicht die Auswahl auf die verfügbaren Sprachen (wie im Dialog PRODUKT / SPRACHEN und Assistenten angegeben) begrenzen? Würde die Sache übersichtlicher machen...
Werde ich mir mal ansehen.
Manchmal stehen nur die Zahlen (1031, 1033 etc.) in den Feldern. Das erschwert das nachträgliche prüfen und Korrigieren. Kann man das nicht irgendwie (wenigstens grau) anzeigen damit man nicht erst den Auswahl-Dialog öffnen muss? Kennt ja nicht jeder alle Sprachcodes auswendig...
Ebenfalls.
Wo ist im Resultat der Unterschied zwischen SPRACHNEUTRAL und KEINE SPRACHERKENNUNG DEFINIEREN?
Eine genaue Beschreibung finden sie hier: http://msdn2.microsoft.com/en-us/library/aa368599.aspx (File Versioning Rules). Kurz (Null) bedeutet, die Sprache wird nicht geprüft, 0 diese Datei gilt für alle Sprachen, 1033 diese Datei gilt bei englischem OS.
Ich habe im Assistenten zum Standard Deutsch noch Englisch angegeben. Leider wurde in der Sprachdatei zwar der IDC_AKI_LaunchConditionWindowsVer Identifier angelegt, aber eine englische Version fehlt. Und was noch schlimmer ist: Der wird unter TEXTE für 1033 nicht als leer angezeigt, sondern gar nicht. Kann man das so machen, dass die leeren und noch zu füllenden Texte anschliessend rot hervorgehoben werden? Ist schon eine arge Sucherei in den vielen Textbausteinen. Vor allem dann, wenn man nachträglich eine Sprache hinzufügt und dann nicht weiss, welche Texte noch zu übersetzen sind. Man sieht es erst wenn man einen Identifier doppelklickt. Das macht bei mehreren Duzend keinen Spass mehr...
Wurde in die ToDo-Liste aufgenommen.
Was sonst noch aufgefallen ist:
Ich suchte in der Hilfe eine Liste mit den Platzhaltern (zB SHORTRCUTDIR) und habe keine gefunden. Kann man so eine Liste mit kurzer Beschreibung noch in die Hilfe aufnehmen?
Wurde in die ToDo-Liste aufgenommen. Die Standard-Eigenschaften finden Sie hier: http://msdn2.microsoft.com/en-us/library/aa372057.aspx
Wenn ich unter DATEIEN & VERZEICHNISSE mit Rechtsklick ein neues Verzeichnis angebe, dann zeigt der Toolbar des AKInstaller ein Muster des Pfades. Das ist super und sehr hilfreich. Unter VERKNÜPFUNGEN ist das leider nicht so, wenn man eine bestehende Verknüpfung bearbeitet und dann den Pfad verändern möchte.
Wurde auch in die ToDo-Liste aufgenommen.

Gruß
A.K.
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Re: Dateien nur bei Sprache...

Beitrag von Kukulkan »

Hallo,

Na, da ist die TODO-Liste wieder gewachsen... :wink:

Also, ich habe aktuell so die Programmdaten liegen:

[Ordner]/ -> Hauptprogramm
[Ordner]/Setup-Files/ -> DLL's
[Ordner]/Setup-Files/DE/abc.dat -> eine Datei abc.dat in Deutsch
[Ordner]/Setup-Files/EN/abc.dat -> eine Datei abc.dat in Englisch

Ich möchte, dass das Setup für alle Betriebssystem-Sprachen die englischen Texte verwendet und dann auch die englische abc.dat installiert.
Wenn es aber explizit ein deutsches Betriebssystem ist (also auch deutsche Schweiz und Österreich), dann soll das Setup die deutschen Texte anzeigen und die abc.dat in deutsch einfügen.
Später möchte ich das um weitere Sprachen ergänzen. Wenn es keine passende gibt, dann soll Englisch verwendet werden. Also Englisch als Standard festlegen klappt.

Wenn ich jetzt die Sprachen 1031 (DE) und 1033 (EN) benutze, was passiert dann bei einem italienischen oder französischen Benutzer:?: Wird das Setup dann in Deutsch oder Englisch (Standard) angezeigt? Welche abc.dat wird dann installiert?

Was mir inzwischen noch aufgefallen ist:
Beim 'alten' AKInstaller konnte ich die Versionsnummer aus dem Hauptprogramm übernehmen lassen. Das war sehr praktisch. Ich finde das beim AKInstallerMSI nicht. Wie mache ich das am besten? Ich muss sonst immer die neue EXE mit rechts anklicken, die Version notieren (oder merken) und dann im Setup nachtragen.

Ich habe in einem Bitmap-Control die Bitmap geändert (zuerst über die Ressourcen eingebunden). Jetzt sind da irgendwelche Punkte drinnen die sich je nach skalierung ändern. Ist die Skalierung nicht sauber? Schaut nach einem Rundungs bzw. Überlauf-Fehler aus...

Bild

Grüsse,

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Dateien nur bei Sprache...

Beitrag von Andreas Kapust »

Kukulkan hat geschrieben:Also, ich habe aktuell so die Programmdaten liegen:

[Ordner]/ -> Hauptprogramm
[Ordner]/Setup-Files/ -> DLL's
[Ordner]/Setup-Files/DE/abc.dat -> eine Datei abc.dat in Deutsch
[Ordner]/Setup-Files/EN/abc.dat -> eine Datei abc.dat in Englisch
So sieht MS dieses auch in den SDKs vor und so verfährt z. B. auch die Installation der MFC80.
Ich möchte, dass das Setup für alle Betriebssystem-Sprachen die englischen Texte verwendet und dann auch die englische abc.dat installiert.
Wenn es aber explizit ein deutsches Betriebssystem ist (also auch deutsche Schweiz und Österreich), dann soll das Setup die deutschen Texte anzeigen und die abc.dat in deutsch einfügen.
Später möchte ich das um weitere Sprachen ergänzen. Wenn es keine passende gibt, dann soll Englisch verwendet werden. Also Englisch als Standard festlegen klappt.
Hier würde ich den Weg gehen, alle normal zu installieren (nach Sprachen getrennt (wie oben)). Weiterhin würde ich für die sprachabhängigen Dateien für jede Sprache ein eigenes Feature nutzen. Diese können auch unsichbar sein (siehe Anleitung zu dem Thema). Damit sind alle englischen Daten in einem Feature und alle deutschen in einem. Vorteil, wenn das sauber strukturiert ist kann man später einfach Bedingungen dafür definieren. Die gewählte Installationssprache könnte z. B. in der Registry stehen (oder ini-Datei) und wird vom Hauptprogramm ausgelesen, dass dann die nötige DLL verwendet. Weiterer Vorteil, durch Nachinstallation könnte man dem Benutzer auf einem ENG-OS dennoch gestatten mit der GER-Version zu arbeiten.
Wenn ich jetzt die Sprachen 1031 (DE) und 1033 (EN) benutze, was passiert dann bei einem italienischen oder französischen Benutzer:?: Wird das Setup dann in Deutsch oder Englisch (Standard) angezeigt? Welche abc.dat wird dann installiert?
Das ist das Problem. Das habe ich selber noch nicht 100% durchgetestet (Laut File Versioning Rules würde die Datei mit der größten Sprachunterstützung der Sieger sein (also Wert 0)), darum möchte ich hier keinen Rat geben, sondern schlage den laut (SDKs) richtigen Weg (siehe oben) vor.
Was mir inzwischen noch aufgefallen ist:
Beim 'alten' AKInstaller konnte ich die Versionsnummer aus dem Hauptprogramm übernehmen lassen. Das war sehr praktisch. Ich finde das beim AKInstallerMSI nicht. Wie mache ich das am besten? Ich muss sonst immer die neue EXE mit rechts anklicken, die Version notieren (oder merken) und dann im Setup nachtragen.
Glaube ich. :-) Das Problem ist, das hier noch eine Abhängigkeit zum ProductCode besteht, was eine Automatisierung etwas schwierig macht. Geplant ist der Punkt.
Ich habe in einem Bitmap-Control die Bitmap geändert (zuerst über die Ressourcen eingebunden). Jetzt sind da irgendwelche Punkte drinnen die sich je nach skalierung ändern. Ist die Skalierung nicht sauber? Schaut nach einem Rundungs bzw. Überlauf-Fehler aus...
Ja, eine Skalierung wird später auch im Setup unsauber aussehen. Hier sollten Sie die Grafik mittels Grafikprogramm auf die passende Größe stauchen.

Gruß
A.K.
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Beitrag von Kukulkan »

Hallo,
Weiterer Vorteil, durch Nachinstallation könnte man dem Benutzer auf einem ENG-OS dennoch gestatten mit der GER-Version zu arbeiten.
Ohne nerven zu wollen :D Beim 'alten' AKinstaller wurde der Benutzer nach der gewünschten Sprache gefragt. Dann gab es eben nur DE oder EN und dann würde auch sicher die richtige Datei installiert, oder? Da es sich nur um eine Datei handelt möchte ich das gerne ohne die Features machen. Wenn ich die englische Datei 'sprachneutral' definiere und die deutsche nur 'deutsch 1031' was passiert dann? Hängt ja von der Reihenfolge der installation ab, oder? Überschreibt die englische später die deutsche abc.dat oder klappt das?

PS. Irgendwie bekomme ich zu jeder Antwort von Ihnen hier im Forum immer zwei Benachrichtigungs-E-Mails. Ist aber nicht schlimm...

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Abend!

Ich habe ein Testprojekt erstellt:
-Als Sprachen wurden eingebunden Deutsch (1031) und Englisch (1033), 1033 ist Standard.
-Drei DLLs alle mit dem gleichen Namen
-1: DLL (English)
-2: DLL (Deutsch)
-3: DLL (Spanisch)
-Version und Sprache wird aus DLLs gelesen
-Installationssystem Deutsch

Nach der Installation befindet sich die Spanische version im Verzeichnis. Diese wird zu letzt installiert und gewinnt.

Bei einer Installation mehrerer Dateien unter gleichem Namen im gleichen Verzeichnis siegt die letzte. Hier müssen also Bedingungen vergeben werden, die explizied sagen "Nimm 1031 oder 1033".

Ein vorwegschalten eines Sprachdialogs könnte die Setupsprache beeinflussen (die allerdings vom Windows Installer schon selbst gefunden wird). Fragt man die Installationssprache ab, könnte eine Bedingung (z. B. UserLanguageID=1031) die Installation regeln. Betrifft das nur ein, zwei Dateien, kann man sich das mit den Featuren sparen und setzt die Bedingung direkt in den Datei-Einstellungen.

Die oben genannte Versionsregel gilt nicht, für mehrfach vorkommende gleiche Dateien in einer Installation, sondern nur wenn eine Datei ersetzt werden soll.

Beantwortet dies alles :)
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

[Nachtrag:]Die beste Lösung ist gefunden. Die Umsetzung ist aber etwas aufwendiger aber bis Version 1.7 geplant.
Bitte bis dahin Bedingungen nutzen (siehe oben).

[Nachtrag2:]
Ich hoffe so ist es etwas übersichtlicher: 8)
Bild
A: Steht jetzt nicht mehr 1031, 1033 dort, sondern die Sprache. Sowohl auf der Seite als auch im Einstellungsdialog.
B: Stehen alle Sprach-Einträge unter dem jeweiligen Identifer.

Dadurch wird der Seitenaufbau allerdings langsamer :cry:

Gruß
A. Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Beitrag von Kukulkan »

Hallo Herr Kapust,

War geschäftlich unterwegs und kann erst jetzt wieder weitermachen. Der Screenshot sieht sehr gut aus. Das ist viel besser!

Mit den Dateien hab ich das leider noch immer nicht kapiert. :oops:

Ich kann aus meinen abc.dat keine Sprache auslesen (sind keine DLL's oder EXE's).

Können Sie mir eine Schritt für Schritt Anleitung geben wie ich das machen kann? Der Installer weiss ja ob das System deutsch, englisch oder was anderes ist. Was muss ich einstellen dass er bei deutschen Systemen die deutsche Datei nimmt, bei spanischen die spanische Datei und bei allen anderen die englische Datei?

Grüsse,

Kukulkan
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Beitrag von Kukulkan »

[NACHTRAG]
1. Warum kann ich eigene Beiträge nicht editieren?

2. Ist es möglich im Dialog Dateien und Verzeichnisse im Toolbar oder sonst wo den Ursprungspfad einer Datei direkt anzuzeigen (Lokaler Pfad)? Ich habe ja mehrere gleichnamige Dateien aus verschiedenen Ursprungsverzeichnissen. Leider muss ich die Dateien immer erst Doppelklicken um zu sehen wo die her sind. Am Dateinamen kann ich das ja nicht erkennen...

Kukulkan
Antworten