1. 程式人生 > >WPF ClickOnce應用程序IIS部署發布攻略

WPF ClickOnce應用程序IIS部署發布攻略

攻擊 解決 rec spa studio 重點 ive img www

WPF程序非常適合公司內網使用,唯一缺點就是客戶端要安裝.net框架4.0。優勢也很明顯,在客戶端運行的是一個WinForm程序,自動下載,可以充分利用客戶機的性能,而且是以當前的Windows用戶權限運行,避免了權限帶來的問題。而我覺得最大的益處還是可以自動更新!這樣就具備了CS程序功能強大速度快的優點,又有BS程序部署升級容易的優點。

本文要討論的就是,WPF ClickOnce應用程序的發布,IIS設置,客戶端使用的一系列過程。

一、先建立一個IIS網站承載WPF應用程序。

1、新建一個目錄,命名IISWpf。

技術分享圖片

2、打開IIS管理器,添加網站。

技術分享圖片

技術分享圖片

確定,網站就建好了。打開物理路徑F:\IISWpf,新建一個目錄WPFApp_01,以後每增加一個應用程序就建一個目錄。

技術分享圖片

二、現在開始Visual Studio的工作

新建項目,選擇WPF應用程序。註意:不是WPF瀏覽器應用程序。

技術分享圖片

重點是項目屬性的設置。

安全性,啟用ClickOnce安全設置

技術分享圖片

編譯好,下一步就可以發布了。

技術分享圖片

選擇iis_wpf_host下的WPFApp_01。點"打開",系統會有一個對話框詢問這是一個應用程序,是否打開?當然選是。

技術分享圖片

立即發布!

這時在物理路徑下多了一些東西,這就是發布的內容。

技術分享圖片

到現在運行這個程序的地址已經有了:http://本機IP:7000/WPFApp_01/

例如:http://localhost:7000/

三、回到IIS管理器設置默認文檔

在設置默認文檔前,右鍵WPFApp_01,轉換成應用/convert to application. 文件夾圖標會轉換成地球圖標。

技術分享圖片

增加默認文檔:XXERP.application。

4. 發布ClickOnce包

在發布前,我們再說兩個東西,那就是代碼訪問安全和程序簽名。

  • 代碼訪問安全:ClickOnce 應用程序受 .NET Framework 中代碼訪問安全性約束的限制,以幫助限制代碼訪問受保護的資源和操作的權限。 因此,了解代碼訪問安全性的含義以相應地編寫 ClickOnce 應用程序是十分重要的。 您的應用程序可以使用完全信任或使用部分區域(如 Internet 區域和 Intranet 區域)來限制訪問權限。
  • 程序簽名:ClickOnce 使用證書驗證應用程序發行者的真實性,並使用證書為應用程序和部署清單簽名,以證明文件未被篡改。 簽名是一個可選的步驟,它會使在生成清單以後更改應用程序文件更容易。 然而,在沒有簽名清單的情況下,很難確保應用程序安裝程序在受到中間人安全攻擊時不被篡改。 出於這個原因,我們建議您對應用程序清單和部署清單進行簽名,以幫助保護您的應用程序。

這部分的解釋和詳細介紹可以看MSDN裏面的保護應用程序章節。

然後點擊發布按鈕即可,發布成功後IE會自動打開發布好的頁面,你只需要將發布的地址給需要安裝此程序的客戶就可以輕松完成程序的部署了。

5. 問題補遺

    • 關於簽名過期的問題可以參考園友許海彪的這篇文章:解決ClickOnce簽名過期問題。
    • 關於ClickOnce信任文件大小的問題,修改註冊表HKEY_CURRENT_USER/Software/Classes/Software/Microsoft/Windows/CurrentVersion/Deployment
      做成一項“OnlineAppQuotaInKB”的DWROD值即可。

看看完成的結果,打開IE,輸入網址http://本機IP:7000/WPFApp_01/

我的備註:IE,EDGE都能打開。本地測試Chorme無法下載打開。

技術分享圖片

以上轉載自:REF1:http://www.cnblogs.com/edong/archive/2013/06/06/3121623.html

ref2:http://gcsjl8.com/forum.php?mod=viewthread&tid=102

其他:沒有安裝IIS 服務的,百度如何安裝IIS服務。

本機測試碰到一些報錯,無法顯示網頁,因為沒有權限讀取目錄:可以在Directory Browsing中點擊Enable,打開後,會顯示如下圖。

技術分享圖片

WPF ClickOnce應用程序IIS部署發布攻略