(--/--/-- --:--) 上記の広告は1ヶ月以上更新のないブログに表示されています。 新しい記事を書く事で広告が消せます。 |
(2009/08/02 07:05) Vista で patch.exe を使おうとしたら、UACで暗転(※管理者権限への昇格確認中のあれ)して とても残念な気持ちになりました。 調べてみると、どうやら Vistaちゃんは、ファイル名に「setup」とか「instal」とか「uninst」とか「patch」とか「update」という文字列が含まれる実行可能ファイルを、インストーラのたぐいと思い込むようです。 そんな思い込みのはげしいVistaちゃんになんだか淡い興味を抱いたため、もうすこし詳しく調べてみました。 # 2009/08/16 追記。MSYS (1.0.11) に、Vistaちゃんが勘違いをしないようにするmanifestファイルが入っていました。ぶっこぬいたものを置いておきます。[patch_exe_manifest.txt] まず、調査の方法ですが、Microsoft Application Compatibility Toolkit 5.5 なるものを見つけたので、こやつ(の中の「Compatibility Administrator」)を使用しました。 なお、調査対象のVistaちゃんは、Windows Vista™ Home Premium SP1 です。 当方が調べた範囲で、Vistaちゃんが実行可能ファイルをインストーラ(GenericInstaller)だと思い込む条件は以下のとおりです。
# 大文字小文字の違いは無視されます。 # これらは、ファイル名のみを条件としてインストーラと思い込む条件を抜粋したものです。ファイル名のほかにも、Vistaちゃんはバージョン情報の製品名やら なんやらかんやら を見ているようです。 # 今回使用した Compatibility Administrator で互換性修正プログラムのデータベース(多分、実体はsysmain.sdb)を見ていると、おびただしい数のアプリケーションが登録されているのがわかります。 かつて Windows 95 の開発終盤の時期に、開発チームがさまざまな Windows 3.1 アプリケーション を Windows 95 で動かすために奔走し、マイクロソフトの近所のショップからソフトの在庫が払底したとかしないとかという話を思い出します。クールなロジックよりも、最終的には力ずくの全網羅が強いってことですね。 |
コメント
※コメント大歓迎です。いただいたコメントに対してこちらから返答することは原則ありませんが、必要な場合には記事本文で回答します。 |
|
| ホーム |
|