Função VerInstallFileA (winver.h)
Instala o arquivo especificado com base nas informações retornadas da função VerFindFile . VerInstallFile descompacta o arquivo, se necessário, atribui um nome de arquivo exclusivo e verifica se há erros, como arquivos desatualizados.
Sintaxe
DWORD VerInstallFileA(
[in] DWORD uFlags,
[in] LPCSTR szSrcFileName,
[in] LPCSTR szDestFileName,
[in] LPCSTR szSrcDir,
[in] LPCSTR szDestDir,
[in] LPCSTR szCurDir,
[out] LPSTR szTmpFile,
[in, out] PUINT puTmpFileLen
);
Parâmetros
[in] uFlags
Tipo: DWORD
Esse parâmetro pode usar um dos valores a seguir. Todos os outros bits são reservados.
[in] szSrcFileName
Tipo: LPCTSTR
O nome do arquivo a ser instalado. Esse é o nome do arquivo no diretório apontado pelo parâmetro szSrcDir ; o nome do arquivo pode incluir apenas o nome do arquivo e a extensão, não um caminho.
[in] szDestFileName
Tipo: LPCTSTR
O nome VerInstallFile fornecerá o novo arquivo após a instalação. Esse nome de arquivo pode ser diferente do nome do arquivo no diretório szSrcFileName . O novo nome deve incluir apenas o nome e a extensão do arquivo, não um caminho.
[in] szSrcDir
Tipo: LPCTSTR
O nome do diretório em que o arquivo pode ser encontrado.
[in] szDestDir
Tipo: LPCTSTR
O nome do diretório em que o arquivo deve ser instalado. VerFindFile retorna esse valor em seu parâmetro szDestDir .
[in] szCurDir
Tipo: LPCTSTR
O nome do diretório em que uma versão pré-inicial desse arquivo pode ser encontrada. VerFindFile retorna esse valor em seu parâmetro szCurDir .
[out] szTmpFile
Tipo: LPTSTR
O nome de uma cópia temporária do arquivo de origem. O buffer deve ter pelo menos _MAX_PATH caracteres, embora isso não seja necessário e deve estar vazio na entrada.
[in, out] puTmpFileLen
Tipo: PUINT
O comprimento do buffer szTmpFile . Esse ponteiro não deve ser NULL.
Quando a função retorna, lpuTmpFileLen recebe o tamanho, em caracteres, dos dados retornados em szTmpFile, incluindo o caractere nulo de terminação. Se o buffer for muito pequeno para conter todos os dados, lpuTmpFileLen será o tamanho do buffer necessário para armazenar os dados.
Retornar valor
Tipo: DWORD
O valor retornado é uma máscara de bits que indica exceções. Ela pode ser um ou mais dos seguintes valores. Todos os outros valores são reservados.
Valor/código retornado | Descrição |
---|---|
|
Falha em uma operação de leitura, criação, exclusão ou renomeação devido a uma violação de acesso. |
|
O buffer szTmpFile era muito pequeno para conter o nome do arquivo de origem temporário. Quando a função retorna, lpuTmpFileLen contém o tamanho do buffer necessário para manter o nome do arquivo. |
|
A função não pode criar o arquivo temporário. O erro específico pode ser descrito por outro sinalizador. |
|
A função não pode excluir o arquivo de destino ou não pode excluir a versão existente do arquivo localizado em outro diretório. Se o VIF_TEMPFILE bit estiver definido, a instalação falhará e o arquivo de destino provavelmente não poderá ser excluído. |
|
A versão existente do arquivo não pôde ser excluída e VIFF_DONTDELETEOLD não foi especificado. |
|
A função não pode carregar o arquivo de gabinete. |
|
A função não pode carregar o arquivo compactado. |
|
A função não pode ler os arquivos de destino (existentes). Isso impede que a função examine os atributos do arquivo. |
|
A função não pode ler o arquivo de origem. Isso pode significar que o caminho não foi especificado corretamente. |
|
A função não pode renomear o arquivo temporário, mas já excluiu o arquivo de destino. |
|
O novo arquivo requer uma página de código que não pode ser exibida pela versão do sistema em execução no momento. Esse erro pode ser substituído chamando VerInstallFile com o sinalizador VIFF_FORCEINSTALL definido. |
|
Os arquivos novos e pré-existentes têm diferentes valores de linguagem ou página de código. Esse erro pode ser substituído chamando VerInstallFile novamente com o sinalizador VIFF_FORCEINSTALL definido. |
|
O novo arquivo tem um tipo, subtipo ou sistema operacional diferente do arquivo pré-expirado. Esse erro pode ser substituído chamando VerInstallFile novamente com o sinalizador VIFF_FORCEINSTALL definido. |
|
O arquivo preexistir está em uso pelo sistema e não pode ser excluído. |
|
Os arquivos novos e preexistentes diferem em um ou mais atributos. Esse erro pode ser substituído chamando VerInstallFile novamente com o sinalizador VIFF_FORCEINSTALL definido. |
|
A função não pode concluir a operação solicitada devido à memória insuficiente. Em geral, isso significa que o aplicativo ficou sem memória tentando expandir um arquivo compactado. |
|
A função não pode criar o arquivo temporário devido a espaço em disco insuficiente na unidade de destino. |
|
Falha na operação de leitura, criação, exclusão ou renomeação devido a uma violação de compartilhamento. |
|
O arquivo a ser instalado é mais antigo do que o arquivo preexistível. Esse erro pode ser substituído chamando VerInstallFile novamente com o sinalizador VIFF_FORCEINSTALL definido. |
|
A cópia temporária do novo arquivo está no diretório de destino. A causa da falha é refletida em outros sinalizadores. |
|
O arquivo preexistido é protegido por gravação. Esse erro pode ser substituído chamando VerInstallFile novamente com o sinalizador VIFF_FORCEINSTALL definido. |
Comentários
Essa função funciona em imagens de arquivo de 16, 32 e 64 bits.
VerInstallFile copia o arquivo do diretório de origem para o diretório de destino. Se szCurDir indicar que existe uma versão anterior do arquivo no sistema, VerInstallFile compara as informações de carimbo de versão dos arquivos. Se a versão instalada anteriormente do arquivo for mais recente do que a nova versão ou se os atributos dos arquivos forem significativamente diferentes, por exemplo, se estiverem em idiomas diferentes, VerInstallFile retornará com um ou mais códigos de erro recuperáveis.
VerInstallFile deixa o arquivo temporário no diretório de destino. O aplicativo pode substituir o erro ou excluir o arquivo temporário. Se o aplicativo substituir o erro, VerInstallFile excluirá a versão instalada anteriormente e renomeará o arquivo temporário com o nome de arquivo original.
Observação
O cabeçalho winver.h define VerInstallFile como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winver.h (inclua Windows.h) |
Biblioteca | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
Confira também
Conceitual
Referência