hoge diary - January 11, 2007

[雑記] Administrators グループのユーザであるフリをするには

世の中にはインストーラ付きのアプリケーションがたくさんあります.インストーラは,もちろん利用者にとっての利便性向上のためのものであり,それを享受する人は大勢いることでしょう.

しかしながら,それらのインストーラの中には,インストール処理中,あるいはインストールしたアプリケーションの実行中に何ら管理者権限を必要としないにも関わらず,インストーラ自身が管理者権限で起動しているかどうかをチェックし,管理者権限でないとインストールできないようになっているものがあります.

インストーラがファイルの関連付け(あるいは HKEY_LOCAL_MACHINE)を変更するために管理者権限を行使する場合もありますが,そういうわけでもなく,ただ単にファイルをインストールディレクトリにコピーしているだけのインストーラであれば,インストーラを管理者権限で起動する必要はないはずです.

私は,普段 Users グループのユーザでシステムにログインしているので,これは何とかして一般ユーザで済ませられないものかと考えてしまいます.

そこで思いついたのが Debianfakeroot と同じように,現在のユーザに関するの情報を返す Win32 API と同じシグネチャを持ち,「管理者で動作しています」と,偽の情報を返すラッパー DLL を作って,インストーラにそれを使わせる,という方法です.

ラッパー DLL を作るにあたって,まずは,インストーラが管理者権限で起動されたかどうかを判断するために呼び出す API がどれかを最初に調べる必要があります.現在調査中... 続きはまた次回,ということで.

コメント

名前(何でも可):

テキスト(http:// を含む内容は投稿できません):

トラックバック

トラックバック URI: https://www.pakunet.jp/hoge/trackback/2007011101

トラックバックはありません.


Valid XHTML 1.1! Valid CSS!
© 2004-2009 ぱくちゃん.
Last modified: Thu Nov 01 01:17:10 JST 2007