Fonction VerInstallFileW (winver.h)
Installe le fichier spécifié en fonction des informations retournées par la fonction VerFindFile . VerInstallFile décompresse le fichier, si nécessaire, attribue un nom de fichier unique et recherche 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 prendre les 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, 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, 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 comporter au moins _MAX_PATH caractères, même si cela n’est 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 avoir la valeur NULL.
Lorsque la fonction retourne, 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 correspond à la taille de la mémoire tampon requise pour contenir les données.
Valeur retournée
Type : DWORD
La valeur de retour est un masque de bits qui indique des exceptions. Il peut s’agir de l’une ou de plusieurs des valeurs suivantes. Toutes les autres valeurs sont réservées.
Code/valeur de retour | 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 retourne, 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é. |
|
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 a déjà supprimé le fichier de destination. |
|
Le nouveau fichier nécessite une page de code 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 VIFF_FORCEINSTALL défini. |
|
Les fichiers nouveaux et préexistants ont des valeurs de langue ou de page de code différentes. Cette erreur peut être remplacée en appelant à nouveau VerInstallFile avec l’indicateur 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 à nouveau VerInstallFile avec l’indicateur VIFF_FORCEINSTALL défini. |
|
Le fichier préexistant est utilisé par le système et ne peut pas être supprimé. |
|
Les fichiers nouveaux et préexistants diffèrent par un ou plusieurs attributs. Cette erreur peut être remplacée en appelant à nouveau VerInstallFile avec l’indicateur 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 en tentant de 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 plus ancien que le fichier préexistant. Cette erreur peut être remplacée en appelant à nouveau VerInstallFile avec l’indicateur 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 à nouveau VerInstallFile avec l’indicateur VIFF_FORCEINSTALL défini. |
Remarques
Cette fonction fonctionne sur les images de fichiers 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’empreinte de version 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 sensiblement différents, par exemple s’ils sont 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.
Notes
L’en-tête winver.h définit VerInstallFile comme un 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.
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winver.h (inclure Windows.h) |
Bibliothèque | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
Voir aussi
Conceptuel
Référence