0

基盤となる Windows サービス (既に作成済み) と連携する Firefox 拡張機能を開発しています。

これまでの開発中に、インストーラー プログラム (FF 拡張機能とサービスをインストールするプログラム) で 1 つのバグに遭遇しました。これは、Vista のセキュリティ モデルが原因で、サービスをインストールして開始するには昇格された特権が必要でした。インストーラーを調整したところ、正常にインストールされるようになりました (追加の Vista 風の警告ダイアログがエンドユーザーに表示されるだけで、問題なく動作します!)

私は現在、既に作成した XUL と一緒にインストールされる XPCOM コンポーネントを開発中です。XPCOM への XUL JavaScript インターフェイスがあり、サービスの停止や開始などを試みます (たとえば、ユーザー構成データが変更された場合)。

私の質問:通常、FF はユーザー アカウントで実行されるため、 XPCOM を介して自分のサービスを開始または停止しようとすると、Vista または他の Windows フレーバーで問題が発生することはありますか?

(ユーザーがインストーラーを実行すると、Vista でセキュリティ ダイアログが表示されることは気にしません。しかし、ユーザーが XUL インターフェースで情報を変更しようとするたびに、これが発生することは絶対に望んでいません。)

これについて正しい方法は何ですか?

4

1 に答える 1

2

はい、サービスが管理者として実行されている場合、通常のユーザーとして実行されているFirefoxプロセスは、サービスを開始または停止できません。ただし、「sc」コマンドを使用して、インストーラーからサービスのアクセス制御を設定できるようです。つまり、管理者以外のユーザーがサービスを開始および停止できるようにすることができます。

「scsdset」を使用する必要があります。これは、 http ://technet.microsoft.com/en-us/library/cc742037%28WS.10%29.aspxに(簡単に)記載されています。

ただし、これを使用するには、「セキュリティ記述子定義言語」を読む必要があります。これは、複雑に見えます。http: //msdn.microsoft.com/en-us/library/aa379567%28VS.85% 29.aspx

このブログエントリには、人間が読める形式の情報が含まれているようです:http: //blogs.dirteam.com/blogs/jorge/archive/2008/03/26/parsing-sddl-strings.aspx

于 2009-10-13T16:05:04.817 に答える