Obsługa ciągów parametrów na stronie kodowej
Informacje o lokalizacji można dodać do bazy danych instalacji przy użyciu edytora tabel bazy danych, takiego jak Orca, który jest dostarczany z zestawem SDK Instalatora Windows, lub wywołując usługi Database Functions z aplikacji. Należy zachować ostrożność, aby przekazywać tylko parametry ciągu używające strony kodowej bazy danych, która jest zlokalizowana. Jeśli parametr ciągu zawiera znaki, których nie można przedstawić na stronie kodowej bazy danych, Instalator zwraca błąd podczas wywoływania MsiDatabaseImport. Aby uzyskać listę stron kodu liczbowego, zobacz Lokalizowanie tabel Error i ActionText.
Aby uzyskać więcej informacji, zobacz Określanie strony kodowej bazy danych instalacji.
Dodawanie informacji o lokalizacji do bazy danych
Po dodaniu informacji o lokalizacji do bazy danych strona kodowa bazy danych musi być obsługiwana przez system operacyjny. Nie musi być bieżąca strona kodowa systemu. IsValidCodePage musi zwrócić true dla strony kodowej bazy danych. Ponieważ system konwertuje ciągi ANSI na Unicode, występuje błąd, jeśli bieżąca strona kodowa użytkownika nie jest taka sama jak strona kodowa bazy danych.
Wywołanie wersji ANSI interfejsu API Instalatora Windows konwertuje zlokalizowany ciąg na Unicode przy użyciu bieżącej strony kodowej systemu. Po zatwierdzeniu bazy danych ciąg Unicode jest konwertowany na ANSI przy użyciu strony kodowej bazy danych. Jeśli bieżąca strona kodowa systemu różni się od strony kodowej zlokalizowanego ciągu, wynikiem może być utrata danych i niepoprawna konwersja ciągu.
Poniższa procedura przedstawia sposób przechowywania danych lokalizacji.
Aby przechowywać dane lokalizacji
- Ustaw stronę kodową bazy danych na stronę kodową zlokalizowanego ciągu.
- Przekonwertuj ciąg ANSI na Unicode przy użyciu funkcji MultiByteToWideChar i określ stronę kodową zlokalizowanych danych.
- Wywołaj wersję Unicode interfejsu API Instalatora Windows przy użyciu ciągu Unicode, aby dodać zlokalizowane dane.
- Zatwierdź zmiany lokalizacji w bazie danych przy użyciu MsiDatabaseCommit.
Informacje o lokalizacji można również dodać do bazy danych instalacji, importując i eksportując pliki archiwum tekstowego ASCII. Aby uzyskać więcej informacji, zobacz obsługa zaimportowanych i wyeksportowanych tabel.