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
[in] szSrcDir
型: LPCTSTR
ファイルが見つかるディレクトリの名前。
[in] szDestDir
型: LPCTSTR
ファイルをインストールするディレクトリの名前。 VerFindFile
[in] szCurDir
型: LPCTSTR
このファイルの既存のバージョンが見つかるディレクトリの名前。 VerFindFile
[out] szTmpFile
型: LPTSTR
ソース ファイルの一時コピーの名前。 バッファーの長さは少なくとも _MAX_PATH 文字にする必要がありますが、これは必須ではなく、入力時には空にする必要があります。
[in, out] puTmpFileLen
型: PUINT
szTmpFile バッファーの長さ。 このポインターは NULL
関数が戻ると、lpuTmpFileLen は、szTmpFileで返されたデータのサイズ (終端の null 文字を含む) を文字単位で受け取ります。 バッファーが小さすぎてすべてのデータを格納できない場合、lpuTmpFileLen は、データを保持するために必要なバッファーのサイズになります。
戻り値
型: DWORD
戻り値は、例外を示すビットマスクです。 次の値のうち 1 つ以上を指定できます。 その他の値はすべて予約されています。
戻りコード/値 | 形容 |
---|---|
|
アクセス違反のため、読み取り、作成、削除、または名前変更の操作が失敗しました。 |
|
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
VerInstallFile は、一時ファイルを宛先ディレクトリに残します。 アプリケーションは、エラーをオーバーライドするか、一時ファイルを削除できます。 アプリケーションがエラーをオーバーライドした場合、VerInstallFile は以前にインストールしたバージョンを削除し、一時ファイルの名前を元のファイル名に変更します。
手記
winver.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして VerInstallFile を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winver.h (Windows.h を含む) |
ライブラリ | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
関連項目
概念
リファレンス