我必須承認,我喜歡 Windows? Update 功能。 在我的計算機開機的時間中,大約有 85% 的時間都連接到了 Internet 上,但是,像許多人一樣,我當然不會這么多時間都在使用網絡。 Windows xp 利用了這一未用的帶寬,將網上可用的最新服務包和修補程序與我計算機上已安裝的服務包和修補程序進行比較。 假如它找到了我需要的更新,便會在后臺將它們下載下來。 完成后,Windows 會通知我計算機上有需要安裝的新軟件包。
假如可以選擇的話,我希望讓客戶端上的每一個應用程序都像 Windows 一樣答應自動更新。 現在有許多有利的條件以及現成的連接來實現這一功能。 假如要使應用程序自動進行自我更新,必須編寫代碼來處理發現、下載、安全性以及替換等方面的問題。
為了處理實際的下載,我將介紹 Windows 的一項新功能:后臺智能傳輸服務 (BITS)。 在討論此功能之后,我將介紹 .NET Framework 中可用來解決自動更新應用程序的安全性和替換問題的功能。
請注重,雖然 BITS 1.5 可重新發布軟件可以很好地工作在 windows 2000 和 Windows XP 上,但是 Microsoft 不打算在 Windows 9x 或 Windows Me 上支持 BITS API。 BITS 有望作為 Windows 的將來版本的一個組件提供。
安全可能是首當其沖的一個問題。 請花一點時間想一想 Windows Update 功能。 它的一個主要目的是獲取安全修補程序。 想想,假如 Windows Update 自身都不能確認它安裝的是否是安全的代碼,情況會怎么樣? 顯而易見,從 Internet 上下載代碼并執行該代碼的任何應用程序都必須將安全性作為一個首要問題。 因此,我將探討如何確保自動更新應用程序的安全性。