こんにちは、初めまして。
開発環境:WinNT4.0SP3 VC++6.0
ATL COM AppWizardを使用して
サービスプログラムのEXEファイル(SERVICE.EXE)を作りました。
次にコマンドプロンプトで、「SERVICE.EXE /Service」とコマンドを実行して
サービスに登録しようと試みました。
しかし、Win2000、WinNT4.0SP6、
それとVisual StudioがインストールされたWinNT4.0SP4のPCには登録できましたが、
Visual StudioがインストールされていないWinNT4.0SP4のPCには登録ができませんでした。
DLLに問題があると思い、調べてみましたが、
必要を思われるDLLはSyste32フォルダの下に全てありました。
どなたか原因、解決策をご存知の方、ご回答よろしくお願いします。
登録時のログインユーザーは、権限を持っているユーザーでしょうか?
あと、登録できなかったときにどういうエラーが出たのか具体的に
調べた方が良いのではないかと思います。
PATIOさん>
ご回答ありがとうございます。
登録時のログインユーザーは権限を持ったユーザーです。
> あと、登録できなかったときにどういうエラーが出たのか具体的に
> 調べた方が良いのではないかと思います。
申し訳ありません。説明不足でした。
どのOSを使用していても、「SERVICE.EXE /Service」コマンド実行時に
エラーは発生しません。
(CreateServiceが失敗したらダイアログが表示される作りになっていますが、
このダイアログは表示されません)
ですが、全く同じ操作をしているにも関わらず、
Visual Studioがインストールされいる環境とそうでない環境で動きが違うのです。
(つまりサービス登録がされない)
追記です。
PCのHDDをフォーマットし、WinNT4.0 SP6をインストールし直し、
その状況(Visual Studioをインストしない)で、「SERVICE.EXE /Service」コマンドを
実行してみたら、この場合でもサービスが登録されませんでした。
解決しました。
「ビルド」の「アクティブな構成の設定」を「Debug」から「Release MinDependency」に変更
すれば良かっただけだったみたいです。
どうもお騒がせしました。