投稿者 nin  (社会人) 投稿日時 2013/11/18 12:56:47
なかなかあきらめない回答いいですね・・・。
で、素人ジジイながら、考えてみました

大初心者様もインターネットをされているので、プロパイダ契約されて
いると思います。通常、メールと、ホームページのエリアが付属で付いて
いると思います
ホームページのエリアに更新情報を置いて、プログラム起動時に、チェック
するようにします
通信手段としては、ホームページのアクセスで使う、HTTPプロトコロルか
データのアップダウンで使う、FTPプロトコロルかのどちらかを利用する
ことになります。(HTTPのほうが、ブロックされにくいので、問題は少ない
と思います)

一応FTPでの手順では、以下のような感じです
更新情報を一旦ファイルとしてダウンロードしてから開いています
多分、一旦ファイルにしなくてもいいように思いますが、その編は、詳しく
ありません。

ftpで通信できる環境があるのでしたら、まず、フリーのftpツールを使って
通信できるか確認してください

バージョン情報を記載したファイル

version.txt を準備します
中身は、数字のみ (数字の1~)

   Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim FTPEr as Integer

    FTPEr = Ftpdl("version.txt","version.txt")
    
    IF FTPEr = 0 Then
    
 'ダウンロードファイルを読み込みます
        If System.IO.File.Exists(Application.StartupPath + "\version.txt") Then
            Dim Reader As New IO.StreamReader(Application.StartupPath + "\version.txt")
            Dim version as Integer = Reader.ReadLine
            Reader.Close()
            
            If version >現在のバージョン Then 
               MsgBox("最新バージョンが存在します")       
               起動させない情報を入れる
            End if
         Else
            MsgBox("ファイルが存在しません")
        End If
 

    Else
    Msgbox("ダウンロードエラーです")

    End If


    End Sub

   Private Function Ftpdl(ByVal FileNam As String, ByVal LFileNam As String) as Integer


        Dim UserName As String = "ログインユーザ名"
        Dim UserPass As String = "ログインパスワード"
        Dim ServerName As String = "ftp://xxxxx あなたのホームページのアドレス" & FileNam
       
        Dim u As Uri
        u = New Uri(ServerName)
        'ダウンロードしたファイルの保存先
        Dim downFile As String = Application.StartupPath + "\" + LFileNam

        'FtpWebRequestの作成
        Dim ftpReq As System.Net.FtpWebRequest = _
            CType(System.Net.WebRequest.Create(u), System.Net.FtpWebRequest)
        'ftpReq.ReadWriteTimeout = Val(Form1.TextBox18.Text)
        'ftpReq.Timeout = Val(Form1.TextBox19.Text)
        'ログインユーザー名とパスワードを設定
        ftpReq.Credentials = New System.Net.NetworkCredential(UserName, UserPass)
        'MethodにWebRequestMethods.Ftp.DownloadFile("RETR")を設定
        ftpReq.Method = System.Net.WebRequestMethods.Ftp.DownloadFile
        '要求の完了後に接続を閉じる
        ftpReq.KeepAlive = True
        'ASCIIモードで転送する
        ftpReq.UseBinary = False
        'PASSIVEモードを無効にする
        ftpReq.UsePassive = True
        On Error GoTo nuke
        'FtpWebResponseを取得
        Dim ftpRes As System.Net.FtpWebResponse = _
            CType(ftpReq.GetResponse(), System.Net.FtpWebResponse)
        'ファイルをダウンロードするためのStreamを取得
        Dim resStrm As System.IO.Stream = ftpRes.GetResponseStream()
        'ダウンロードしたファイルを書き込むためのFileStreamを作成
        Dim fs As New System.IO.FileStream( _
            downFile, System.IO.FileMode.Create, System.IO.FileAccess.Write)
        'ダウンロードしたデータを書き込む
        Dim buffer(1023) As Byte
        While True
            Dim readSize As Integer = resStrm.Read(buffer, 0, buffer.Length)
            If readSize = 0 Then
                Exit While
            End If
            fs.Write(buffer, 0, readSize)
        End While


        fs.Close()
        resStrm.Close()

         '閉じる

        ftpRes.Close()
        ErrFTP = 0
Return ErrFTP
        Exit Sub
nuke:
        ErrFTP = 1
Return ErrFTP

    End Sub