いろいろなバージョン取得

バージョン情報と一口にいっても、実行ファイルのバージョン、DLLのバージョン、ClickOnceやインストーラのバージョンなど様々です。

バージョン情報ダイアログを作るために、これらのバージョンの取得方法を書いてみます。といってもコードで。

/// <summary>
/// ClickOnceで設定されたバージョンを取得
/// </summary>
public static Version ClickOnceVersion
{
	if (!System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed)
	{
		return null;
	}
	return System.Deployment.Application.ApplicationDeployment
		.CurrentDeployment.CurrentVersion;
}

/// <summary>
/// 実行中のexeファイルのバージョンを取得
/// </summary>
public static string AssemblyVersion
{
	return System.Windows.Forms.Application.ProductVersion;
}

/// <summary>
/// 実行中のexeファイルと同一ディレクトリにあるDLLの情報を取得
/// </summary>
public static List<System.Diagnostics.FileVersionInfo> DllVersion
{
	var versions = new List<System.Diagnostics.FileVersionInfo>();

	//自身のファイルパスを取得し、同一ディレクトリのdllファイルを一覧する
	string path = System.IO.Path.GetDirectoryName(
		System.Windows.Forms.Application.ExecutablePath);
	foreach (string name in System.IO.Directory.GetFiles(path, "*.dll"))
	{
		System.Diagnostics.FileVersionInfo info =
			System.Diagnostics.FileVersionInfo.GetVersionInfo(name);
		versions.Add(info);
	}

	return versions;
}

このような感じで、バージョン情報ダイアログが作れそうです。
※DLLのバージョン取得はもう少し工夫しないと問題がありそうですが・・・

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

baba

ゆとりプログラマー。 高校時代から趣味でプログラミングを初め、そのままコードを書き続けて現在に至る。慶應義塾大学環境情報学部(SFC)卒業。BPS設立初期に在学中から参加している最古参メンバーの一人。Ruby on Rails、PHP、Androidアプリ、Windows/Macアプリ、超縦書の開発などを気まぐれにやる。軽度の資格マニアで、情報処理技術者試験(16区分17回 + 情報処理安全確保支援士試験)、技術士(情報工学部門)、Ruby Programmer Gold、AWSソリューションアーキテクト(アソシエイト)、日商簿記2級、漢検準1級などを保有。

babaの書いた記事

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ

BPSアドベントカレンダー