VB2005で作成したEXEファイルのバージョン取得方法
VB2005で作成したEXEファイルのバージョン情報は、以下の3種類があります。
そして、上記バージョン情報は、各々以下の4つのバージョンから構成(major.minor.build.revision)されています。
- major(メジャーバージョン)ファイル名が同じでも、このバージョンが異なる場合は、互換性がない。
- minor(マイナーバージョン)ファイル名、majorが同じで、このバージョンが異なる場合は、下位互換性がある。
- build(ビルドバージョン)プロセッサやプラットフォーム等が変更された場合、同一ソースでコンパイルした時。
- revision(リビジョンバージョン)完全互換を目的とする(ホトフィックス更新等)
バージョン取得のサンプル
ファイルバージョンと製品バージョンは、FileVersionInfoクラスからで、
アセンブリバージョンは、Assemblyクラスから求めます。
Imports System.Diagnostics Imports System.Reflection Dim FileInfo As FileVersionInfo FileInfo = FileVersionInfo.GetVersionInfo("C:\WindowsApplication1.exe") 'ファイルバージョン MsgBox(FileInfo.FileVersion) '製品バージョン MsgBox(FileInfo.ProductVersion) Dim AssemblyVersionValue As Version Dim AssemblyVersion As String AssemblyVersionValue = Assembly.LoadFile("C:\WindowsApplication1.exe").GetName().Version AssemblyVersion = CStr(AssemblyVersionValue.Major) & "." & _ CStr(AssemblyVersionValue.Minor) & "." & _ CStr(AssemblyVersionValue.BUild) & "." & _ CStr(AssemblyVersionValue.Revision) 'アセンブリバージョン MsgBox(AssemblyVersion)
参考:http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1747107&SiteID=7
実は、アセンブリバージョンの取得方法がどうしてもわからず、上記BBSで教えてもらいました。