Grow up

生活とプログラミング

Visual Studio 2022 Installer Projects と AutoUpdater.NET を使ってネットワーク経由でアップデートする方法


概要

前回は Installer Projects でアップデートを行うインストーラーを作成しました。
knkomko.hatenablog.com

今回は AutoUpdater.NET を使ったアップデート方法を確認します。
またインストーラーの保存場所として共有フォルダを使用します。

github.com
www.nuget.org

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実行時に例外が発生します。