#はじめに
Windowsデスクトップアプリを配布する技術として比較的最近登場したSquirrel.Windowsを
https://github.com/Squirrel/Squirrel.Windows
を参考に簡単にまとめた。
#Squirrel.Windowsとは
-
Windowsアプリをアップデート・配布するためのフレームワーク
-
Nugetパッケージを使ってインストールとアップデートパッケージを作成
-
Nuget ・・・Microsoftがサポートする.NETのコード共有メカニズム
-
.Netで作られていないアプリケーションでも使用可能
-
ClickOnceから移行可能
##ClickOnceとの比較
Windowsアプリの配布方法として一般的なClickOnceとSquirrel.Windowsを比較すると次のようになる
ClickOnce | Squirrel.Windows | |
---|---|---|
新しさ | 古い | 新しい |
ライセンス | MS製 | OSS |
アップデート時の問い合わせ | あり | なし |
実装作業量 | 比較的軽い | 比較的重い |
バグの修正 | 今後行われないかも | 随時修正(するはず) |
メモ
- Squirrel.WindowsはNugetでパッケージングする部分が若干手間がかかるためClickOnceと比べると手間がかかるそう。
- Squirrel.Windowsもアップデート時の問い合わせを発生させることは可能
#Squirrel.Windowsの機能について
Squirrel.WindowsはGoogle Chromeのように簡単で早く、自動でインストールとアップデートを実現するために以下の機能を提供することを目指している。
-
設定
-
既存の.NETアプリケーション用のインストーラを容易に統合する
-
クライアントAPIは更新をチェックし、(できればHTMLで)更新履歴を受け取ることができる。
-
開発者は、インストールとアップデート中にイベントとカスタムアクションの制御が可能
-
アンインストール時にアプリケーションのクリーンを行うことが可能
-
パッケージング
- 既存の.NETアプリケーションを指定してインストーラを生成するのが、非常に簡単
- アプリケーションのアップデートの作成が、簡単に自動化できる
- デルタファイルをサポートしているので、更新パッケージのサイズが削減可能
-
アプリケーションの配布中の動作
-
アップデートサーバのホスティングが単純なHTTPを通して行われる
-
インストール
-
UACダイアログがない
-
ローカルのユーザーアカウントにインストール
-
再起動を行わない
-
アップデート中の動作
-
アプリケーションの実行中にアップデートが適用可能
-
再起動しない
-
現在作動中の動作を中断しない
最後に
ひとまず現状の更新はここまで。
作業ステップについては随時更新予定。