> 現在、サービスのインストーラを作成中です。 そうですか、インストーラを作ってるんですね。 やっと、やりたいことがわかりました。
> 2についてはいまだに模索中です。 > CreateService()の戻り値で権限チェックは行えるのですが、 > インストールするモジュールが所定位置へ転送される前のため、 > タイミング的に無理というわけです。 > 何かよい方法をご存知ないでしょうか?
先に所定のところへ、送ってやるってのはダメなのでしょうか? インストールがキャンセルされれば、ファイルを消せばいいわけ だし。 一旦Tempにコピーして、CreateServiceして、OKだったら DeleteServiceして、本来の場所にコピーして、 再びCreateServiceするとか。 どっちにしても、余りいい方法じゃないですね。
でも、そうしないと、セキュリティ(アカウント・権限)関連の APIを調べないと、いけないでしょうね。
少し調べてみましたが、かなり時間がかかりそうです。 多分、英語のドキュメント等も読む必要が出てくるでしょう。 そんな時間も無いので、今回は僕ではお力になれそうに ありません。
最後にMSがIsAdminというサンプルを出してます。 ヒントになるかどうかわかりませんが、一度目を通されたほうが いいかも。 Q118626 - HOWTO: Determine Whether a Thread Is Running in User Context of Local Administrator Account
|