[雑記] Administrators グループのユーザであるフリをするには
世の中にはインストーラ付きのアプリケーションがたくさんあります.インストーラは,もちろん利用者にとっての利便性向上のためのものであり,それを享受する人は大勢いることでしょう.
しかしながら,それらのインストーラの中には,インストール処理中,あるいはインストールしたアプリケーションの実行中に何ら管理者権限を必要としないにも関わらず,インストーラ自身が管理者権限で起動しているかどうかをチェックし,管理者権限でないとインストールできないようになっているものがあります.
インストーラがファイルの関連付け(あるいは HKEY_LOCAL_MACHINE)を変更するために管理者権限を行使する場合もありますが,そういうわけでもなく,ただ単にファイルをインストールディレクトリにコピーしているだけのインストーラであれば,インストーラを管理者権限で起動する必要はないはずです.
私は,普段 Users グループのユーザでシステムにログインしているので,これは何とかして一般ユーザで済ませられないものかと考えてしまいます.
そこで思いついたのが Debian の fakeroot と同じように,現在のユーザに関するの情報を返す Win32 API と同じシグネチャを持ち,「管理者で動作しています」と,偽の情報を返すラッパー DLL を作って,インストーラにそれを使わせる,という方法です.
ラッパー DLL を作るにあたって,まずは,インストーラが管理者権限で起動されたかどうかを判断するために呼び出す API がどれかを最初に調べる必要があります.現在調査中... 続きはまた次回,ということで.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2007011101
トラックバックはありません.