VistaのUACとの戦いの果て。
とあるプロジェクトでインストーラーでのupdateはあきらめて、バッチでexeをコピーすることになりました。xpではすぐ簡単。ほいさっさ。
しかし。
Vistaではアクセスが拒否されます。色々と調べた結果、Windowsフォルダや、ProgramFilesフォルダは権限の昇格が必要なようです。しかし、PCが使えないユーザを想定しているので、
- UACのOFF
- 管理者権限での実行
は期待できません。
ネットで調べてみると、マニフェストファイルを作ってやると権限の設定ができるそう。とやってみたのですが、、、あれ?よくよく考えると、権限の昇格はインストーラーに対して行わなければならない。batに対してマニフェストを適応できないみたい。ちなみに書いたマニフェストさらしておきます。
update.bat.manifest
もうだめだ、、、、、、、、、と思っていたら。
IExpressで簡易インストーラをつくってやれば問題なし!
「この実行プロセスはインストールか?」が分かって、インストールの処理ならば権限がどうやら昇格するようです。IExpressでの実行は見事インストールプロセスと認識してくれたようです。良かった!!!