2013-07-17 57 views
0

問題:確定啓動時應用程序的客戶端版本

我們有一個C#應用程序,.NET 3.5,它在客戶端計算機上手動更新。不要問,我們不能做一次點擊部署。

當創建新的構建並且客戶端尚未更新時,我想提醒客戶端(啓動時)應用程序已過時,並且在繼續之前必須獲取新的構建版本。

我感興趣的人可能用來解決同樣的問題,什麼樣的方法(限制客戶端使用舊版本)

謝謝 - 格倫

+0

它是客戶端服務器應用程序嗎?登錄前是否連接到服務器? – Ehsan

回答

0

您需要創建一個Web服務,這將返回當前應用版本。該服務必須安裝在可供客戶致電的位置。

然後,您需要添加對服務的調用,並根據服務的版本檢查正在運行的應用程序版本。

+0

有趣的方法 - 除了驗證程序集外,我還要回顧這個選項。簡單地驗證程序集的問題是,你還沒有什麼可以比較的。謝謝 – user2284452

+0

亞歷山大 - 我會考慮將Web服務方法與客戶端進行驗證相結合。一個問題是我們跟蹤由TeamCity提供的客戶端構建#。感謝您的想法。格倫 – user2284452

0

我們的應用程序已連接到數據庫,並且我們確保在應用程序啓動時應用程序的版本與數據庫中記錄的版本相匹配。如果不匹配,則顯示給用戶的消息。如果你的應用程序沒有連接到數據庫,我想它可以與WCF服務進行通信以獲取最新版本。我看到人們只是從共享驅動器中檢索文件並從中讀取文件中的值。這要求所有用戶都可以使用共享的UNC路徑,這並不總是方便的。

+0

謝謝邁克爾 - 我也曾使用過這種方法。在這種情況下,我想在連接到目標數據庫之前驗證客戶端。 Glenn – user2284452

0

您是否使用ClickOnce分發您的應用程序?如果是,您可以在發佈之前指定所需的最低版本。

如果不是,您可以管理可執行文件的版本並在啓動時檢查它。例如:

Assembly assembly = Assembly.GetExecutingAssembly(); 
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location); 
string version = fvi.FileVersion; 
+0

我在我的描述中稱它爲一次點擊,但沒有,ClickOnce或一次點擊不被使用。 – user2284452

+0

ClickOnce不僅用於部署應用程序,更是用於分發給最終用戶。 –

相關問題