2009-05-13 4 views
3

非常に簡単な自動アップデータを私のアプリケーションに追加したいと思います。私は仕事が簡単なものから始めたいと思っています。新しいバージョンを確認する非常に簡単なアップデータを実装するための提案

どうすればよいですか? 以下のオプションの改善(または代替)の提案はありますか?

私が検討しているオプションが1つあります。

  1. は、Appは再びすべてのX日をチェックするためのオプション で、新しいバージョンのための チェックに提供するフォームを表示します。
  2. ユーザーは、 "今すぐ確認" それ は、ウェブページを立ち上げ www.mysite.com/CheckNewVersion.asp?AppID= <>?のappversion = <>
  3. をクリックするとASPスクリプトは、すべてのリストを持っています プログラムIDと現在利用可能なバージョン があります。その後、「 バージョンが利用できません」または「新しいバージョン XYZ機能/修正」( 「無料アップデート」または「ここをクリック」)というページが と表示されます。

これは、コストの10%のみで自動更新の80%を提供します。誰もが自動更新をクリックしていない場合(そして私は人々が煩わされたくないという可能性があると思っています)、単純にするのは無意味です。簡単に「更新」ボタンをクリックする必要がないようにする方法はありません。

ところで、私はSOが、実装の詳細を議論しなかったのと同様の問題があることを実感します。より理論的で、より洗練されたソリューションを目指していました。マックOS Xでは

+0

ない問題がどこにあるか確認してください? –

+0

VB6? VB6?!?! OMG、2009年ですよね?待って...真剣に... VB6 ??? – Seb

+1

今は約12歳です(VB3で始まりました)彼らは縮小ラップアプリです。これまでのところ、ゼロから書き直す正当な理由がありました。私たちが待つ時間が長くなるにつれて、VB6からVB.netへの変換器が得られ、変換に必要な収入が増えます。 –

答えて

1

、スパークルのフレームワークでは、自動更新のアプリの中で非常に人気があります。それはこのように、やや動作します:

ユーザーがアプリを初めて起動したとき、それは自動的にか更新をチェック(と時々チェックの間隔)するかどうかを尋ねます。ユーザーが更新を確認するように指示すると、アプリは通常、起動時に1日に1回だけ更新をチェックします。

サーバーには、利用可能なソフトウェアバージョンと各バージョンの短い概要または変更履歴を含むこのようなファイルを生成するXMLファイルまたはスクリプトがあります。利用可能なアップデートがない場合、アプリはは何もなしです。ユーザーはAT ALLに通知されません。

アップデートが利用可能である場合には、アプリが要求されます:新しいバージョン番号、変更履歴および以下のボタンと「更新が利用可能である」:「更新」と「このバージョンをスキップ」。

もちろんボタンは自明です。

2

(私自身これらのいくつかを構築した後)私の提案は、わずかに異なるシステムから始めることです。アプリケーションがサーバー上の静的なXMLファイル(例:/AppVersion_[AppID].xml)を見て内部的にチェックを実行させるxmlファイルは現在のビルド/バージョン番号とおそらくタイムスタンプとフルパス最新のバイナリとMD5チェックサムに変換します。これは多くの仕事と複雑さを減らすことになります。

アプリケーションはこのXMLファイルをプルダウンし、ファイル内のバージョン情報を現在のバージョンと比較します。新しい場合は、ユーザーにアップグレードを促すフレンドリーなダイアログボックスを表示することができます。

アップグレードを希望する場合は、XMLバイナリのパスからセットアップバイナリをプルダウンし、MD5チェックサムをチェックしてからshell executeを実行して起動します。これにより、ユーザーはファイルをダウンロードする必要がなくなり、問題なくファイルがダウンロードされます。

私は次のような理由からVB.NETにVB6からアップグレードすることをお勧め:

1)1行と同じくらい簡単にURLの文字列の内容を取得します.NETのBCLと呼ばれるWebクライアントで魔法のような制御コール。また、WebClientは、1回の呼び出しで指定されたディスクの場所にファイルをダウンロードします。

2)ビルトインXMLサポートは素晴らしいです。

はここにあなたのソフトウェア製品のいずれかをダウンロードし、それを実行しますあなたはそれを始めるためにいくつかの基本的なVB.NETコードです:

Dim TargetRemoteSetupFile As String = "http://www.bungalowsoftware.com/downloads.asp?programlist=/download/aphasia_tutor_1_and_2_outloud_install.exe" 
Dim LocalDownloadPath As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "BungalowSoftwareInstall.exe") 

Dim FileDownloaderWebClient As New System.Net.WebClient() 

Try 
    FileDownloaderWebClient.DownloadFile(TargetRemoteSetupFile, LocalDownloadPath) 
Catch ex As Exception 
    System.Diagnostics.Debugger.Break() 
    '... 
Finally 
    FileDownloaderWebClient.Dispose() 
End Try 

System.Diagnostics.Process.Start(LocalDownloadPath) 
関連する問題