我正在將一個應用程序部署到未知數量的客戶端。這將是5-10開始,最終打幾打。我正在考慮爲每個客戶端創建一個不同的Web文件夾,以便我可以控制更新並逐步推出。使用.NET One-Click部署有任何主要問題嗎?
單擊單擊部署是否存在任何主要的已知問題?我會在高爾夫之後不久自殺嗎?
我正在將一個應用程序部署到未知數量的客戶端。這將是5-10開始,最終打幾打。我正在考慮爲每個客戶端創建一個不同的Web文件夾,以便我可以控制更新並逐步推出。使用.NET One-Click部署有任何主要問題嗎?
單擊單擊部署是否存在任何主要的已知問題?我會在高爾夫之後不久自殺嗎?
我們已經在這裏使用ClickOnce 3或4年的更好的一部分,並且從未遇到任何重大問題。
唯一輕微我們經歷的問題是用代碼簽名的ClickOnce中的Visual Studio 2005的版本 - 應用程序會失敗,如果CS證書改爲運行,我們不得不卸載/重新安裝。但自Visual Studio 2008以來,這一點已經得到解決,我還沒有注意到任何其他問題。
ClickOnce是相當有限相比到MSI安裝程序或其他類型的安裝程序的 - 你不必預安裝和安裝後的操作,註冊表項,在啓動註冊等一個令人難以置信的強大的系統,但是這因爲ClickOnce部署旨在在低特權環境中運行。
首先,必須爲給定工作站上的每個用戶安裝ClickOnce部署的應用程序。無法通過ClickOnce爲所有用戶安裝。這是因爲ClickOnce部署的應用程序安裝在用戶的配置文件文件夾下,而不是在「Program Files」文件夾下。
非常有幫助。享受你的讚賞。 – Yoenhofen 2010-05-04 21:00:57
我認爲在你的模型中可能會讓你瘋狂的是追蹤可能的幾十個版本。 ClickOnce不會成爲你的問題。
是的,我們最終可能會限制到幾個文件夾。或者創建指向相同文件位置的不同虛擬目錄。我只是想確保我有選擇。 – Yoenhofen 2010-05-04 21:01:50
你可以做到這一點,所以你只需要跟蹤一個版本;只需更新每個連續部署的最低版本並強制更新即可。 ClickOnce實際上比其他工具更容易。雖然如果他想爲每個客戶提供不同的版本/分支,那麼我想這是一個單獨的問題。 – Aaronaught 2010-05-04 21:04:59
ClickOnce沒有任何您需要擔心的重大問題,它確實做得很好。但是,您將遇到許多挑戰,以使其適合多個客戶。
'客戶'我認爲你的意思是'客戶'?並且每個客戶都有ñ用戶誰將每個安裝您的應用程序?
你和MAGE將需要成爲朋友。爲什麼?理想情況下,您希望創建一個已發佈的構建(已通過構建機器上的所有測試並已通過質量檢查),因此您希望從此構建中爲每個客戶端創建一個單獨的部署。爲此,需要至少更改InstallUrl和UpdateUrl MsBuild值,因爲它是每個客戶端的不同Web目錄。
只要您進行這些更改,ClickOnce將不再安裝應用程序,因爲一個或多個文件已被修改。此時,您可以使用MAGE重新生成應用程序清單(例如myApp.exe.manifest),然後使用部署清單(例如myApp.application)。我發現的一個問題是,您需要將「應用程序文件」目錄更改爲「ApplicationFiles」。
我們正在做這件事,拿出一個發佈的版本,然後爲不同的站點創建幾十個「部署」,每個站點都有不同的配置信息,比如web service url。
需要相當長的一段時間才能正常工作,然後有更多的時間來自動化它......如果我要說一個'必須做',那將確保您使用批處理文件或一個命令行應用程序...並不重要如何自動化它只是確保它。
祝你好運!
我們在全球擁有數千名客戶,並且一直在使用ClickOnce部署,並在2-1/2年取得巨大成功。我們看到的唯一問題是防火牆和防病毒軟件,即使這種情況相當罕見。
應用程序絕對必須簽名嗎?如果我不簽名應用程序會發生什麼? – Yoenhofen 2010-05-04 21:00:20
@Yoenhofen:這不是需要簽名的應用程序,而是ClickOnce軟件包本身。這確實需要簽署,請看這裏:http://msdn.microsoft.com/en-us/library/ms172240(VS.80).aspx。如果您沒有「真實」證書,那麼它會爲您生成一份自簽名證書。 – Aaronaught 2010-05-04 21:03:15
您不必簽署軟件包,但如果您不這樣做的話,這是一個巨大的安全漏洞。它基本上使C/O能夠確保沒有人篡改或移動您的部署軟件包。 另一個評論 - 他們修復了.NET 3.5 SP-1和.NET 2.0 SP-1中的證書問題(如果使用自動更新)。如果使用編程方式,您仍然會遇到問題。他們已經修復了所有的.NET 4.0。這裏有一篇文章解釋: http://msdn.microsoft.com/en-us/library/ff369721.aspx – RobinDotNet 2010-05-06 06:02:17