Visual Studio 2022 Installer Projects と AutoUpdater.NET を使ってネットワーク経由でアップデートする方法
目次
概要
前回は Installer Projects でアップデートを行うインストーラーを作成しました。
knkomko.hatenablog.com
今回は AutoUpdater.NET を使ったアップデート方法を確認します。
またインストーラーの保存場所として共有フォルダを使用します。
1. NuGet パッケージの追加
AutoUpdater.NET.Official をインストールします。
2. アップデート開始のコードを追加
AutoUpdater を使用したコードを追加します。
Start メソッドを呼び出すとアップデート用の画面が表示されます。
using System; using System.Windows.Forms; using AutoUpdaterDotNET; namespace AutoUpdaterTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { AutoUpdater.Mandatory = true; AutoUpdater.UpdateMode = Mode.Forced; AutoUpdater.Start("\\\\172.24.110.60\\Public\\autoupdate.xml"); } } }
3. アップデートを行うインストーラーの作成
詳細は概要にも記載している前回の記事を参考にしてください。
knkomko.hatenablog.com
4. WebView2Loader.dll の追加
リビルドするとCPUアーキテクチャごとに WebView2Loader.dll が作成されます。
すべての WebView2Loader.dll を Setup プロジェクトに追加します。
5. インストーラーの配置
共有フォルダに Setup プロジェクトで作成した msi ファイルを保存します。
また autoupdate.xml, rerease_notes.htm のファイルを新規作成して保存します。
autoupdate.xml の version, url, changelog は実行環境に合わせて変更を行います。
・autoupdate.xml
<?xml version="1.0" encoding="UTF-8"?> <item> <title>サンプルプログラム 自動更新プログラム</title> <version>1.0.0.1</version> <url>//172.24.110.60/Public/Setup2.msi</url> <changelog>//172.24.110.60/Public/rerease_notes.htm</changelog> </item>
・rerease_note.htm
Sample 1.0.0.0 -> 1.0.0.1<br> ・aaaaaaaaaa<br> ・aaaaaaaaaa<br> ・aaaaaaaaaa<br> ・aaaaaaaaaa<br> ・aaaaaaaaaa<br> ・aaaaaaaaaa<br> <br>
6. 確認
① Setup1 インストール後
・ソフトウェアのバージョン
・コントロールパネル
・保存場所
② ソフトウェアの起動後
起動後 AutoUpdater.Start を実行するとアップデート用の画面が表示されます。
アップデート用の画面の Update ボタンを押下すると Setup2 が起動しました。
③ ソフトウェアの Update 後
・ソフトウェアのバージョン
・コントロールパネル
・保存場所
1.0.0.0 で使用していた WebView2Loader.dll が削除されずに残っていました。
7. その他
SetupプロジェクトにWebView2Loader.dllが含まれていないとAutoUpdater.Start実行時に例外が発生します。