C# で Windows サービスを作る練習として
Perl 版
を C# に移植してみました。何かのサンプルにどうぞ。。。
ソースを置いておきますので、改変してお使い下さいませ。
なお、きちんとした DynDNS の更新プログラムが欲しい方は、
DynDNS
で高機能なものが配布されています。是非、そちらを使うことをお勧めいたします。
万一、そのまま使おうという方のために一応説明だけ。。。
なお、動作させるには .NET Framework 2.0 が必要になりますし、もし、インストールされていない場合は悲しいことになるです。
さらには、セットアッププログラムが、プログラムを格納するディレクトリに Everyone に対するフルアクセス権を追加するうえ、
サービス自体も Local System 権限で動くので、かなりお行儀が悪いです。やっぱり使うのは止めた方が。。。
おまけに、申し訳ありませんが、プログラムの動作に関しては一切保証できませんので、すべて自己責任でお願いいたします。
(今回ばかりは胸を張って言える。。。)。
下の ソースおよびプロジェクト一式 からダウンロードしたファイルを展開し、管理者権限で SetupUpdateDynDNS\Release\InstallUpdateDynDNS.exe を実行してください。セットアッププログラムが起動しますのでウィザードに従いインストールします。
インストール終了後に設定用の ini ファイルが(たぶん)開きますので、
DyndnsUsername にログインユーザ名、DyndnsPassword にログインパスワード、DyndnsMyHostname に DynDNS に登録してある自ホスト名
を設定してください。
もし、ini ファイルが開かれない場合、インストールフォルダ下の UpdateDynDNS.exe.ini をメモ帳などで開き、編集してください。
[コントロールパネル] - [管理ツール] - [サービス] で Update DynDNS というサービスを開始してください。
うまく動かない場合は申し訳ありませんがあきらめてください。。。
アンインストールは [コントロールパネル] - [管理ツール] - [サービス] で Update DynDNS を停止させ、
[コントロールパネル] - [プログラムと機能] で Update DynDNS をアンインストールしてください。
Visual Studio 2005 で作成しました。サービス部分は C# で書いています。が、 セットアッププロジェクトで作成した MSI を起動するためのラッパプログラムは C++ で書いてあります。言語がバラバラですみません。