VB2005 バージョン情報の取得

バージョン情報にはいろいろ種類があってややこしい

1. 通常のEXEファイルのバージョン情報
(1)アセンブリバージョン
(2)ファイルバージョン
(3)製品バージョン

これらは,プロジェクトのプロパティー – アプリケーション – アセンブリ情報
で設定する.
ファイルバージョンと製品バージョンは,どちらもファイルバージョンで設定した値が入るようだ.

2. ClickOnceで発行したときのバージョン情報
プロジェクトのプロパティー – 発行 – 発行するバージョン
で設定する.


1. 通常のEXEファイルのバージョン情報の取得方法

        ‘(1)アセンブリバージョンの取得
        Dim strFormat As String = “Version {0}.{1:00}.{2:00}.{3:000}”
        Dim strVer As String = System.String.Format(strFormat, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)

        ‘ファイルバージョンと製品バージョンの取得
        ‘実行ファイルのパスを取得
        Dim FilePath As String = System.Reflection.Assembly.GetExecutingAssembly().Location
        ‘バージョン情報を取得
        Dim ver As System.Diagnostics.FileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(FilePath)
        ‘(2)ファイルバージョン
        Dim strFileVer As String = ver.FileVersion
        ‘(3)製品バージョン
        Dim strProductVer As String = ver.ProductVersion


2. ClickOnceで発行したときのバージョン情報の取得方法

        Dim strVer As String = String.Empty
        ‘ClickOnceでインストールされている場合のみ取得
        If System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed Then
            Dim Ver1 As Version = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion
            strVer = Ver1.Major.ToString() + “.”
            strVer += Ver1.Minor.ToString() + “.”
            strVer += Ver1.Build.ToString() + “.”
            strVer += Ver1.Revision.ToString()
        End If

※ ClickOnceで発行したときのバージョン情報は開発環境から実行した場合は取得できないので,実際に発行したアプリを実行して確認する.

“VB2005 バージョン情報の取得” への2件の返信

  1. ヽ(´▽`)/ありがとうございます、大変助かりました
    VB6から比べるとバージョン管理が増えて厄介になっていますね
    これを使うには参照設定でSystem.Deploymentをあげないと使えませんでした
    Importsで参照していると大変厄介なことになります
    これからも有益な情報を公開していただくようお願いいたします
    m(_ _)m

  2. コンパイルごとにインクリメントするバージョンをファイルに記録しておきたかったのです。
    「2. ClickOnceで発行したときのバージョン情報の取得方法」にて、所望の値が取得できました。
    VB6では、簡単にできてたことができなくて、困ってました。
    ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です