VerInstallFileW, fonction (winver.h)
Installe le fichier spécifié en fonction des informations retournées par la fonction VerFindFile. VerInstallFile décompose le fichier, si nécessaire, affecte un nom de fichier unique et vérifie les erreurs, telles que les fichiers obsolètes.
Syntaxe
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
);
Paramètres
[in] uFlags
Type : DWORD
Ce paramètre peut être l’une des valeurs suivantes. Tous les autres bits sont réservés.
[in] szSrcFileName
Type : LPCTSTR
Nom du fichier à installer. Il s’agit du nom de fichier dans le répertoire vers lequel pointe le paramètre szSrcDir ; le nom de fichier peut inclure uniquement le nom de fichier et l’extension, et non pas un chemin d’accès.
[in] szDestFileName
Type : LPCTSTR
Le nom VerInstallFile donnera le nouveau fichier lors de l’installation. Ce nom de fichier peut être différent du nom de fichier dans le répertoire szSrcFileName. Le nouveau nom doit inclure uniquement le nom de fichier et l’extension, et non pas un chemin d’accès.
[in] szSrcDir
Type : LPCTSTR
Nom du répertoire dans lequel se trouve le fichier.
[in] szDestDir
Type : LPCTSTR
Nom du répertoire dans lequel le fichier doit être installé. VerFindFile retourne cette valeur dans son paramètre szDestDir.
[in] szCurDir
Type : LPCTSTR
Nom du répertoire dans lequel se trouve une version préexistante de ce fichier. VerFindFile retourne cette valeur dans son paramètre szCurDir.
[out] szTmpFile
Type : LPTSTR
Nom d’une copie temporaire du fichier source. La mémoire tampon doit être au moins _MAX_PATH caractères longs, bien que cela ne soit pas obligatoire et doit être vide lors de l’entrée.
[in, out] puTmpFileLen
Type : PUINT
Longueur de la mémoire tampon szTmpFile. Ce pointeur ne doit pas être NULL.
Lorsque la fonction est retournée, lpuTmpFileLen reçoit la taille, en caractères, des données retournées dans szTmpFile, y compris le caractère null de fin. Si la mémoire tampon est trop petite pour contenir toutes les données, lpuTmpFileLen sera la taille de la mémoire tampon requise pour contenir les données.
Valeur de retour
Type : DWORD
La valeur de retour est un masque de bits qui indique les exceptions. Il peut s’agir d’une ou plusieurs des valeurs suivantes. Toutes les autres valeurs sont réservées.
Retourner le code/la valeur | Description |
---|---|
|
Une opération de lecture, de création, de suppression ou de renommage a échoué en raison d’une violation d’accès. |
|
La mémoire tampon szTmpFile était trop petite pour contenir le nom du fichier source temporaire. Lorsque la fonction est retournée, lpuTmpFileLen contient la taille de la mémoire tampon requise pour contenir le nom de fichier. |
|
La fonction ne peut pas créer le fichier temporaire. L’erreur spécifique peut être décrite par un autre indicateur. |
|
La fonction ne peut pas supprimer le fichier de destination ou ne peut pas supprimer la version existante du fichier situé dans un autre répertoire. Si le bit VIF_TEMPFILE est défini, l’installation a échoué et le fichier de destination ne peut probablement pas être supprimé. |
|
La version existante du fichier n’a pas pu être supprimée et VIFF_DONTDELETEOLD n’a pas été spécifiée. |
|
La fonction ne peut pas charger le fichier d’armoire. |
|
La fonction ne peut pas charger le fichier compressé. |
|
La fonction ne peut pas lire les fichiers de destination (existants). Cela empêche la fonction d’examiner les attributs du fichier. |
|
La fonction ne peut pas lire le fichier source. Cela peut signifier que le chemin d’accès n’a pas été spécifié correctement. |
|
La fonction ne peut pas renommer le fichier temporaire, mais elle a déjà supprimé le fichier de destination. |
|
Le nouveau fichier nécessite une page de codes qui ne peut pas être affichée par la version du système en cours d’exécution. Cette erreur peut être remplacée en appelant VerInstallFile avec l’indicateur de VIFF_FORCEINSTALL défini. |
|
Les nouveaux fichiers préexistants ont des valeurs de langue ou de page de codes différentes. Cette erreur peut être remplacée en appelant VerInstallFile à nouveau avec l’indicateur de VIFF_FORCEINSTALL défini. |
|
Le nouveau fichier a un type, un sous-type ou un système d’exploitation différent du fichier préexistant. Cette erreur peut être remplacée en appelant VerInstallFile à nouveau avec l’indicateur de VIFF_FORCEINSTALL défini. |
|
Le fichier préexistant est utilisé par le système et ne peut pas être supprimé. |
|
Les nouveaux fichiers préexistants diffèrent dans un ou plusieurs attributs. Cette erreur peut être remplacée en appelant VerInstallFile à nouveau avec l’indicateur de VIFF_FORCEINSTALL défini. |
|
La fonction ne peut pas terminer l’opération demandée en raison d’une mémoire insuffisante. En règle générale, cela signifie que l’application a manqué de mémoire pour développer un fichier compressé. |
|
La fonction ne peut pas créer le fichier temporaire en raison d’un espace disque insuffisant sur le lecteur de destination. |
|
Une opération de lecture, de création, de suppression ou de renommage a échoué en raison d’une violation de partage. |
|
Le fichier à installer est antérieur au fichier préexistant. Cette erreur peut être remplacée en appelant VerInstallFile à nouveau avec l’indicateur de VIFF_FORCEINSTALL défini. |
|
La copie temporaire du nouveau fichier se trouve dans le répertoire de destination. La cause de l’échec est reflétée dans d’autres indicateurs. |
|
Le fichier préexistant est protégé en écriture. Cette erreur peut être remplacée en appelant VerInstallFile à nouveau avec l’indicateur de VIFF_FORCEINSTALL défini. |
Remarques
Cette fonction fonctionne sur les images de fichier 16,32 et 64 bits.
VerInstallFile copie le fichier du répertoire source vers le répertoire de destination. Si szCurDir indique qu’une version précédente du fichier existe sur le système, VerInstallFile compare les informations d’horodatage des fichiers. Si la version précédemment installée du fichier est plus récente que la nouvelle version, ou si les attributs des fichiers sont considérablement différents, par exemple s’ils se trouvent dans des langues différentes, VerInstallFile retourne avec un ou plusieurs codes d’erreur récupérables.
VerInstallFile laisse le fichier temporaire dans le répertoire de destination. L’application peut remplacer l’erreur ou supprimer le fichier temporaire. Si l’application remplace l’erreur, VerInstallFile supprime la version précédemment installée et renomme le fichier temporaire avec le nom de fichier d’origine.
Note
L’en-tête winver.h définit VerInstallFile comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winver.h (inclure Windows.h) |
bibliothèque | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
Voir aussi
conceptuelle
de référence