我有一個安裝在多個遠程工作站上的Windows應用程序(用C#編寫),安裝由MSI包完成。C# - 一個Windows應用程序自動更新的方法
對於每次更新,我們會不時更新安裝程序並隨時更新程序,對於每個需要到達.MSI所在位置的站點,都會複製它並運行它,啓動應用程序。
我想這樣做:每當用戶嘗試啓動應用程序時,後臺進程將被初始化,以將安裝的版本與.msi位置上的最新版本進行比較,如果需要的更新將運行安裝並比啓動應用程序。
問題是,它不能從程序內完成,因爲在安裝/升級發生時程序無法運行。另一個考慮是,並非所有的電臺同時工作,所以我無法及時安排升級,並且在電臺啓動時無法完成,因爲有時需要在電臺已經運行時完成更新(電臺有幾個功能旁邊我的應用程序)。
我已經考慮了幾種方法,它似乎是一個Windows服務可以做的伎倆,但我不知道它是否可以「綁定」到程序的初始化,如果它可以暫停程序來做必要的檢查和更新,而不是重新啓動應用程序。
我願意接受所有的想法,所以請不要覺得有義務我的想法......
我是一個系統管理員,所以我會堅持現在的開槍步驟......我沒有完全明白你在說什麼,正確的方法是什麼? – petric
如果你足夠大,這是一個問題(不只是2-3次安裝),那麼基本上你應該有軟件清單和分配。最便宜的windows解決方案是使用活動目錄。 https://technet.microsoft.com/en-us/library/cc783635(v=ws.10).aspx在概念上解釋了這一點。 (使用Active Directory分配和發佈軟件)。 – TomTom
@TomTom,您認爲ClikcOnce是實施新技術,但推薦AD用於庫存。吃驚...... –