Division By Zero

ゼロで割る

WPFアプリケーションでバージョンを表示する

Visual C# 2010 Expressは無料で商用利用もできるので、ちょっとしたWindowsアプリを作るのに重宝している。

要件としては、WindowsフォームアプリとWPFアプリのどちらでもよかったのだが、せっかくなので新しい技術のありそうなWPFを選択した。途中、他社製のコンソールアプリを起動する必要があるので、SilverlightやWebアプリは除外。

ExpressにはInstallShieldが含まれていないので、インストーラーが必要なら、ClickOnceを利用することになる。ソリューションエクスプローラーでプロジェクトを選択して右クリック、プロパティを表示させ、「発行」タブで発行できる。ここの「バージョンの発行」にあるバージョン番号をアプリで表示する方法は以下の通り。

string version;
XmlDocument xd = new XmlDocument();
Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
string path = new Uri(a.GetName().CodeBase).LocalPath;

xd.Load(path + ".manifest");
if (xd.HasChildNodes)
{
    version = xd.ChildNodes[1].ChildNodes[0].Attributes.GetNamedItem("version").Value.ToString();
}

ここを参考にした。

なお、ClickOnceここが詳しい。

うまく表示できたので、今日はこれで終了!