VerInstallFileA 関数 (winver.h)
VerFindFile 関数から返された情報に基づいて、指定されたファイルをインストールします。 VerInstallFile は、必要に応じてファイルを圧縮解除し、一意のファイル名を割り当て、古いファイルなどのエラーをチェックします。
構文
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
);
パラメーター
[in] uFlags
型: DWORD
このパラメーターには、次の値のいずれかを指定できます。 その他のビットはすべて予約されています。
値 | 意味 |
---|---|
|
バージョン番号の不一致に関係なく、ファイルをインストールします。 この関数は、インストール中の物理エラーのみをチェックします。 |
|
以前にインストールしたファイルがコピー先ディレクトリにない場合は、以前にインストールしたファイルを削除せずにファイルをインストールします。 |
[in] szSrcFileName
種類: LPCTSTR
インストールするファイルの名前。 これは、 szSrcDir パラメーターによって指されるディレクトリ内のファイル名です。ファイル名には、パスではなく、ファイル名と拡張子のみを含めることができます。
[in] szDestFileName
種類: LPCTSTR
VerInstallFile という名前は、インストール時に新しいファイルを指定します。 このファイル名は、 szSrcFileName ディレクトリのファイル名とは異なる場合があります。 新しい名前には、パスではなく、ファイル名と拡張子のみを含める必要があります。
[in] szSrcDir
種類: LPCTSTR
ファイルが見つかるディレクトリの名前。
[in] szDestDir
種類: LPCTSTR
ファイルをインストールするディレクトリの名前。 VerFindFile は、 szDestDir パラメーターでこの値を返します。
[in] szCurDir
種類: LPCTSTR
このファイルの既存のバージョンが見つかるディレクトリの名前。 VerFindFile は、 szCurDir パラメーターでこの値を返します。
[out] szTmpFile
種類: LPTSTR
ソース ファイルの一時コピーの名前。 バッファーは 少なくとも_MAX_PATH 文字の長さにする必要がありますが、これは必須ではなく、入力時には空にする必要があります。
[in, out] puTmpFileLen
型: PUINT
szTmpFile バッファーの長さ。 このポインターは NULL にすることはできません。
関数が戻ると、 lpuTmpFileLen は 、 szTmpFile で返されるデータのサイズ (終端の null 文字を含む) を文字単位で受け取ります。 バッファーが小さすぎてすべてのデータを格納できない場合、 lpuTmpFileLen はデータを保持するために必要なバッファーのサイズになります。
戻り値
型: DWORD
戻り値は、例外を示すビットマスクです。 これは、次の値のなかから 1 つまたは複数を指定できます。 その他の値はすべて予約されています。
リターン コード/値 | Description |
---|---|
|
アクセス違反が原因で、読み取り、作成、削除、または名前変更の操作が失敗しました。 |
|
szTmpFile バッファーが小さすぎて、一時ソース ファイルの名前が格納されませんでした。 関数が戻ると、 lpuTmpFileLen には、ファイル名を保持するために必要なバッファーのサイズが含まれます。 |
|
関数は一時ファイルを作成できません。 特定のエラーは、別のフラグで記述できます。 |
|
関数は、コピー先ファイルを削除することも、別のディレクトリにある既存のバージョンのファイルを削除することもできません。 VIF_TEMPFILE ビットが設定されている場合、インストールは失敗し、コピー先ファイルを削除できない可能性があります。 |
|
ファイルの既存のバージョンを削除できず、 VIFF_DONTDELETEOLD が指定されていません。 |
|
この関数はキャビネット ファイルを読み込めません。 |
|
関数は圧縮ファイルを読み込めません。 |
|
関数は、コピー先 (既存の) ファイルを読み取ることができません。 これにより、関数がファイルの属性を調べることができなくなります。 |
|
関数はソース ファイルを読み取ることができません。 これは、パスが正しく指定されていないことを意味する可能性があります。 |
|
関数は一時ファイルの名前を変更できませんが、コピー先ファイルは既に削除されています。 |
|
新しいファイルには、現在実行中のシステムのバージョンでは表示できないコード ページが必要です。 このエラーは、VIFF_FORCEINSTALL フラグが設定された状態で VerInstallFile を呼び出すことによってオーバーライドできます。 |
|
新しいファイルと既存のファイルの言語またはコード ページの値が異なります。 このエラーは、VIFF_FORCEINSTALL フラグを設定して VerInstallFile をもう一度呼び出すことでオーバーライドできます。 |
|
新しいファイルの種類、サブタイプ、またはオペレーティング システムは、既存のファイルとは異なります。 このエラーは、VIFF_FORCEINSTALL フラグを設定して VerInstallFile をもう一度呼び出すことでオーバーライドできます。 |
|
既存のファイルはシステムによって使用されており、削除できません。 |
|
新しいファイルと既存のファイルは、1 つ以上の属性で異なります。 このエラーは、VIFF_FORCEINSTALL フラグを設定して VerInstallFile を再度呼び出すことによってオーバーライドできます。 |
|
メモリ不足のため、関数は要求された操作を完了できません。 一般に、これは、アプリケーションが圧縮ファイルを拡張しようとしてメモリが不足したことを意味します。 |
|
コピー先ドライブのディスク領域が不足しているため、関数は一時ファイルを作成できません。 |
|
共有違反のため、読み取り、作成、削除、または名前変更の操作が失敗しました。 |
|
インストールするファイルが、既存のファイルよりも古い。 このエラーは、VIFF_FORCEINSTALL フラグを設定して VerInstallFile を再度呼び出すことによってオーバーライドできます。 |
|
新しいファイルの一時コピーは、コピー先ディレクトリにあります。 エラーの原因は、他のフラグに反映されます。 |
|
既存のファイルは書き込み保護されています。 このエラーは、VIFF_FORCEINSTALL フラグを設定して VerInstallFile を再度呼び出すことによってオーバーライドできます。 |
注釈
この関数は、16 ビット、32 ビット、および 64 ビットのファイル イメージで動作します。
VerInstallFile は、ソース ディレクトリからコピー先ディレクトリにファイルをコピーします。 システムに以前のバージョンのファイルが存在することを szCurDir が示している場合、 VerInstallFile はファイルのバージョン スタンプ情報を比較します。 以前にインストールしたバージョンのファイルが新しいバージョンよりも新しい場合、またはファイルの属性が異なる場合 (たとえば、言語が異なる場合)、 VerInstallFile は 1 つ以上の回復可能なエラー コードを返します。
VerInstallFile は 、一時ファイルを宛先ディレクトリに残します。 アプリケーションは、エラーをオーバーライドするか、一時ファイルを削除できます。 アプリケーションがエラーをオーバーライドすると、 VerInstallFile は以前にインストールしたバージョンを削除し、一時ファイルの名前を元のファイル名に変更します。
注意
winver.h ヘッダーは、VerInstallFile をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winver.h (Windows.h を含む) |
Library | Version.lib |
[DLL] | Api-ms-win-core-version-l1-1-0.dll |
関連項目
概念
リファレンス