アップデート方式の検討

なんだか飲みに行くらしいんだけど、まだ出れないらしくて待ち時間を使って考える。どうせコレ今年中にはやらんし。来年には忘れるから書いておこう。
いやアップデートが面倒なのもあるけど、.NETのアセンブリをngenするってのは俺やってないんだけど効果があるという人もいるし、それも自動でやったら便利な気がする。

トリガー
ヘルプメニューから「更新の確認」等用意。自動チェックは嫌いだからやらない。
実装先
別exeにする。本体に入れないほうが気持ちいいし、そもそも本体を終了させてその場で上書き出来るほうが圧倒的に楽。但しその方式だとアップデーターのexeは更新できないので、このexeは更新が不要であることが望ましい。場合によってはスクリプトという手もある。.NETのスクリプトはどうだか知らんが、起動したら上書き可能というメリットがある。
取得先
とりあえずxrea規約違反ではないとは思うんだけどあんまり調べてない。但し移転は考えられるのでそれは対応できなければいけない。最低限移転前に移転後を通知できればいいとは思うが、いきなりアカウント取り消されるかもしれんしなあ。アプリ配布すんのにDDNSも怖いし。
圧縮とかどうしよう
zipは使えたような記憶があるが調べてない。極端にデカいのはmshtnlだけで、それは更新されないからナマでもいいかもしれないがそれは俺の勝手な考え。
更新確認方式
ここが肝だよなあ。んー、サーバーとローカルのタイムスタンプで比べるわけにはいかないよなあ。当たり前だけど。けどちょっとした差し替えでバージョン番号上げるのも嫌だ。そうすると更新日時を書いたファイルを置いておく、みたいな俺の手間が発生するんだろうか。普通こういうのはどういうのがセオリーなんだろう。まあバージョンだよねえ。俺が細かいバージョンアップを嫌がるのがおかしいだけで。それでもやっぱどっかに書くのか。ここの更新履歴タグにアクセスさせてってのはどうだ?すごく馬鹿みたいで格好いい!馬鹿すぎるからやらないけど。
流れ
メニューから起動、更新チェック、更新があれば現時点の状態(開いているタブとか)を出来る限り保存して本体を終了、ダウンロード、旧バージョンのngen済みアセンブリ削除、新バージョンのngen、起動して状態を復元。ぐらいか。状態の保存・復元は本体に持つしかないなあ。欲を出すと戻る履歴とかまで復元ということになるが。