自動アップデータ兼ランチャーを GitHub で公開してみました。
magome で作った自動アップデート機能を、目的や内側のアルゴリズムはそのままに、VisualStudio2017、boost など今のテクノロジでコマンドラインツールとして焼き直したものです。
そもそもはその当時スマホアプリとか、PCアプリの chrome とかもそうですが、ユーザーが意識することなく自動でアップデートして常に最新を利用出来る!ってイイネと思ったのが始まりです。
当時のPCアプリは(今もそうかもですが)、アップデートするときはユーザーが能動的にダウンロードしてインストーラを起動して指示に従う。というのが主流でした。
が、そんなことを意識しなくても勝手に最新になってほしいなと。(勝手にアップデートされたら困るケースがあることも承知しています・・)
Windows には ClickOnce というのもあったけど使い勝手も悪くイマイチ流行らなかった(ような気がする)し・・。
で、アプリの自動アップデートです。
差分を配信する為に配信専用データを作るための専用ツールとか、サーバーに配信用アプリをインストールとか、そういうケースを見てきました。
が、ものぐさな自分的には敷居高すぎます。なので、
手間なく!ミスなく!お手がるに!ってことを重視して以下の感じにしました。
・アップデータ作成は、アプリのファイル群を一般的なツールで ZIP に固めるだけで完成!
・配信サーバーは最低限の web サーバーで可。サーバー側に配信アプリをインストールとかは不要。
・アプリは起動時にサーバーをチェックしてアップデータがあれば勝手にアップデート。
・ダウンロードするのは更新に必要な最低限のファイルのみ。
です。
作ってみたら結構便利で他でも使ってました。
特に業務アプリでは、勝手にアップデートして常に最新、全ユーザーが同じバージョンを使うってことを有難がる場合は多いです。
これはオンラインゲームとかでもありがちな要求な気がします。
というわけで使えるケースがあれば使ってみて欲しいなと思います。
が、込み入った状況など、そのままじゃ使えない場合も多いと思いますので、そんな場合はお気軽にご相談頂ければと思います。
最後に。
C++ の仕様を作ってる方々、boost などのライブラリを開発している方々に感謝です。