Función VerInstallFileW (winver.h)
Instala el archivo especificado en función de la información devuelta de 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 VerInstallFileW(
[in] DWORD uFlags,
[in] LPCWSTR szSrcFileName,
[in] LPCWSTR szDestFileName,
[in] LPCWSTR szSrcDir,
[in] LPCWSTR szDestDir,
[in] LPCWSTR szCurDir,
[out] LPWSTR szTmpFile,
[in, out] PUINT puTmpFileLen
);
Parámetros
[in] uFlags
Tipo: DWORD
Este parámetro puede ser uno de los valores siguientes. Todos los demás bits están reservados.
[in] szSrcFileName
Tipo: LPCTSTR
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
El nombre VerInstallFile proporcionará el nuevo archivo tras la instalación. Este nombre de archivo puede ser diferente del nombre de archivo en el 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
Nombre del directorio donde se puede encontrar el archivo.
[in] szDestDir
Tipo: LPCTSTR
Nombre del directorio donde se debe instalar el archivo. VerFindFile devuelve este valor en su parámetro szDestDir .
[in] szCurDir
Tipo: LPCTSTR
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
Nombre de una copia temporal del archivo de origen. El búfer debe tener al menos _MAX_PATH caracteres, aunque esto no es necesario y debe estar vacío en la entrada.
[in, out] puTmpFileLen
Tipo: PUINT
Longitud del búfer 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
El valor devuelto es una máscara de bits que indica excepciones. Este puede ser uno o varios de los valores siguientes. Todos los demás valores están reservados.
Código o valor devuelto | 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 búfer szTmpFile 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 marcador 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 no se pueda eliminar el archivo de destino. |
|
No se pudo eliminar la versión existente del archivo y no se especificó VIFF_DONTDELETEOLD . |
|
La función no puede cargar el archivo de archivador. |
|
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 puede 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 está usando 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 se encuentra 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 la 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 distintos idiomas, 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 Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winver.h (incluye Windows.h) |
Library | Version.lib |
Archivo DLL | Api-ms-win-core-version-l1-1-0.dll |
Consulte también
Conceptual
Referencia
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de