EXE、DLLファイルなどのプロパティで表示される「バージョン情報」(バージョン、説明、著作権、会社名などなど)を取得するには、FileVersionInfoオブジェクトを使います。指定したファイルに対応したFileVersionInfoオブジェクトを取得するには、FileVersionInfo.GetVersionInfoメソッドを使用します。
次の例ではメモ帳(C:\WINDOWS\NOTEPAD.EXE)のバージョン情報を表示しています。
'NOTEPAD.EXEのFileVersionInfoオブジェクトを取得する Dim vi As System.Diagnostics.FileVersionInfo = _ System.Diagnostics.FileVersionInfo.GetVersionInfo( _ "C:\WINDOWS\NOTEPAD.EXE") 'バージョン番号 Console.WriteLine("FileVersion:{0}", vi.FileVersion) 'メジャーバージョン番号 Console.WriteLine("FileMajorPart:{0}", vi.FileMajorPart) 'マイナバージョン番号 Console.WriteLine("FileMinorPart:{0}", vi.FileMinorPart) 'プライベートパート番号 Console.WriteLine("FilePrivatePart:{0}", vi.FilePrivatePart) 'ビルド番号 Console.WriteLine("FileBuildPart:{0}", vi.FileBuildPart) 'プライベートバージョン Console.WriteLine("PrivateBuild:{0}", vi.PrivateBuild) 'スペシャルビルド Console.WriteLine("SpecialBuild:{0}", vi.SpecialBuild) '説明 Console.WriteLine("FileDescription:{0}", vi.FileDescription) '著作権 Console.WriteLine("LegalCopyright:{0}", vi.LegalCopyright) '会社名 Console.WriteLine("CompanyName:{0}", vi.CompanyName) 'コメント Console.WriteLine("Comments:{0}", vi.Comments) '内部名 Console.WriteLine("InternalName:{0}", vi.InternalName) '言語 Console.WriteLine("Language:{0}", vi.Language) '商標 Console.WriteLine("LegalTrademarks:{0}", vi.LegalTrademarks) 'オリジナルファイル名 Console.WriteLine("OriginalFilename:{0}", vi.OriginalFilename) '製品名 Console.WriteLine("ProductName:{0}", vi.ProductName) '製品バージョン Console.WriteLine("ProductVersion:{0}", vi.ProductVersion) '製品メジャーバージョン番号 Console.WriteLine("ProductMajorPart:{0}", vi.ProductMajorPart) '製品マイナバージョン番号 Console.WriteLine("ProductMinorPart:{0}", vi.ProductMinorPart) '製品プライベートバージョン番号 Console.WriteLine("ProductPrivatePart:{0}", vi.ProductPrivatePart) '製品ビルド番号 Console.WriteLine("ProductBuildPart:{0}", vi.ProductBuildPart) 'デバッグ情報があるか Console.WriteLine("IsDebug:{0}", vi.IsDebug) 'パッチされているか Console.WriteLine("IsPatched:{0}", vi.IsPatched) 'プレリリースか Console.WriteLine("IsPreRelease:{0}", vi.IsPreRelease) 'スペシャルビルドか Console.WriteLine("IsSpecialBuild:{0}", vi.IsSpecialBuild)
//NOTEPAD.EXEのFileVersionInfoオブジェクトを取得する System.Diagnostics.FileVersionInfo vi = System.Diagnostics.FileVersionInfo.GetVersionInfo( @"C:\WINDOWS\NOTEPAD.EXE"); //バージョン番号 Console.WriteLine("FileVersion:{0}", vi.FileVersion); //メジャーバージョン番号 Console.WriteLine("FileMajorPart:{0}", vi.FileMajorPart); //マイナバージョン番号 Console.WriteLine("FileMinorPart:{0}", vi.FileMinorPart); //プライベートパート番号 Console.WriteLine("FilePrivatePart:{0}", vi.FilePrivatePart); //ビルド番号 Console.WriteLine("FileBuildPart:{0}", vi.FileBuildPart); //プライベートバージョン Console.WriteLine("PrivateBuild:{0}", vi.PrivateBuild); //スペシャルビルド Console.WriteLine("SpecialBuild:{0}", vi.SpecialBuild); //説明 Console.WriteLine("FileDescription:{0}", vi.FileDescription); //著作権 Console.WriteLine("LegalCopyright:{0}", vi.LegalCopyright); //会社名 Console.WriteLine("CompanyName:{0}", vi.CompanyName); //コメント Console.WriteLine("Comments:{0}", vi.Comments); //内部名 Console.WriteLine("InternalName:{0}", vi.InternalName); //言語 Console.WriteLine("Language:{0}", vi.Language); //商標 Console.WriteLine("LegalTrademarks:{0}", vi.LegalTrademarks); //オリジナルファイル名 Console.WriteLine("OriginalFilename:{0}", vi.OriginalFilename); //製品名 Console.WriteLine("ProductName:{0}", vi.ProductName); //製品バージョン Console.WriteLine("ProductVersion:{0}", vi.ProductVersion); //製品メジャーバージョン番号 Console.WriteLine("ProductMajorPart:{0}", vi.ProductMajorPart); //製品マイナバージョン番号 Console.WriteLine("ProductMinorPart:{0}", vi.ProductMinorPart); //製品プライベートバージョン番号 Console.WriteLine("ProductPrivatePart:{0}", vi.ProductPrivatePart); //製品ビルド番号 Console.WriteLine("ProductBuildPart:{0}", vi.ProductBuildPart); //デバッグ情報があるか Console.WriteLine("IsDebug:{0}", vi.IsDebug); //パッチされているか Console.WriteLine("IsPatched:{0}", vi.IsPatched); //プレリリースか Console.WriteLine("IsPreRelease:{0}", vi.IsPreRelease); //スペシャルビルドか Console.WriteLine("IsSpecialBuild:{0}", vi.IsSpecialBuild);
上記のコードを実行したときの出力例は、以下のようになります。
FileVersion:4.10.1998 FileMajorPart:4 FileMinorPart:10 FilePrivatePart:1998 FileBuildPart:0 PrivateBuild: SpecialBuild: FileDescription:Windows Notepad application file LegalCopyright:Copyright (C) Microsoft Corp. 1991-1998 CompanyName:Microsoft Corporation Comments: InternalName:Notepad Language:日本語 LegalTrademarks: OriginalFilename:NOTEPAD.EXE ProductName:Microsoft(R) Windows(R) Operating System ProductVersion:4.10.1998 ProductMajorPart:4 ProductMinorPart:10 ProductPrivatePart:1998 ProductBuildPart:0 IsDebug:False IsPatched:False IsPreRelease:False IsSpecialBuild:False