Función VerInstallFileA (winver.h)
Instala el archivo especificado en función de la información devuelta desde la función VerFindFile. VerInstallFile descomprime el archivo, si es necesario, asigna un nombre de archivo único y comprueba si hay errores, como archivos obsoletos.
Sintaxis
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 de
Este parámetro puede ser uno de los siguientes valores. Todos los demás bits están reservados.
[in] szSrcFileName
Tipo: LPCTSTR de
Nombre del archivo que se va a instalar. Este es el nombre de archivo del directorio al que apunta el parámetro szSrcDir; el nombre de archivo solo puede incluir el nombre de archivo y la extensión, no una ruta de acceso.
[in] szDestFileName
Tipo: LPCTSTR de
El nombre VerInstallFile proporcionará el nuevo archivo tras la instalación. Este nombre de archivo puede ser diferente del nombre de archivo del directorio szSrcFileName. El nuevo nombre debe incluir solo el nombre de archivo y la extensión, no una ruta de acceso.
[in] szSrcDir
Tipo: LPCTSTR de
Nombre del directorio donde se puede encontrar el archivo.
[in] szDestDir
Tipo: LPCTSTR de
Nombre del directorio donde se debe instalar el archivo. verFindFile devuelve este valor en su parámetro szDestDir.
[in] szCurDir
Tipo: LPCTSTR de
Nombre del directorio donde se puede encontrar una versión preexistente de este archivo. VerFindFile devuelve este valor en su parámetro szCurDir.
[out] szTmpFile
Tipo: LPTSTR de
Nombre de una copia temporal del archivo de origen. El búfer debe tener al menos _MAX_PATH caracteres largos, aunque esto no es necesario y debe estar vacío en la entrada.
[in, out] puTmpFileLen
Tipo: PUINT
Longitud del búfer de szTmpFile. Este puntero no debe ser NULL.
Cuando la función devuelve, lpuTmpFileLen recibe el tamaño, en caracteres, de los datos devueltos en szTmpFile, incluido el carácter nulo de terminación. Si el búfer es demasiado pequeño para contener todos los datos, lpuTmpFileLen será el tamaño del búfer necesario para contener los datos.
Valor devuelto
Tipo: DWORD de
El valor devuelto es una máscara de bits que indica excepciones. Puede ser uno o varios de los siguientes valores. Todos los demás valores están reservados.
Código y valor devueltos | Descripción |
---|---|
|
Error en una operación de lectura, creación, eliminación o cambio de nombre debido a una infracción de acceso. |
|
El szTmpFile búfer era demasiado pequeño para contener el nombre del archivo de origen temporal. Cuando se devuelve la función, lpuTmpFileLen contiene el tamaño del búfer necesario para contener el nombre de archivo. |
|
La función no puede crear el archivo temporal. Otro indicador puede describir el error específico. |
|
La función no puede eliminar el archivo de destino o no puede eliminar la versión existente del archivo ubicado en otro directorio. Si se establece el bit de VIF_TEMPFILE, se produjo un error en la instalación y es probable que el archivo de destino no se pueda eliminar. |
|
No se pudo eliminar la versión existente del archivo y no se especificó VIFF_DONTDELETEOLD. |
|
La función no puede cargar el archivo del gabinete. |
|
La función no puede cargar el archivo comprimido. |
|
La función no puede leer los archivos de destino (existentes). Esto impide que la función examine los atributos del archivo. |
|
La función no puede leer el archivo de origen. Esto podría significar que la ruta de acceso no se especificó correctamente. |
|
La función no puede cambiar el nombre del archivo temporal, pero ya eliminó el archivo de destino. |
|
El nuevo archivo requiere una página de códigos que no se pueda mostrar mediante la versión del sistema que se está ejecutando actualmente. Este error se puede invalidar llamando a verInstallFile con la marca VIFF_FORCEINSTALL establecida. |
|
Los archivos nuevos y preexistentes tienen valores de idioma o página de códigos diferentes. Este error se puede invalidar llamando a VerInstallFile de nuevo con la marca VIFF_FORCEINSTALL establecida. |
|
El nuevo archivo tiene un tipo, subtipo o sistema operativo diferente del archivo preexistente. Este error se puede invalidar llamando a VerInstallFile de nuevo con la marca VIFF_FORCEINSTALL establecida. |
|
El sistema usa el archivo preexistente y no se puede eliminar. |
|
Los archivos nuevos y preexistentes difieren en uno o varios atributos. Este error se puede invalidar llamando a VerInstallFile de nuevo con la marca VIFF_FORCEINSTALL establecida. |
|
La función no puede completar la operación solicitada debido a una memoria insuficiente. Por lo general, esto significa que la aplicación se quedó sin memoria intentando expandir un archivo comprimido. |
|
La función no puede crear el archivo temporal debido a un espacio en disco insuficiente en la unidad de destino. |
|
Error en una operación de lectura, creación, eliminación o cambio de nombre debido a una infracción de uso compartido. |
|
El archivo que se va a instalar es anterior al archivo preexistente. Este error se puede invalidar llamando a VerInstallFile de nuevo con la marca VIFF_FORCEINSTALL establecida. |
|
La copia temporal del nuevo archivo está en el directorio de destino. La causa del error se refleja en otras marcas. |
|
El archivo preexistente está protegido por escritura. Este error se puede invalidar llamando a VerInstallFile de nuevo con la marca VIFF_FORCEINSTALL establecida. |
Observaciones
Esta función funciona en imágenes de archivo de 16, 32 y 64 bits.
VerInstallFile copia el archivo del directorio de origen en el directorio de destino. Si szCurDir indica que existe una versión anterior del archivo en el sistema, VerInstallFile compara la información de marca de versión de los archivos. Si la versión instalada anteriormente del archivo es más reciente que la nueva versión, o si los atributos de los archivos son significativamente diferentes, por ejemplo, si están en idiomas diferentes, VerInstallFile devuelve con uno o varios códigos de error recuperables.
verInstallFile deja el archivo temporal en el directorio de destino. La aplicación puede invalidar el error o eliminar el archivo temporal. Si la aplicación invalida el error, VerInstallFile elimina la versión instalada anteriormente y cambia el nombre del archivo temporal con el nombre de archivo original.
Nota
El encabezado winver.h define VerInstallFile como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winver.h (incluya Windows.h) |
biblioteca de |
Version.lib |
DLL de |
Api-ms-win-core-version-l1-1-0.dll |
Consulte también
conceptual de
de referencia de
de información de versión de