UAC と WinSFX32M...
今まで長らく棚上げしていた LHMelt / WinSFX32(M) の UAC 対応化ですが, 互換性アシスタント方面の情報が Web 上で散見されるものの, 不思議と問い合わせが飛んでくることは, 今までありませんでした。 が, さすがに放っておく訳にもいきません。 下手をすると年末くらいには WinXP SP3 が登場し, その SP3 には UAC が備わっているのですから…。
元々 WinXP 対策でマニフェストを埋め込んでいたことから, とりあえずの UAC 対策であれば簡単な作業です。 が, 悩ましいのは WinSFX32(M) の実行レベルです。 現在は何も情報が埋め込まれていませんから, 本来なら互換モードで動作するところですが, 実行ファイルに含まれているリソースの関係上, もれなく管理者権限が要求される状況となっています。 LHMelt や UNLHA32.DLL 等のインストール機能をもった配付ファイルであれば, それで構わないわけですが, 展開だけのために管理者権限が要求されるのは, 少々いただけません。
WinSFX32 のほうは asInvoker で良いでしょう。 問題なのは WinSFX32M です。 それ自体の性格としては requireAdministrator で良さそうなのですが, 実際には「単なる自己解凍書庫」として使われていることが (巷では) 多かったりします。 どうしようかしら?と少々悩んだのですが, $ ファイルの存在で切り替えることにしました。 ただ, 展開先指定ダイアログや 4GB の壁…といった点で WinSFX32M が使われているケースもありますので, サイズ増大と戦いつつ WinSFX32 の改善が必要となってくるでしょう。
ちなみに, 互換性アシスタントですが, UAC 対応版の WinSFX32M や, 既存の WinSFX32(M) を「ただの自己解凍書庫」として使った場合, 必ず終了時にアシスタントの画面を拝むことになります。 もちろん表示しない設定とした場合は別です。 (^^;)
実行レベルとして requireAdministrator が指定された, もしくは互換モードの際に Win がインストーラーと看破した場合は, アンインストール情報の登録を Win が追跡し, これが行われないと互換性アシスタントが表示されます。 結果, WinSFX32M で $ ファイルを使用するのであれば, インストーラー用途しかない…ということになってしまうのでした。
Sep.11,2007 追記
結局, WinXP SP3 に UAC は実装されないようですね。 まだまだ XP が使われる状況は続くでしょうから, 実装されれば, それはそれで意味があったのかもしれませんけれど。
長らく 94.24 で止まっていた Windows XP/2000 用 ForceWare ですが, 先月最新版である 162.18 が登場しましたので, DynaBook G7/X19PDEW へ適用してみました。 162.x という値から Vista 版の逆輸入と予想されますが, それを後押しするかのように, Vista 版と同じようなエントリーが並んでいますし, モバイル方面のエントリーも削除されています。 が, ここは無謀を承知で適用することにしました。
いつもどおり GeForce4 460 Go 用のエントリーを追加することで, あっさりとインストールは終了し, 再起動後も普通に動作しています…が, 各種ツールや設定画面を表示…どころか, それらに関わる (NVIDIA の) モジュールがロードされたとたんブルーサンダーが拝めます。 どうやら, 94.24 の頃と異なり NV4x 以降のチップにのみ対応しているようです。 アダプターの画面を見ても, GPU が Unknown となっています。 これでは, まともに動作するわけがありませんね。 当初の予定どおり, おとなしく 94.24 へ戻しておきます。(笑)
一方, 先日 162.22 へアップグレードしてあった dynabook SS LX/290DK ですが, こちらは, さすがに一見正常動作しています。 が, 元々 64MB 状態 GeForce 6200 Go への適用自体に無理があることから, 先日から遊んでいる『なるかな』との相性に問題が生じています。 ゲーム終了時にタスクバーとデスクトップが揃って裏面に回ってしまい, 一切操作を受け付けなくなってしまうのです。 (^^;) こちらも, 何の問題も発生しない 158.24 へ戻しておきました。
Sep.17,2007 追記
結果論としては 158.24 でも相性問題が発生したことから, 時を経ずして元に戻しています。
|