Tratamento da página de código (Windows Installer)

O Windows Installer armazena todas as cadeias de caracteres do banco de dados em um só pool de cadeias de caracteres compartilhado para reduzir o tamanho do banco de dados e aprimorar o desempenho. Para ver a lista de páginas de código numérico, confira Como localizar as tabelas Error e ActionText.

Para obter mais informações, confira Como determinar a página de código de um banco de dados de instalação.

O Windows Installer usa IsValidCodePage para determinar se a página de código é válida.

Como localizar um pacote do Windows Installer

Se você localizar um pacote do Windows Installer, ele poderá envolver a modificação de informações em tabelas de banco de dados, a exportação das tabelas para arquivos mortos de texto ANSI e, em seguida, a importação dos arquivos mortos para o banco de dados que está sendo localizado. Adicione também alterações de localização a um banco de dados usando um editor de tabela de banco de dados ou as funções de banco de dados. É importante definir a página de código do banco de dados que está sendo localizado antes de fazer qualquer alteração de localização no banco de dados. Não defina a página de código do banco de dados depois de localizar o banco de dados, pois isso pode corromper os caracteres estendidos. Para obter mais informações, confira Como configurar a página de código de um banco de dados.

A abordagem recomendada para tratar páginas de código é criar um banco de dados neutro que contenha apenas caracteres que possam ser convertidos em qualquer página de código. Para obter mais informações, confira Como criar um banco de dados com uma página de código neutro.

Se você adicionar informações de localização com arquivos mortos de banco de dados, use MsiDatabaseExport para exportar tabelas de um banco de dados que contém alterações de localização para arquivos mortos de texto ANSI e importá-los para o banco de dados localizado com MsiDatabaseImport. A página de código de um arquivo morto exportado é sempre igual à do banco de dados pai. As páginas de código de um arquivo importado e do banco de dados que está recebendo o arquivo precisam ser idênticas ou, pelo menos, uma das duas páginas de código precisa ser neutra. Para obter mais informações, confira Tratamento da página de código de tabelas importadas e exportadas.

Se você adicionar informações de localização com um editor de texto ou as funções de banco de dados, tenha cuidado para transmitir apenas os parâmetros de cadeia de caracteres para a API do Windows Installer que usa a página de código do banco de dados que está sendo localizado. Se um parâmetro de cadeia de caracteres contiver caracteres não representados pela página de código do banco de dados, ocorrerá um erro na chamada a MsiDatabaseCommit. Para obter mais informações, confira Tratamento da página de código das cadeias de caracteres de parâmetro.

Se um pacote for usado para instalar várias versões de idioma de um produto, a transformação usada para localizar cadeias de caracteres também poderá alterar a página de código do banco de dados.