Definindo a página de código de um banco de dados

Sempre defina a página de código de um banco de dados antes de adicionar qualquer informação de localização. Não é recomendável tentar definir a página de código depois de inserir dados no banco de dados porque isso pode corromper os caracteres estendidos. A localização pode ser muito facilitada começando com um banco de dados cuja página de código é neutra. Para obter detalhes, confira Criando um banco de dados com uma página de código neutra. Você pode determinar a página de código atual de um banco de dados, conforme descrito em Determinando a página de código de um banco de dados de instalação. Confira Localizando as tabelas Error e ActionText para obter uma lista das páginas de código numéricas.

Você pode definir a página de código de um banco de dados em branco ou um banco de dados com uma página de código neutra importando um arquivo de armazenamento de texto com uma página de código não neutra com MsiDatabaseImport. Isso define a página de código do banco de dados como a página de código do arquivo importado. Todos os arquivos de armazenamento posteriormente importados para o banco de dados devem ter a mesma página de código do primeiro arquivo. Se um arquivo de armazenamento de texto for exportado de um banco de dados, a página de código do arquivo de armazenamento será igual à do banco de dados pai. Confira Tratamento da página de código das tabelas importadas e exportadas.

A página de código de qualquer banco de dados pode ser definida como uma página de código numérica especificada usando MsiDatabaseImport para importar um arquivo de armazenamento de texto com o seguinte formato: duas linhas em branco; seguidas por uma linha com a página de código numérica, um delimitador de tabulação e a cadeia de caracteres exata: _ForceCodepage. Observe que, no Windows 2000, isso converte todas as cadeias de caracteres do banco de dados na página de código de _ForceCodepage. Isso pode ser usado ao localizar um banco de dados existente e traduzir todas as cadeias de caracteres não neutras para a nova página de código. No entanto, causará um erro se o banco de dados tiver cadeias de caracteres não neutras que não devem ser convertidas.

O utilitário WiLangId.vbs fornece um exemplo de como definir a página de código de um pacote usando o método de importação. Uma cópia do WiLangId.vbs é fornecida no SDK do Windows Installer. Você pode usar esse utilitário para determinar as versões de idioma compatíveis com o banco de dados (Pacote), o idioma que o instalador usa para todas as cadeias de caracteres na interface do usuário que não são criadas no banco de dados (Produto) ou a única página de código ANSI para o pool de cadeias de caracteres (Codepage). Para obter informações sobre como usar WiLangId.vbs, confira a página de ajuda: Gerenciar idioma e página de código.

Para determinar os valores de Product, Package e Codepage, execute WiLangId.vbs da seguinte maneira.

cscript wilangid.vbs[caminho para o banco de dados]

Para definir a Codepage do pacote, execute a linha de comando a seguir.

cscript wilangid.vbs[caminho para o banco de dados]Codepage[valor]

Por exemplo, para definir a Codepage de test.msi para o valor da página de código ANSI numérico 1252, execute a linha de comando a seguir.

cscript wilangid.vbs c:\temp\test.msi Codepage 1252