プロが教えるわが家の防犯対策術!

VC++2008にてプログラムを作成しています。

現在、ダイアログベースで作成していたプログラムを、
サービスプログラムへ変更しようとしているのですが、
サービスプログラム自体を作成したことがなく、
いろいろネットで読んでみたのですが、
分からないところがありすぎて困っています。

ちなみに、現在のダイアログベースのプログラムは、
CAsyncSocketとマルチスレッドを使用して
クライアントPCと相互通信をするものです。
PostgreSQLアクセス用のODBCプログラムもあります。
(ですので、当然ながらダイアログは必要ありません)

まず、VisualStudioにて新規プロジェクト→
Windowsサービスを選択し、プロジェクトを作りました。
元のプログラムから、cpp/hファイルを移行し、
CString等の変数をしようしているため、
stdafx.hに、

#define _AFXDLL
#include <afxwin.h>

上記を追記し、ビルドしました。
Setupプロジェクトも追加し、
カスタム動作のインストール、アンインストールに、
プライマリ出力を追加し、引数をそれぞれ、
/Service、/UnregServerにし、インストールしてみましたが、
管理ツールのサービスには登録されませんでした。
Serviceプログラムがいけないのかと思い、
単純に新規プロジェクトを作成し、
Setupプロジェクトを追加して、設定したあと、
インストールしてみましたが、これでも登録されていませんでした。

なにか、他に設定等が必要なものがありますでしょうか?


Windowsサービスでの作成については、
ネットに載っているのを見つけられなかったのですが、
ATLでのサービスにも挑戦してみました。
しかし、<afxsock.h>をインクルードする手段が
みつからず、断念しました。

どちらかの手段で、サービスプログラムを
作成したいのですが、上記問題について、
アドバイスでもよろしいので、よろしくお願いします。

A 回答 (2件)

どっかで失敗してるかもしれないので、


printfなり挿入してエラーも無く完了してるかを見てみたらどうでしょう?

この回答への補足

Windowsサービスの新規プロジェクト+
Setupプロジェクトのみで、他に何もクラス等を
追加しない状態で、インストールしてみましたが、
サービス登録がされません。
現時点では、私が作成したプログラムの問題以前に、
Setupプロジェクトの設定の問題のように思われるのですが。。。

補足日時:2009/06/07 12:12
    • good
    • 0

> /Service、/UnregServerにし、インストールしてみましたが、


xxxWinService.cpp が自動生成されてないですか?
この中の_tmain()の前に
//サービスをインストールまたはアンインストールするには、"xxx.exe -Install [-u]" と入力してください。
という注釈があります。
_tmain()でサービス登録/削除をしています。

この回答への補足

ご指摘の注釈はプロジェクト作成時に確認し、
「-Install」または「/Install」も試してみたのですが、
やはり、サービスには登録されていませんでした。

補足日時:2009/06/07 00:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!