ClickOnce 部署概述
http://msdn.microsoft.com/zh-cn/library/142dbbz4(v=vs.80).aspx
ClickOnce 部署概述
.NET Framework 2.0 其他版本- Visual Studio 2008
- .NET Framework 3.0
- .NET Framework 3.5
ClickOnce 是一種部署技術,使用該技術可創建自行更新的基于 Windows 的應用程序,這些應用程序可以通過最低程度的用戶交互來安裝和運行。ClickOnce 部署克服了部署中所固有的三個主要問題:
-
更新應用程序的困難。 使用 Microsoft Windows Installer 部署,每次應用程序更新,用戶都必須重新安裝整個應用程序;使用 ClickOnce 部署,則可以自動提供更新。只有更改過的應用程序部分才會被下載,然后從新的并行文件夾重新安裝完整的、更新后的應用程序。
-
對用戶的計算機的影響。 使用 Windows Installer 部署時,應用程序通常依賴于共享組件,這便有可能發生版本沖突;而使用 ClickOnce 部署時,每個應用程序都是獨立的,不會干擾其他應用程序。
-
安全權限。 Windows Installer 部署要求管理員權限并且只允許受限制的用戶安裝;而 ClickOnce 部署允許非管理用戶安裝應用程序并僅授予應用程序所需要的那些代碼訪問安全權限。
過去,這些問題有時會使開發人員決定創建 Web 應用程序而不是基于 Windows 的應用程序,為便于安裝而犧牲了 Windows 窗體豐富的用戶界面和響應性。對于使用 ClickOnce 部署的應用程序,您可以集這兩種技術的優勢于一身。
什么是 ClickOnce 應用程序?
簡單說來,ClickOnce 應用程序就是任何使用 ClickOnce 技術發布的 Windows 窗體或控制臺應用程序。可以采用三種不同的方法發布 ClickOnce 應用程序:從網頁發布、從網絡文件共享發布或是從媒體(如 CD-ROM)發布。ClickOnce 應用程序既可以安裝在最終用戶的計算機上并在本地運行(即使當計算機脫機時也可以運行),也可以僅以聯機模式運行,而不在最終用戶的計算機上永久安裝任何內容。有關更多信息,請參見選擇 ClickOnce 部署策略。
ClickOnce 應用程序可以自行更新;這些應用程序可以在較新版本變為可用時檢查較新版本,并自動替換所有更新的文件。開發人員可以指定更新行為;網絡管理員也可以控制更新策略,如將更新標記為強制性的。最終用戶或管理員還可以對更新進行回滾,使應用程序恢復到早期的版本。有關更多信息,請參見選擇 ClickOnce 更新策略。
因為 ClickOnce 應用程序在本質上是被隔離的,所以安裝或運行 ClickOnce 應用程序不會干擾現有的應用程序。ClickOnce 應用程序是完全獨立的;每個 ClickOnce 應用程序都安裝到一個安全的基于每個用戶、每個應用程序的緩存中,并從該緩存運行。默認情況下,ClickOnce 應用程序運行在 Internet 或 Intranet 安全區域中。如果有必要,應用程序可以請求提升的安全權限。有關更多信息,請參見 ClickOnce 部署和安全。
ClickOnce 部署的工作方式
核心 ClickOnce 部署結構基于兩個 XML 清單文件:一個應用程序清單和一個部署清單。
應用程序清單描述應用程序本身,包括程序集、組成應用程序的依賴項和文件、所需的權限以及提供更新的位置。應用程序開發人員使用 Visual Studio 2005 中的發布向導或 .NET Framework SDK 中的清單生成工具 (Mage.exe) 來創作應用程序清單。有關更多信息,請參見如何:發布 ClickOnce 應用程序。
部署清單描述如何部署應用程序,包括應用程序清單的位置以及客戶端應運行的應用程序的版本。管理員使用 .NET Framework SDK 中的清單生成工具 (Mage.exe) 來創作部署清單。
| Microsoft Visual Studio 2005 中的“發布向導”也可生成部署清單。 |
部署清單在創建后會被復制到部署位置。部署位置可以是 Web 服務器、網絡文件共享或媒體(如 CD)。應用程序清單和所有應用程序文件也都被復制到在部署清單中指定的一個部署位置。此位置可以與部署清單的部署位置相同,也可以不同。使用 Microsoft Visual Studio 2005 中的“發布向導”時,復制操作是自動執行的。
| 如果開發人員同時也是管理員(即開發人員在將要部署部署清單的網站或文件共享位置具有管理員特權),則只需要此清單即可。如果開發人員不是管理員,則必須由管理員使用命令行工具更新清單并對清單進行簽名。 |
當部署清單被部署到部署位置后,最終用戶可以在網頁上或文件夾中單擊表示部署清單文件的圖標,從而下載和安裝應用程序。在大多數情況下,會向最終用戶提供一個簡單的對話框以請用戶確認安裝,在此之后便不需要進一步的用戶干預,安裝會繼續執行且應用程序會被啟動。在應用程序要求提升的權限的情況下,該對話框還會請用戶在安裝繼續進行之前授予相應權限。
應用程序會被添加到用戶的“開始”菜單和“控制面板”中的“添加/刪除程序”組中。與其他部署技術不同,此部署技術不會向“Program Files”文件夾、注冊表和桌面添加任何內容,且安裝無需任何管理員權限
| 也可以禁止將應用程序添加到“開始”菜單和“添加/刪除程序”組中,其效果是使應用程序的行為與 Web 應用程序相類似。有關更多信息,請參見選擇 ClickOnce 部署策略。 |
當應用程序開發人員創建更新版本的應用程序時,開發人員也會生成新的應用程序清單,并將文件復制到一個部署位置 -- 通常是原始應用程序部署文件夾的同級文件夾。管理員會更新部署清單,使之指向新版本的應用程序所在的位置。
| 可以使用 Microsoft Visual Studio 2005 中的“發布向導”執行這些步驟。 |
除部署位置外,部署清單還包含應用程序在其中檢查更新版本的更新位置(一個網頁或網絡文件共享)。ClickOnce 的“Publish”屬性用于指定應用程序檢查更新的時間和頻率。更新行為可以在部署清單中指定,也可以通過 ClickOnce API 在應用程序的用戶界面中以用戶選項的形式提供。此外,“Publish”屬性還可以用于將更新設置為強制性的,或是用于將應用程序回滾到較早版本。有關更多信息,請參見選擇 ClickOnce 更新策略。
ClickOnce 和 Windows Installer 比較表
下表將 ClickOnce 部署的功能與 Windows Installer 部署的功能進行了比較:
| 自動更新1 | 是 | 是 |
| 安裝后回滾2 | 是 | 否 |
| 從 Web 更新 | 是 | 否 |
| 不影響共享組件或其他應用程序 | 是 | 否 |
| 授予的安全權限 | 僅授予應用程序所必需的權限(更安全) | 默認授予“完全信任”權限(不夠安全) |
| 要求的安全權限 | Internet 或 Intranet 區域(為 CD-ROM 安裝提供完全信任) | 管理員 |
| 應用程序和部署清單簽名 | 是 | 否 |
| 安裝時用戶界面 | 單次提示 | 多部分向導 |
| 即需安裝程序集 | 是 | 否 |
| 安裝共享文件 | 否 | 是 |
| 安裝驅動程序 | 否 | 是(自定義操作) |
| 安裝到全局程序集緩存 | 否 | 是 |
| 為多個用戶安裝 | 否 | 是 |
| 向“開始”菜單添加應用程序 | 是 | 是 |
| 向“啟動”組添加應用程序 | 否 | 是 |
| 向“收藏夾”菜單添加應用程序 | 否 | 是 |
| 注冊文件類型 | 否 | 是 |
| 安裝時注冊表訪問3 | 受限 | 是 |
| 二進制文件修補 | 否 | 是 |
| 應用程序安裝位置 | ClickOnce 應用程序緩存 | “Program Files”文件夾 |
說明
1. 對于 Windows Installer,必須在應用程序代碼中實現編程方式的更新。
2. 對于 ClickOnce,可在“添加/刪除程序”中實現回滾。
3. ClickOnce 部署只有使用“完全信任”權限才能訪問 HKEY_LOCAL_MACHINE (HKLM)。
有關更多信息,請參見選擇部署策略。
請參見
任務
如何:發布 ClickOnce 應用程序
概念
選擇 ClickOnce 部署策略
選擇 ClickOnce 更新策略
ClickOnce 部署和安全
選擇部署策略
其他資源
ClickOnce 部署
?
===============
http://superuser.com/questions/363761/does-a-windows-clickonce-application-have-to-connect-to-the-internet
| ClickOnce applications check the developer's website when they start up to see if there's a more recent version available. If there is, it will offer to download the updated version and install it for you. This automatic updating is one of the key benefits to ClickOnce applications. If you don't have Internet access you can still run the program, but obviously it won't update unless you are connected. I suppose there may be a short delay while it attempts to connect to the server and fails, but it shouldn't be a long one. Another common ClickOnce application is the MetroTwit Twitter application: http://www.metrotwit.com/
| |||||||
| ? |
|
| up vote 2 down vote | Scott Bussinger's answer is mostly correct, and it's certainly accurate from your perspective. However, in regards to your question as it is asked by the title, no, not all ClickOnce applications need the internet, in order to be both installed and updated. A ClickOnce application can be installed from an local Intranet location. The difference may seem subtle and it doesn't matter in your case. However, it was worth fully answering your question since the StackOverflow network is highly indexed by Google and often cross referenced on the web. Other user's with the same question but if their reasons are different, this information might be pertinent. |
?
總結
以上是生活随笔為你收集整理的ClickOnce 部署概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Eclipse构建Maven的Spr
- 下一篇: 用Artifactory管理内部Mave