Partilhar via


Manipulação de páginas de código de cadeias de caracteres de parâmetro

Você pode adicionar informações de localização a um banco de dados de instalação usando um editor de tabela de banco de dados, como o Orca, fornecido com o SDK do Windows Installer, ou chamando o de funções de banco de dados de um aplicativo. Tenha cuidado para passar apenas parâmetros de cadeia de caracteres que usam a página de código do banco de dados que está sendo localizado. Se um parâmetro string contiver caracteres que não podem ser representados pela página de código do banco de dados, o instalador retornará um erro ao chamar MsiDatabaseImport. Para obter uma lista de páginas de código numérico, consulte Localização das tabelas Error e ActionText.

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

Adicionando informações de localização a um banco de dados

Quando você adiciona informações de localização a um banco de dados, a página de código do banco de dados deve ser suportada pelo sistema operacional. Não precisa ser a página de código atual do sistema. IsValidCodePage deve retornar TRUE para a página de código do banco de dados. Como o sistema converte cadeias de caracteres ANSI em Unicode, há um erro se a página de código do usuário atual não for a mesma que a página de código do banco de dados.

Chamar a versão ANSI da API do Windows Installer converte a cadeia de caracteres localizada em Unicode usando a página de código do sistema atual. Quando o banco de dados é confirmado, a cadeia de caracteres Unicode é convertida em ANSI usando a página de código do banco de dados. Se a página de código do sistema atual for diferente da página de código da cadeia de caracteres localizada, o resultado pode ser uma perda de dados e uma conversão incorreta da cadeia de caracteres.

O procedimento a seguir mostra como armazenar os dados de localização.

Para armazenar dados de localização

  1. Defina a página de código do banco de dados como a página de código da cadeia de caracteres localizada.
  2. Converta a cadeia de caracteres ANSI em Unicode usando a funçãoMultiByteToWideChar e especifique a página de código dos dados localizados.
  3. Chame a versão Unicode da API do Windows Installer usando a cadeia de caracteres Unicode para adicionar os dados localizados.
  4. Confirme as alterações de localização no banco de dados usando MsiDatabaseCommit.

Você também pode adicionar informações de localização a um banco de dados de instalação importando e exportando arquivos de arquivo de texto ASCII. Para obter mais informações, consulte manipulação de página de código de tabelas importadas e exportadas.