Share via


逐步解說:手動部署 ClickOnce 應用程式

更新:2007 年 11 月

此逐步解說會描述使用資訊清單產生和編輯工具 (Mage) 的命令列或圖形版本,建立完整 ClickOnce 部署的必要步驟。

如果您沒有固定使用 Visual Studio,卻需要自動化部署程序,或需要使用進階部署功能 (如受信任的應用程式部署),就應該使用 Mage.exe 命令列工具來建立您的 ClickOnce 資訊清單。下列逐步解說會帶您進行使用資訊清單產生和編輯工具的命令列版本 (Mage.exe) 或 Windows Form 版本 (MageUI.exe),來產生完整 ClickOnce 部署的所有必要步驟。

必要條件

此逐步解說在撰寫時假設您已經擁有準備好要部署的 Windows Form 應用程式;此應用程式將會稱為 WindowsFormsApp1。您還必須安裝 Windows Software Development Kit (SDK)。

在建置部署之前,您必須先決定幾個問題。首先和最重要的是您要如何散發部署:透過網站、從檔案共用,或是從 CD 安裝。如需詳細資訊,請參閱 ClickOnce 部署概觀

接著,您需要決定應用程式是否會在提升的信任層級執行。如同受信任的應用程式部署概觀之中所討論的,根據預設,ClickOnce 應用程式會在部分信任區域中執行,而其確切的權限,則會由應用程式是在內部網路或網際網路裝載來決定。如果應用程式需要存取用戶端電腦上的資料、和本機裝置溝通、呼叫 Windows API 函式,或執行其他潛在危險的作業,就需要判斷提示 (Assert) 更高的信任層級。如果應用程式需要完全信任 (例如,對於使用者系統的完全信任),您就可以使用 Mage.exe 來輕易設定此項。如果要為應用程式定義自訂權限集合,您可以從其他資訊清單複製網際網路或內部網路權限區段,加以修改以適應您的需要,並使用文字編輯器或 MageUI.exe 將之加入至應用程式資訊清單。

有兩種方法可在 ClickOnce 資訊清單中判斷提示更高信任,它們是「權限提升」和「受信任的應用程式部署」。在兩種情況下,您的部署都必須以 Authenticode 憑證簽章。這種憑證不是使用 MakeCert.exe 工具產生,就是從憑證授權單位 (Certificate Authority,CA) 取得的。如果選擇使用受信任的應用程式部署,您就必須對所有的用戶端電腦執行憑證的一次安裝。如需詳細資訊,請參閱受信任的應用程式部署概觀

若要以 Mage.exe 命令列工具部署應用程式

  1. 開啟 Windows SDK 命令提示字元,並切換到將要儲存 ClickOnce 檔案的目錄。

  2. 建立目錄,並依照部署的目前版本命名。如果這是第一次部署此應用程式,就可能會選擇 1.0.0.0。

    注意事項:

    部署的版本可能會有別於應用程式檔案的版本。

  3. 為名為 bin 的資料夾建立子目錄,並將所有的應用程式檔案置於此處,其中包括可執行檔、組件、資源及資料檔。

  4. 呼叫 Mage.exe 以產生應用程式資訊清單:

    mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin
    
  5. 以您的數位憑證對應用程式資訊清單進行簽章:

    mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
    
  6. 運用對 Mage.exe 的呼叫來產生部署資訊清單。Mage.exe 將會根據預設,將您的 ClickOnce 部署標記為已安裝的應用程式,如此就會讓它在線上和離線時都能執行。若要使應用程式只能在使用者位於線上時執行,請使用具有 f 值的 -i 旗標。如果使用預設值,且使用者會從網站或檔案共用安裝您的應用程式,請確定 -providerUrl 旗標的值是指向 Web 伺服器或共用上應用程式資訊清單的位置。

    mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest -providerUrl http://www.adatum.com/WindowsFormsApp1/WindowsFormsApp1.application
    
  7. 以您的憑證對部署資訊清單進行簽章:

    mage -Sign WindowsFormsApp1.application -CertFile mycert.pfx
    
  8. 將目前目錄中的所有檔案 (包括 version 資料夾和 \bin 資料夾),複製到部署目的地。這可能是網站或 FTP 站台上的資料夾、檔案共用,或是 CD。

  9. 提供使用者安裝應用程式所需的 URL、UNC 或實體媒體。如果提供 URL 或 UNC,您就必須給予使用者部署資訊清單的完整路徑。例如,如果 WindowsFormsApp1 部署至 WindowsFormsApp1 目錄中的 http://webserver01/,則完整的 URL 路徑就會是 http://webserver01/WindowsFormsApp1/WindowsFormsApp1.deploy。

以 MageUI.exe 圖形工具部署應用程式

  1. 開啟 Windows SDK 命令提示字元,並巡覽至將要儲存 ClickOnce 檔案的目錄。

  2. 建立名為 bin 的子目錄,並將所有的應用程式檔案置於此處,其中包括可執行檔、組件、資源及資料檔。

  3. 建立子目錄,並依照部署的目前版本命名。如果這是第一次部署此應用程式,就可能會選擇 1.0.0.0。

    注意事項:

    部署的版本可能會有別於應用程式檔案的版本。

  4. 將 \bin 目錄移至您在步驟 2 中建立的目錄,然後啟動圖形工具:

    MageUI.exe
    
  5. 從功能表依序選取 [檔案]、[新增]、[應用程式資訊清單],以建立新的應用程式資訊清單。

  6. 在預設的 [名稱] 索引標籤上,輸入此部署的名稱和版本號碼。

  7. 選取 [檔案] 索引標籤,並按一下 [應用程式目錄] 文字方塊旁的 [瀏覽] 按鈕。

  8. 選取您在步驟 2 中建立,含有應用程式檔案的目錄,並在 [資料夾選取] 對話方塊中,按一下 [確定]。

  9. 按一下 [填入] 按鈕,將所有的應用程式檔案加入到檔案清單中。如果您的應用程式含有一個以上的可執行檔,請從 [檔案類型] 下拉式清單選取 [進入點],將此部署的主要可執行檔標記為啟動應用程式 (如果您的應用程式只含有一個可執行檔,MageUI.exe 將會為您標記該檔)。

  10. 選取 [必要的使用權限] 索引標籤,並選取需要應用程式判斷提示的信任層級。預設值為 [完全信任],將會適用於多數的應用程式。

  11. 從功能表依序選取 [檔案] 及 [儲存],並儲存應用程式資訊清單。在儲存時,將會收到對應用程式資訊清單簽章的提示。

  12. 如果在檔案系統上擁有儲存為檔案的憑證,請使用 [簽章為憑證檔] 選項,並使用 [...] 按鈕從檔案系統選取憑證。

    -或-

    如果您的憑證保留在可從電腦存取的憑證存放區中,請選取 [以預存的憑證選項簽章],並從提供的清單中選取憑證。

  13. 從功能表依序選取 [檔案]、[新增] 及 [部署資訊清單],以建立您的部署資訊清單,然後在 [名稱] 索引標籤上,提供名稱和版本號碼 (在此範例中為 1.0.0.0)。

  14. 選取 [發行者] 索引標籤,並提供 [發行者] 和 [產品] 的值 ([產品] 是將應用程式安裝在本機時,在 Windows [開始] 功能表上顯示的應用程式名稱)。

  15. 切換至 [更新] 索引標籤,並指定您想多久更新此應用程式一次。如果應用程式使用 ClickOnce 部署 API 來自我檢查更新,請清除標記為 [此應用程式應該檢查更新檔] 的核取方塊。

  16. 切換至 [應用程式參考] 索引標籤。按一下 [選取資訊清單] 按鈕,並選取您在先前步驟中建立的應用程式資訊清單,即可在此索引標籤上預先填入所有的值。

  17. 選擇 [儲存],並將部署資訊清單儲存至磁碟。在儲存時,將會收到對應用程式資訊清單簽章的提示。

  18. 如果在檔案系統上擁有儲存為檔案的憑證,請使用 [簽章為憑證檔] 選項,並使用 [...] 按鈕從檔案系統選取憑證。

    -或-

    如果您的憑證保留在可從電腦存取的憑證存放區中,請選取 [以預存的憑證選項簽章],並從提供的清單中選取憑證。

  19. 將目前目錄中的所有檔案 (包括 version 資料夾和 \bin 資料夾),複製到部署目的地。這可能是網站或 FTP 站台上的資料夾、檔案共用,或是 CD。

  20. 提供使用者安裝應用程式所需的 URL、UNC 或實體媒體。如果提供 URL 或 UNC,您就必須給予使用者部署資訊清單的完整路徑。例如,如果 WindowsFormsApp1 部署至 WindowsFormsApp1 目錄中的 http://webserver01/,則完整的 URL 路徑就會是 http://webserver01/WindowsFormsApp1/WindowsFormsApp1.deploy。

後續步驟

在需要部署應用程式的新版本時,您將需要建立依照新版本命名的新目錄,如 1.1.0.0。並將新的應用程式檔案移至新目錄中的 \bin 資料夾。您應該產生新的應用程式資訊清單,將之儲存在新目錄中,並讓發行者對新的資訊清單簽章。一旦取回已簽章的資訊清單,即可使用 Mage.exe 來更新部署資訊清單,並使之指向新的應用程式資訊清單:

mage -Update WindowsFormsApp1.application -Version 1.1.0.0 -AppManifest 1.1.0.0\WindowsFormsApp1.exe.manifest

只要開啟部署資訊清單、選取 [應用程式參考] 索引標籤,並再度選取 [選取資訊清單] 按鈕,MageUI.exe 使用者即可執行相同的作業。

在更新應用程式資訊清單參考之後,由於只要變更資訊清單就會使其數位簽章無效,所以您將需要對部署資訊清單重新進行簽章。

請參閱

概念

ClickOnce 部署概觀

參考

資訊清單產生和編輯工具 (Mage.exe)

圖形用戶端、資訊清單產生和編輯工具 (MageUI.exe)

ClickOnce 部署資訊清單

ClickOnce 應用程式資訊清單