ClickOnce仍然是Windows Forms應用程序部署的方式嗎?ClickOnce仍然是Windows Forms應用程序部署的方式嗎?
我剛剛一直在尋找的書,涵蓋ClickOnce部署,有似乎沒有很多都在那裏,那是那些有幾年的歷史(?)。
其他注意事項重新我在做什麼:
- 一個可執行文件和一個數據庫文件(SQLite)
- 數據庫(SQLite的)將需要由應用程序有時會更新(例如添加表中,添加列)
- 數據庫中的數據(這只是SQLite的文件),需要保持整個過程的升級
ClickOnce仍然是Windows Forms應用程序部署的方式嗎?ClickOnce仍然是Windows Forms應用程序部署的方式嗎?
我剛剛一直在尋找的書,涵蓋ClickOnce部署,有似乎沒有很多都在那裏,那是那些有幾年的歷史(?)。
其他注意事項重新我在做什麼:
的ClickOnce仍然是一個驚人的技術。它會從您身邊處理大量繁重的工作,但會帶走一些可用於Windows Installer的自定義設置。
從MS的話直接,克服的ClickOnce部署三個問題:在更新應用程序
困難。使用Microsoft Windows Installer部署時,每當應用程序更新時,用戶都必須重新安裝整個應用程序;通過ClickOnce部署,您可以自動提供更新。只有應用程序已更改的那些部分纔會下載,然後從新的並排文件夾重新安裝完整的已更新應用程序。
對用戶電腦的影響。在Windows Installer部署中,應用程序通常依賴於共享組件,並存在版本衝突的可能性;通過ClickOnce部署,每個應用程序都是獨立的,不會干擾其他應用程序。
安全許可。 Windows Installer部署需要管理權限,並且只允許有限的用戶安裝; ClickOnce部署允許非管理用戶安裝並僅授予應用程序所需的那些代碼訪問安全權限。
我推薦給這個徹底的閱讀:MSDN - ClickOnce Deployment。另外,如果Google(Chrome)足夠好,對我們大多數人來說已經足夠了;)
這取決於你需要部署什麼;如果是,可能具有幾個內容文件的一個可執行那麼是的,但如果你需要自定義腳本,安裝服務等。然後我會強烈建議尋找到Windows Installer。如果你有侷限性OK
對於一個可執行文件和一個數據庫文件(sqlite),假設數據庫(sqlite)需要有時由應用程序進行更新(例如添加表,添加列),並且數據需要在整個升級過程中保持不變 - 會在這裏爲沒有管理員權限的用戶點擊工作? – Greg 2010-03-02 23:40:10
已添加最後一個問題作爲它自己的權利問題http://stackoverflow.com/questions/2369025/clickonce-does-writing-reading-to-the-data-directory-required-admin-rights – Greg 2010-03-03 05:46:06
ClickOnce是偉大的。如果你有一個Windows應用程序,並不需要全面的MSI過度設計的瘋狂,通過各種手段使用的ClickOnce。
的ClickOnce負責自動更新的,它需要以前的版本和回滾的照顧。 ClickOnce安裝/卸載需要幾秒鐘,比傳統MSI快得多。好處很多,所以如果你對約束條件滿意,通過一切手段你應該使用它。
答案也可能取決於您部署的位置?您是否正在爲公司編寫內部使用的應用程序,每個人都可以訪問可以部署ClickOnce的互聯網共享?如果是,那麼ClickOnce很棒。
如果您正在嘗試編寫用於一般消費的收縮包裝軟件,那麼創建一個可以提煉爲MSI的部署項目,或者甚至使用InstallShield或NSIS這樣的產品(它是否仍然存在?)可能會更好選項。
是的,但整個CAS的東西在.NET4中消失 – 2010-03-02 18:17:18
沒錯,但在前兩點之間,我仍然認爲這是值得的。 – 2010-03-02 18:20:17