Behandlung von Parameterzeichenfolgen durch Codepages

Sie können Lokalisierungsinformationen zu einer Installationsdatenbank hinzufügen, indem Sie einen Datenbanktabellen-Editor wie Orca verwenden, der mit dem Windows Installer SDK bereitgestellt wird, oder indem Sie die Datenbankfunktionen aus einer Anwendung aufrufen. Achten Sie darauf, nur Zeichenfolgenparameter zu übergeben, die die Codepage der zu lokalisierenden Datenbank verwenden. Wenn ein Zeichenfolgenparameter Zeichen enthält, die von der Codepage der Datenbank nicht dargestellt werden können, gibt der Installer beim Aufruf von MsiDatabaseImport einen Fehler zurück. Eine Liste mit numerischen Codepages finden Sie unter Lokalisieren der Tabellen „Error“ und „ActionText“.

Weitere Informationen finden Sie unter Ermitteln der Codepage einer Installationsdatenbank.

Hinzufügen von Lokalisierungsinformationen zu einer Datenbank

Wenn Sie einer Datenbank Lokalisierungsinformationen hinzufügen, muss die Codepage der Datenbank vom Betriebssystem unterstützt werden. Es muss sich nicht um die aktuelle Codepage des Systems handeln. IsValidCodePage muss für die Codepage der Datenbank TRUE zurückgeben. Da das System ANSI-Zeichenfolgen in Unicode konvertiert, tritt ein Fehler auf, wenn die aktuelle Benutzercodepage nicht mit der Datenbankcodepage identisch ist.

Beim Aufrufen der ANSI-Version der Windows Installer-API wird die lokalisierte Zeichenfolge mithilfe der aktuellen Systemcodepage in Unicode konvertiert. Beim Commit der Datenbank wird die Unicode-Zeichenfolge mithilfe der Codepage der Datenbank in ANSI konvertiert. Wenn sich die aktuelle Systemcodepage von der Codepage der lokalisierten Zeichenfolge unterscheidet, kann dies zu Datenverlust und einer falschen Zeichenfolgenkonvertierung führen.

Das folgende Verfahren zeigt, wie Sie die Lokalisierungsdaten speichern.

Speichern von Lokalisierungsdaten

  1. Legen Sie die Codepage der Datenbank auf die Codepage der lokalisierten Zeichenfolge fest.
  2. Konvertieren Sie die ANSI-Zeichenfolge mithilfe der MultiByteToWideChar-Funktion in Unicode, und geben Sie die Codepage der lokalisierten Daten an.
  3. Rufen Sie die Unicode-Version der Windows Installer-API auf, indem Sie die Unicode-Zeichenfolge verwenden, um die lokalisierten Daten hinzuzufügen.
  4. Committen Sie die Lokalisierungsänderungen mithilfe von MsiDatabaseCommit an die Datenbank.

Sie können Lokalisierungsinformationen auch zu einer Installationsdatenbank hinzufügen, indem Sie ASCII-Textarchivdateien importieren und exportieren. Weitere Informationen finden Sie unter Behandlung von importierten und exportierten Tabellen durch Codepages.