none
ClickOnce如何一次部署至多個網站 RRS feed

  • 問題

  • 一個Windows應用系統

    我用ClickOnce部署至Web Server

    問題是

    我有30部Server(在分公司)要部署

    每次改版我就得部署30次

    請問各位高手

    有沒有方法可以經過設定後

    一次就同時部署至30部伺服器上?

    2006年2月27日 下午 12:41

解答

  • 基本上 ClickOnce 的檔案可以直接 XCopy 到其他的 Web Server 上的目錄就可以了

    建議您可以使用 Robocopy /Mirror 參數,這樣只會複製有變動的檔案,可以節省頻寬。

    如果你想更自動化一點,則可以考慮使用 DFS

    2006年3月6日 下午 04:36
  •  

    <deploymentProvider> 是放在 ClickOnce 的 Deployment Manifest 中,這個檔案的位置就在你 Publish 目錄的 publish 子目錄中的 <專案名稱>.application 這個檔案。您可以用 Notepad 打開它就可以找到 <deploymentProvider>

    2006年3月7日 下午 03:38

所有回覆

  • 可否考慮使用 Software Deployment Policy 來處理?

    因為看 ClickOnce 的文件,沒有一次部署到多部部署伺服器 (Deployment Server) 的方法 ...

    2006年3月6日 下午 03:52
    版主
  • 基本上 ClickOnce 的檔案可以直接 XCopy 到其他的 Web Server 上的目錄就可以了

    建議您可以使用 Robocopy /Mirror 參數,這樣只會複製有變動的檔案,可以節省頻寬。

    如果你想更自動化一點,則可以考慮使用 DFS

    2006年3月6日 下午 04:36
  • 感謝各位先進的建議

    XCOPY應該是可行

    但是有一些參數要改

    MSDN說明如下

    只是我怎麼都找不到deploymentProvider在哪裡?

     

    部署提供者使用上的預防措施

    當您在用戶端上看到 ClickOnce 應用程式的非預期行為,要注意這點。ClickOnce 部署資訊清單中有 deploymentProvider 屬性,這個屬性指向應用程式安裝和服務位置的完整路徑。

    在部署資訊清單中,尋找下列行:

      複製程式碼
    <deploymentProvider codebase="http://myserver/myapp.application" />

    這是在 ClickOnce 應用程式建立時間設定的,對於「已安裝的」應用程式是強制性的。ClickOnce 安裝程式會從這個標準位置,安裝應用程式並尋找更新。所有應用程式檔案都會從這個路徑的相對位置安裝。

    因此,如果您使用 xcopy 命令,將 ClickOnce 應用程式複製到不同位置,但未變更 deploymentProvider 屬性,當 ClickOnce 嘗試下載應用程式時,它仍然會參考到此原始位置。

    如果您要移動或複製應用程式,同時必須更新 deploymentProvider 路徑,讓用戶端從新位置實際安裝。對於「已安裝的」應用程式,這尤其重要。對於永遠透過原始 URL 啟動的線上應用程式,設定 deploymentProvider 為選擇項。如果已設定 deploymentProvider,就會接受它,否則用來啟動應用程式的 URL 將做為基礎 URL,用來下載應用程式檔案。

    請記住,每次更新資訊清單,都必須重新簽署它。

    2006年3月6日 下午 10:25
  •  

    <deploymentProvider> 是放在 ClickOnce 的 Deployment Manifest 中,這個檔案的位置就在你 Publish 目錄的 publish 子目錄中的 <專案名稱>.application 這個檔案。您可以用 Notepad 打開它就可以找到 <deploymentProvider>

    2006年3月7日 下午 03:38
  • 感謝微軟的答覆
    2006年3月7日 下午 10:26