Funzione VerInstallFileA (winver.h)
Installa il file specificato in base alle informazioni restituite dalla funzione VerFindFile. VerInstallFile decomprime il file, se necessario, assegna un nome file univoco e verifica la presenza di errori, ad esempio i file obsoleti.
Sintassi
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
);
Parametri
[in] uFlags
Tipo: DWORD
Questo parametro può essere uno dei valori seguenti. Tutti gli altri bit sono riservati.
[in] szSrcFileName
Tipo: LPCTSTR
Nome del file da installare. Si tratta del nome file nella directory a cui punta il parametro szSrcDir; il nome file può includere solo il nome file e l'estensione, non un percorso.
[in] szDestFileName
Tipo: LPCTSTR
Il nome VerInstallFile darà il nuovo file al momento dell'installazione. Questo nome file può essere diverso dal nome file nella directory szSrcFileName. Il nuovo nome deve includere solo il nome e l'estensione del file, non un percorso.
[in] szSrcDir
Tipo: LPCTSTR
Nome della directory in cui è possibile trovare il file.
[in] szDestDir
Tipo: LPCTSTR
Nome della directory in cui deve essere installato il file. VerFindFile restituisce questo valore nel relativo parametro szDestDir.
[in] szCurDir
Tipo: LPCTSTR
Nome della directory in cui è possibile trovare una versione preesistente di questo file. VerFindFile restituisce questo valore nel relativo parametro szCurDir.
[out] szTmpFile
Tipo: LPTSTR
Nome di una copia temporanea del file di origine. Il buffer deve contenere almeno _MAX_PATH caratteri, anche se non è obbligatorio e deve essere vuoto nell'input.
[in, out] puTmpFileLen
Tipo: PUINT
Lunghezza del buffer di szTmpFile. Questo puntatore non deve essere NULL.
Quando la funzione viene restituita, lpuTmpFileLen riceve le dimensioni, in caratteri, dei dati restituiti in szTmpFile, incluso il carattere Null di terminazione. Se il buffer è troppo piccolo per contenere tutti i dati, lpuTmpFileLen sarà la dimensione del buffer necessaria per contenere i dati.
Valore restituito
Tipo: DWORD
Il valore restituito è una maschera di bit che indica le eccezioni. Può essere uno o più dei valori seguenti. Tutti gli altri valori sono riservati.
Codice/valore restituito | Descrizione |
---|---|
|
Operazione di lettura, creazione, eliminazione o ridenominazione non riuscita a causa di una violazione di accesso. |
|
Il buffer di szTmpFile era troppo piccolo per contenere il nome del file di origine temporaneo. Quando la funzione viene restituita, lpuTmpFileLen contiene le dimensioni del buffer necessario per contenere il nome file. |
|
La funzione non può creare il file temporaneo. L'errore specifico può essere descritto da un altro flag. |
|
La funzione non può eliminare il file di destinazione o non può eliminare la versione esistente del file che si trova in un'altra directory. Se il bit di VIF_TEMPFILE è impostato, l'installazione non è riuscita e il file di destinazione probabilmente non può essere eliminato. |
|
Impossibile eliminare la versione esistente del file e VIFF_DONTDELETEOLD non è stato specificato. |
|
La funzione non può caricare il file CAB. |
|
La funzione non può caricare il file compresso. |
|
La funzione non può leggere i file di destinazione (esistenti). Ciò impedisce alla funzione di esaminare gli attributi del file. |
|
La funzione non può leggere il file di origine. Ciò potrebbe significare che il percorso non è stato specificato correttamente. |
|
La funzione non può rinominare il file temporaneo, ma ha già eliminato il file di destinazione. |
|
Il nuovo file richiede una tabella codici che non può essere visualizzata dalla versione del sistema attualmente in esecuzione. Questo errore può essere sottoposto a override chiamando VerInstallFile con il flag VIFF_FORCEINSTALL impostato. |
|
I file nuovi ed preesistenti hanno valori di lingua o tabella codici diversi. Questo errore può essere sottoposto a override chiamando di nuovo VerInstallFile con il flag VIFF_FORCEINSTALL impostato. |
|
Il nuovo file ha un tipo, un sottotipo o un sistema operativo diverso dal file preesistente. Questo errore può essere sottoposto a override chiamando di nuovo VerInstallFile con il flag VIFF_FORCEINSTALL impostato. |
|
Il file preesistente è in uso dal sistema e non può essere eliminato. |
|
I file nuovi ed preesistenti differiscono in uno o più attributi. Questo errore può essere sottoposto a override chiamando di nuovo VerInstallFile con il flag VIFF_FORCEINSTALL impostato. |
|
La funzione non può completare l'operazione richiesta a causa di memoria insufficiente. In genere, ciò significa che l'applicazione ha esaurito la memoria tentando di espandere un file compresso. |
|
La funzione non può creare il file temporaneo a causa di spazio su disco insufficiente nell'unità di destinazione. |
|
Operazione di lettura, creazione, eliminazione o ridenominazione non riuscita a causa di una violazione di condivisione. |
|
Il file da installare è precedente al file preesistente. Questo errore può essere sottoposto a override chiamando di nuovo VerInstallFile con il flag VIFF_FORCEINSTALL impostato. |
|
La copia temporanea del nuovo file si trova nella directory di destinazione. La causa dell'errore si riflette in altri flag. |
|
Il file preesistente è protetto da scrittura. Questo errore può essere sottoposto a override chiamando di nuovo VerInstallFile con il flag VIFF_FORCEINSTALL impostato. |
Osservazioni
Questa funzione funziona su immagini di file a 16, 32 e 64 bit.
VerInstallFile copia il file dalla directory di origine alla directory di destinazione. Se szCurDir indica che esiste una versione precedente del file nel sistema, VerInstallFile confronta le informazioni sul timbro della versione dei file. Se la versione installata in precedenza del file è più recente della nuova versione o se gli attributi dei file sono significativamente diversi, ad esempio se si trovano in lingue diverse, VerInstallFile restituisce uno o più codici di errore recuperabili.
VerInstallFile lascia il file temporaneo nella directory di destinazione. L'applicazione può eseguire l'override dell'errore o eliminare il file temporaneo. Se l'applicazione esegue l'override dell'errore, VerInstallFile elimina la versione installata in precedenza e rinomina il file temporaneo con il nome file originale.
Nota
L'intestazione winver.h definisce VerInstallFile come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winver.h (include Windows.h) |
libreria |
Version.lib |
dll | Api-ms-win-core-version-l1-1-0.dll |
Vedere anche
concettuale
riferimento