07/02/28 13:04:54
なんか混沌としてきてるんで、俺なりにまとめてみた。
俺はレジストリは嫌いなんで使ってないからファイルに関してのみ。
間違ってたら指摘してくれ。
(1) 新規開発アプリ・まじめなプログラマがVista対応でVer.Upする場合。
* exeにはすべてmanifestをつける(余計な仮想化等をさせない)
* ユーザーデータ・(書き換え要の)設定データはそれなりのディレクトリに置く
* プログラム更新はプログラムを分離し、manifestでUAC昇格させる
* アンインストール時に設定データ等をきれいにお掃除する
(2) 既存アプリを最低限の修正でVistaに対応させたい不真面目なプログラマの場合。
* アプリ.exeにはmanifestをつけ、余計なディレクトリ仮想化やUAC昇格がおこらないようにする
* インストーラ.exeはmanifestでUAC昇格させ、ユーザーデータ・(書き換え要の)設定データを置くディレクトリをインストーラでEveryone-modifyにしてしまう
* プログラム更新があるなら、プログラムのディレクトリもEveryone-modifyにしてしまう。
(3) 既存アプリを全く修正したくない物臭なプログラマの場合。
* ディレクトリの仮想化等でうまくいけば、それでオーケーとする
* ユーザーにProgram Filesでないディレクトリにインストールしてもらう
* ユーザーにディレクトリのセキュリティー設定を変えてもらう
* 「Vistaには対応していません」と言い切る
(4) ユーザーの立場の場合。
* 特に必要がなければVistaにしない
* アプリがVistaに対応してるか、供給元に確認する
ちなみに俺は(2)。
参考:mt.exe(Manifest Tool)で、再コンパイル・リンクなしに既存のexeにmanifestを追加できます。