ユーザーが自分のパソコン上で「プログラム更新」のボタンを押すと自動でネットに接続し、自動でサーバーからプログラムをダウンロードし、自動で更新が行われるようにするシステムを作るにはどのような技術(手順)が必要なのかを解説したサイトが有れば教えて下さい。一応開発環境を記載するとVBもしくはDelphiです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/01/05 10:14:32
  • 終了:--

回答(2件)

id:aki73ix No.1

aki73ix回答回数5224ベストアンサー獲得回数272004/01/05 11:04:33

ポイント30pt

URLはダミーです

モジュールで配布してるサイトはないと思います、やはり自分で作らないと技術は身につかないので、手順だけ説明します。

私が作ってるソフトは下記手順の中間的なものになっています

【中級者向け】

・アップデートサーバーに接続して、バージョンを確認するHTTPよりTELNETやUDPを使って接続したらバージョンをサーバから送らせるだけにしておくと簡単。

・バージョンアップがあれば、ShellexecやCreateProcessで explorer.exeを呼び出して直接URLを渡してダウンロードさせる。ダウンロードしたファイルはアップデートプログラムを組み込んでおき、これが実行されると更新するようにしておく

【上級者向け】

・まずサーバーに接続するためにHTTPリクエストを送信してデータを受信する処理部分を作ります。PROXYなどの指定も自分でしてやらなくてはなりません

・ダウンロードが終わったら、ファイルの整合性を確認して、必要があれば、ファイルを自分で解凍する。バージョンが新しいか古いか確認も必要。これはCGIなどで工夫すれば容易

・ファイルを上書きコピーする。解凍したファイルが実行ファイルで、自分のシステム上で既に実行されていて上書きできない場合は、一度本体のシステムを終了させるようにするか HKEY¥USER_LOCAL_MACHINE¥SOFTWARE¥Micro soft¥WINDOWS¥CURRENTVERSION¥RUNの自動起動を利用して、次回のWindows起動時にコピーするようにレジストリをセットして、PCを再起動させる

id:megaten

早速の回答有難う御座います。

自分はプログラム言語の詳細までは解らないのですが、これはそういったプログラム(VBなど)を組むことで実現可能ということでしょうかね。

2004/01/05 17:38:06
id:Cappuccino No.2

Cappuccino回答回数27ベストアンサー獲得回数02004/01/05 16:51:00

ポイント30pt

http://www.microsoft.com/japan/msdn/vstudio/

Microsoft Visual Studio ホームページ

URLはダミー・・・かな。

VBの場合、思いつく方法として、Winsockコンポーネントを用いてTCPもしくはUDPによるファイル転送を独自に組む方法がひとつ。

IEのコンポーネントやInetコンポーネントを用いてファイル転送部を簡略化すればもっと楽だと思います。

ファイルの更新の確認としては、WEBサーバ上に特定の更新するたびに書き換えるファイルを配置し、そのファイルを読み込む(DLする)ことで解決できると思います。

ファイル名がバージョンアップのたびに変更になるような場合は、そのファイル名も含めた情報をそのファイルに含めるとよいと思います。

Delphi6までの場合、TClientSocketを使うと簡単にTCPの通信を行えると思います。

Delphi7の場合、TClientSocketはなくなってるので、別のコンポーネント(たとえばTTcpClientとか)を使うことになります。

TCPでWEBサーバからファイル等情報を取得するには、TCPでサーバとの接続を行って、接続が確立したあとに、以下のように送信します。

GET /

上の場合、サーバのルート(普通はindex.htmlとかindex.htm)を取得することになります。以下、相対フォルダで指定します。たとえば、

http://www.microsoft.com/japan/msdn/vstudio/

Microsoft Visual Studio ホームページ

を取得したい場合、TCPでwww.microsoft.com ポート80に接続し、

GET /japan/msdn/vstudio/

と送信すればいいわけです。

id:megaten

有益な情報を有難う御座いました。

2004/01/05 18:33:36

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません