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 ser 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
[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.
[in] szCurDir
Tipo: LPCTSTR
O nome do diretório em que uma versão pré-inicial desse arquivo pode ser encontrada.
[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 longos, embora isso não seja necessário e deve estar vazio na entrada.
[in, out] puTmpFileLen
Tipo: PUINT
O comprimento do buffer szTmpFile
Quando a função retorna, lpuTmpFileLen recebe o tamanho, em caracteres, dos dados retornados em szTmpFile, incluindo o caractere nulo de encerramento. Se o buffer for muito pequeno para conter todos os dados, lpuTmpFileLen será do tamanho do buffer necessário para armazenar os dados.
Valor de retorno
Tipo: DWORD
O valor retornado é uma máscara de bits que indica exceções. Pode ser um ou mais dos valores a seguir. Todos os outros valores são reservados.
Código/valor de retorno | Descrição |
---|---|
|
Falha na operação de leitura, criação, exclusão ou renomeação devido a uma violação de acesso. |
|
O buffer szTmpFile |
|
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 especificada. |
|
A função não pode carregar o arquivo do 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 de 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é-existente. Esse erro pode ser substituído chamando VerInstallFile novamente com o sinalizador VIFF_FORCEINSTALL definido. |
|
O arquivo pré-teste está em uso pelo sistema e não pode ser excluído. |
|
Os arquivos novos e pré-requisitos 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 pré-teste. 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 pré-teste é protegido por gravação. Esse erro pode ser substituído chamando VerInstallFile novamente com o sinalizador VIFF_FORCEINSTALL definido. |
Observações
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 comparará 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.
Nota
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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winver.h (inclua Windows.h) |
biblioteca | Version.lib |
de DLL |
Api-ms-win-core-version-l1-1-0.dll |
Consulte também
Conceitual
de referência de