Windowsのサービス上からinfファイルでドライバをインストールする方法

[戻る]
ヤマモト 2012/01/17(火) 12:52:21
Windowsのサービス上でinfファイルを使用してドライバ(フィルタドライバ)をインストール
する必要があります。
InstallHinfSection()を使用して通常のユーザモードで動くアプリでドライバのインストー
ルは成功したのですが、Windowsのサービスで同じ事をすると失敗しました。引数は以下の
とおりになります。

InstallHinfSection(NULL,NULL,infファイルのパス,0);

InstallHinfSection()を使用してドライバのインストールはできないのでしょうか?
また、他の方法でインストールする方法をご存知の方がいましたら教えていただけないでし
ょうか?

tetrapod 2012/01/18(水) 12:06:14
通常の Win32 Application でできて SERVICE でできないとしたら、権限だろう。
http://msdn.microsoft.com/en-us/library/aa376957(VS.85).aspx
権限がいるよ、と書かれている。

セキュリティホールになるので
安直に SERVICE にいろんな権限を与えてはならないので要注意。
そもそも「サービスでインストール」つー要件が良くわからん。
インストールするのはインストーラの役目。

インストール済みフィルタドライバを有効無効にするとか、
インストール済みフィルタドライバに透過モード調理モードを指示するとか
普通はそっちぢゃないの?

ヤマモト 2012/01/19(木) 10:13:53
返信ありがとうございます。
通常は、インストーラ側でドライバのインストールを行っています。

作成しているプログラムはアップデートの機能があり、今回のドライバインストールの件は
後からの追加機能になります。 追加後のインストーラにはもちろんインストーラ側でドラ
イバのインストールを行いますが、旧バージョンを使用しているユーザがアップデートでド
ライバを組み込む場合、どうしてもプログラム側で反映させる必要があるので今回の質問を
しました。

ドライバをコントロールしているのが、新規のサービスプログラムになるので、このサービ
スプログラムを登録後の初回起動で、ドライバのインストールを行うのが簡単な方法だと考
えています。

古いスレッドには追加発言できません。