VERSIONINFO リソース

バージョン情報リソースを定義します。 リソースには、バージョン番号、目的のオペレーティング システム、および元のファイル名などのファイルに関する情報が含まれています。 リソースは、 バージョン情報 関数で使用することを目的としています。

VERSIONINFO ステートメントの書式を設定するには、次の 2 つの方法があります。

versionID VERSIONINFO fixed-info  { block-statement . . . }

- または -

versionID VERSIONINFO 
fixed-info
BEGIN
block-statement
. . .
END

パラメーター

versionID

バージョン情報リソース識別子。 この値は 1 である必要があります。

fixed-info

ファイルのバージョンや目的のオペレーティング システムなどのバージョン情報。 このパラメーターは、次のステートメントで構成されます。

ステートメント 説明
FILEVERSIONバージョン ファイルのバイナリ バージョン番号。 バージョンは 2 つの 32 ビット整数で構成され、4 つの 16 ビット整数で定義されます。 たとえば、"FILEVERSION 3,10,0,61" は、0x0003000aと0x0000003dという 2 つのダブルワードに変換されます。 したがって、バージョンDWORDdw1 と dw2 で定義されている場合は、FILEVERSION ステートメントで、、LOWORD(dw1)HIWORD(dw2)LOWORD(dw2)のようにHIWORD(dw1)記述する必要があります。
PRODUCTVERSION バージョン ファイルが配布される製品のバイナリ バージョン番号。 version パラメーターは、4 つの 16 ビット整数で定義される 2 つの 32 ビット整数です。 バージョンの詳細については、FILEVERSION の説明を参照してください。
FILEFLAGSMASKfileflagsmask FILEFLAGS ステートメントのどのビットが有効であるかを示します。 16 ビット Windows の場合、この値は0x3f。
FILEFLAGSファイルフラグ ファイルの属性。
FILEOSfileos このファイルが設計されたオペレーティング システム。 fileos パラメーターには、「解説」セクションで指定したオペレーティング システム値のいずれかを指定できます。
FILETYPEファイルの種類 ファイルの一般的な種類。 filetype パラメーターには、「解説」セクションにリストされているファイル・タイプ値のいずれかを指定できます。
FILESUBTYPEサブタイプ ファイルの関数。 FILETYPE ステートメントの filetype パラメーターがVFT_DRV、VFT_FONT、またはVFT_VXDでない限り、サブタイプ パラメーターは 0 です。 ファイル サブタイプ値の一覧については、「解説」セクションを参照してください。

 

block-statement

1 つ以上のバージョン情報ブロックを指定します。 ブロックには、文字列情報または変数情報を含めることができます。 詳細については、「 StringFileInfo ブロック 」または 「VarFileInfo ブロック」を参照してください。

解説

VERSIONINFO ステートメントで指定された定数を使用するには、リソース定義ファイルに Winver.h または Windows.h ヘッダー ファイルを含める必要があります。

次の一覧では、 VERSIONINFO ステートメントで使用されるパラメーターについて説明します。

fileflags

次の値の組み合わせ。

説明
VS_FF_DEBUG ファイルにデバッグ情報が含まれているか、デバッグ機能が有効になっている状態でコンパイルされます。
VS_FF_PATCHED ファイルは変更されており、同じバージョン番号の元の出荷ファイルと同じではありません。
VS_FF_PRERELEASE ファイルは開発バージョンであり、商用リリース製品ではありません。
VS_FF_PRIVATEBUILD ファイルは標準のリリース手順を使用してビルドされませんでした。 この値を指定する場合、 StringFileInfo ブロック には PrivateBuild 文字列が含まれている必要があります。
VS_FF_SPECIALBUILD ファイルは、標準リリース手順を使用して元の会社によって作成されましたが、同じバージョン番号の標準ファイルのバリエーションです。 この値を指定する場合、 StringFileInfo ブロック ブロックには SpecialBuild 文字列が含まれている必要があります。
VS_FFI_FILEFLAGSMASK 上記のすべての値の組み合わせ。

 

fileos

次のいずれかの値です。

[値] 説明
VOS_UNKNOWN ファイルが設計されたオペレーティング システムが不明です。
VOS_DOS ファイルは MS-DOS 用に設計されました。
VOS_NT ファイルは 32 ビット Windows 用に設計されました。
VOS__WINDOWS16 ファイルは 16 ビット Windows 用に設計されました。
VOS__WINDOWS32 ファイルは 32 ビット Windows 用に設計されました。
VOS_DOS_WINDOWS16 ファイルは、MS-DOS で実行されている 16 ビット Windows 用に設計されました。
VOS_DOS_WINDOWS32 ファイルは、MS-DOS で実行されている 32 ビット Windows 用に設計されています。
VOS_NT_WINDOWS32 ファイルは 32 ビット Windows 用に設計されました。

 

値 0x00002L、0x00003L、0x20000L、0x30000L が予約されています。

Filetype

次のいずれかの値です。

[値] 説明
VFT_UNKNOWN ファイルの種類が不明です。
VFT_APP ファイルにはアプリケーションが含まれています。
VFT_DLL ファイルにはダイナミック リンク ライブラリ (DLL) が含まれています。
VFT_DRV ファイルには、デバイス ドライバーが含まれています。 filetypeVFT_DRVの場合、サブタイプにはドライバーのより具体的な説明が含まれます。
VFT_FONT ファイルにはフォントが含まれています。 filetype がVFT_FONTの場合、サブタイプにはフォントのより具体的な説明が含まれます。
VFT_VXD ファイルには仮想デバイスが含まれています。
VFT_STATIC_LIB ファイルには、静的リンク ライブラリが含まれています。

 

その他の値はすべて、Microsoft が使用するために予約されています。

サブタイプ

ファイルの種類に関する追加情報。

filetypeVFT_DRVを指定する場合、このパラメーターには次のいずれかの値を指定できます。

説明
VFT2_UNKNOWN ドライバーの種類が不明です。
VFT2_DRV_COMM ファイルには通信ドライバーが含まれています。
VFT2_DRV_PRINTER ファイルにはプリンター ドライバーが含まれています。
VFT2_DRV_KEYBOARD ファイルにはキーボード ドライバーが含まれています。
VFT2_DRV_LANGUAGE ファイルには言語ドライバーが含まれています。
VFT2_DRV_DISPLAY ファイルにはディスプレイ ドライバーが含まれています。
VFT2_DRV_MOUSE ファイルにはマウス ドライバーが含まれています。
VFT2_DRV_NETWORK ファイルにはネットワーク ドライバーが含まれています。
VFT2_DRV_SYSTEM ファイルには、システム ドライバーが含まれています。
VFT2_DRV_INSTALLABLE ファイルには、インストール可能なドライバーが含まれています。
VFT2_DRV_SOUND ファイルにはサウンド ドライバーが含まれています。
VFT2_DRV_VERSIONED_PRINTER ファイルには、バージョン管理されたプリンター ドライバーが含まれています。

 

filetypeVFT_FONTを指定する場合、このパラメーターには次のいずれかの値を指定できます。

説明
VFT2_UNKNOWN フォントの種類が不明です。
VFT2_FONT_RASTER ファイルにはラスター フォントが含まれています。
VFT2_FONT_VECTOR ファイルにはベクター フォントが含まれています。
VFT2_FONT_TRUETYPE ファイルには TrueType フォントが含まれています。

 

filetype がVFT_VXDを指定する場合、このパラメーターは仮想デバイス制御ブロックに含まれる仮想デバイス識別子である必要があります。

ここに記載されていない サブタイプ 値はすべて、Microsoft が使用するために予約されています。

langID

次のいずれかの言語コード。

コード Language コード Language
0x0401 アラビア語 0x0415 ポーランド語
0x0402 ブルガリア語 0x0416 ポルトガル語 (ブラジル)
0x0403 カタロニア語 0x0417 Rhaeto-Romanic
0x0404 Traditional Chinese 0x0418 ルーマニア語
0x0405 チェコ語 0x0419 ロシア語
0x0406 デンマーク語 0x041A Croato-Serbian (ラテン)
0x0407 ドイツ語 0x041B スロバキア語
0x0408 ギリシャ語 0x041C アルバニア語
0x0409 英語 (米国) 0x041D スウェーデン語
0x040A カスティーリャ語 スペイン語 0x041E タイ語
0x040B フィンランド語 0x041F トルコ語
0x040C フランス語 0x0420 ウルドゥ語
0x040D ヘブライ語 0x0421 インドネシア
0x040E ハンガリー語 0x0804 簡体中国語
0x040F アイスランド語 0x0807 ドイツ語 (スイス)
0x0410 イタリア語 0x0809 英国英語
0x0411 日本語 0x080A スペイン語 (メキシコ)
0x0412 韓国語 0x080C フランス語 (ベルギー)
0x0413 オランダ語 0x0C0C フランス語 (カナダ)
0x0414 ノルウェー語。 Bokmal 0x100C フランス語 (スイス)
0x0810 スイスイタリア語 0x0816 ポルトガル語 (ポルトガル)
0x0813 ベルギーオランダ語 0x081A Serbo-Croatian (キリル)
0x0814 ノルウェー語。 ニーノシュク

 

charsetID

次のいずれかの文字セット識別子。

Decimal 16 進数 文字セット
0 0000 7 ビット ASCII
932 03A4 日本 (シフト?JIS X-0208)
949 03B5 韓国 (シフト?KSC 5601)
950 03B6 台湾 (Big5)
1200 04B0 Unicode
1250 04E2 Latin-2 (東ヨーロッパ)
1251 04E3 キリル文字
1252 04E4 複数言語
1253 04E5 ギリシャ語
1254 04E6 トルコ語
1255 04E7 ヘブライ語
1256 04E8 アラビア語

 

string-name

次の定義済みの名前のいずれか。

名前 説明
コメント 診断目的で表示する必要がある追加情報。
CompanyName ファイルを生成した会社 。たとえば、 Microsoft Corporation または Standard Microsystems Corporation, Inc. この文字列が必要です。
FileDescription ユーザーに表示されるファイルの説明。 この文字列は、ユーザーがインストールするファイル (例: Keyboard Driver for AT-Style Keyboards) を選択するときに、リスト ボックスに表示される場合があります。 この文字列は必須です。
FileVersion ファイルのバージョン番号 (例: 3.10 または 5.00.RC2)。 この文字列は必須です。
InternalName ファイルの内部名 (存在する場合)、たとえば、ファイルがダイナミック リンク ライブラリの場合はモジュール名。 ファイルに内部名がない場合、この文字列は拡張子のない元のファイル名にする必要があります。 この文字列は必須です。
LegalCopyright ファイルに適用される著作権表示。 これには、すべての通知、法的記号、著作権の日付などのフルテキストが含まれている必要があります。 この文字列は省略可能です。
LegalTrademarks ファイルに適用される商標および登録商標。 これには、すべての通知の全文、法的な記号、商標番号などが含まれます。 この文字列は省略可能です。
OriginalFilename パスを含まないファイルの元の名前。 この情報により、アプリケーションはファイルの名前がユーザーによって変更されたかどうかを判断できます。 名前の形式は、ファイルが作成されたファイル システムによって異なります。 この文字列は必須です。
PrivateBuild ファイルのプライベート バージョンに関する情報 (例: Built by TESTER1 on \\TESTBED)。 この文字列は、ルート ブロックの fileflags パラメーターにVS_FF_PRIVATEBUILDが指定されている場合にのみ存在する必要があります。
ProductName ファイルが配布される製品の名前。 この文字列は必須です。
ProductVersion ファイルが配布される製品のバージョン (例: 3.10 または 5.00.RC2)。 この文字列は必須です。
SpecialBuild このバージョンのファイルと標準バージョンとの違いを示すテキスト (例: Private build for TESTER1 solving mouse problems on M250 and M250E computers)。 この文字列は、ルート ブロックの fileflags パラメーターにVS_FF_SPECIALBUILDが指定されている場合にのみ存在する必要があります。

 

下位互換性のために、特定の属性もサポートされています。 詳細については、「 共通リソース属性」を参照してください。

次の例では 、VERSIONINFO リソースを定義します。

#define VER_FILEVERSION             3,10,349,0
#define VER_FILEVERSION_STR         "3.10.349.0\0"

#define VER_PRODUCTVERSION          3,10,0,0
#define VER_PRODUCTVERSION_STR      "3.10\0"

#ifndef DEBUG
#define VER_DEBUG                   0
#else
#define VER_DEBUG                   VS_FF_DEBUG
#endif

VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
FILEFLAGS       (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG)
FILEOS          VOS__WINDOWS32
FILETYPE        VFT_DLL
FILESUBTYPE     VFT2_UNKNOWN
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904E4"
        BEGIN
            VALUE "CompanyName",      VER_COMPANYNAME_STR
            VALUE "FileDescription",  VER_FILEDESCRIPTION_STR
            VALUE "FileVersion",      VER_FILEVERSION_STR
            VALUE "InternalName",     VER_INTERNALNAME_STR
            VALUE "LegalCopyright",   VER_LEGALCOPYRIGHT_STR
            VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
            VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
            VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
            VALUE "ProductName",      VER_PRODUCTNAME_STR
            VALUE "ProductVersion",   VER_PRODUCTVERSION_STR
        END
    END

    BLOCK "VarFileInfo"
    BEGIN
        /* The following line should only be modified for localized versions.     */
        /* It consists of any number of WORD,WORD pairs, with each pair           */
        /* describing a language,codepage combination supported by the file.      */
        /*                                                                        */
        /* For example, a file might have values "0x409,1252" indicating that it  */
        /* supports English language (0x409) in the Windows ANSI codepage (1252). */

        VALUE "Translation", 0x409, 1252

    END
END

こちらもご覧ください

バージョン情報の使用

バージョン情報