在本機共用應用程式套件 (Windows 市集應用程式)

當您開發 Windows 市集應用程式之後,可能會想要在一部或多部本機電腦上安裝以方便自己或他人測試。您必須先建立應用程式套件並執行 Windows PowerShell 指令碼,才能在其他電腦上安裝 Windows 市集應用程式。

建立應用程式套件

您必須先建立應用程式套件,才能安裝應用程式。如需有關如何建立套件的詳細資訊,請參閱Creating an app package

您建立的應用程式套件位於您指定做為套件位置的輸出資料夾中,而且命名為 PackageName_Test。這個資料夾包含 .appx 檔案、安全憑證、Windows PowerShell 指令碼和其他檔案。

安裝測試的應用程式套件

  1. 在 Visual Studio 輸出目錄中,尋找與 .appx 檔在一起的 Add-AppDevPackage PowerShell 指令碼。

  2. 在 Add-AppDevPackage.ps1 檔的捷徑功能表上,選擇 [用 PowerShell 執行]。

    重要

    如果您是本機電腦上 Administrators 安全性群組的成員,但是沒有存取 AppDevPackage.ps1 檔所在之網路共用的權限,則可能會出現指令檔不存在的錯誤訊息。若要解決存取問題,請在執行指令碼之前,將輸出資料夾的內容複製到本機電腦中。

    指令碼會執行下列步驟。

    1. 顯示有關指令碼將安裝之憑證的資訊。指令碼還會顯示一則警告訊息,說明有關變更本機電腦上執行原則的風險。執行原則可幫助阻擋您不信任的指令碼。如果您變更執行原則,則可能暴露於 about_Execution_Policies 描述的安全性風險。

      注意事項注意事項

      如果您直接從 PowerShell 啟動指令碼,而不是使用捷徑功能表,則不會出現變更執行相關風險的警告,而指令碼將會失敗。若要解決這個問題,請手動變更執行原則,然後再次執行指令碼。

      您必須輸入 Y,確認您要變更執行原則。如果您輸入 N,則會略過此作業並繼續進行下一項作業。如果您輸入 S,則會暫停目前的管線並且返回命令提示字元。如果您輸入 exit 這個字,則管線會恢復執行。

    2. 確認您是否具有開發人員授權。如果指令碼找不到授權,或是您目前的授權已到期,則會提示您取得授權。

      若要取得開發人員授權,您必須有 Microsoft 帳戶。如需詳細資訊,請參閱取得開發人員授權 (Windows 市集應用程式) (英文)。

    3. 確認應用程式套件及任何必要的憑證是否存在。如果缺少項目,則會出現一則訊息,要求您在安裝這個開發人員套件之前,先安裝這些項目。例如,如果本機電腦上缺少開發人員憑證,則會提示您安裝該憑證。另外還會警告您,將數位憑證安裝到電腦的「受信任的人」憑證存放區會帶來嚴重的安全性風險,務必在您信任這個數位憑證的建立者的情況下才執行這個動作。完成使用這個應用程式時,應手動從電腦的「受信任的人」憑證存放區移除關聯的數位憑證。如需如何移除憑證的詳細資訊,請參閱如何使用憑證主控台 (英文)。您必須確認是否要繼續。

      簽署憑證必須包含下列值:

      • 增強金鑰使用方法:程式碼簽署 (必要項)

      • 基本限制:主體類型=終端實體 (必要項)

      • 永久簽署 EKU (選擇項)

      任何其他 EKU 都會讓憑證失效。如果指令碼找不到必要的值,表示有錯誤存在。

    4. 確認所有必要的相依性套件都存在。

    5. 安裝任何相依性套件,再安裝應用程式套件。

      如果已安裝應用程式套件,則會顯示「已順利安裝開發人員套件」。

  3. 在 [開始] 畫面上,選擇顯示應用程式名稱的磚。

    應用程式便會啟動。

安全性注意事項安全性提示

如果 PowerShell 未執行,並且也沒有出現任何錯誤訊息說明原因,則可能是電腦的使用者存取控制 (UAC) 已變更的緣故。UAC 預設的設定是 [只在應用程式嘗試變更我的電腦時才通知我 (預設值)],但是可能已變更為 [發生下列狀況時,不要通知我]。如果您以標準使用者帳戶登入 UAC 設定為 [發生下列狀況時,不要通知我] 的電腦,則需要系統管理員權限的所有變更都會自動遭拒。在上述情況下,PowerShell 指令碼雖然會啟動,但是需要系統管理權限才能繼續。如此一來,UAC 對話方塊便不會顯示,而且 Windows 會自動防止指令碼進行變更。若要解決這個問題,請變更 UAC 設定或以系統管理員身分執行指令碼。

執行 Add-AppDevPackage.ps1 PowerShell 指令碼時,Visual Studio 會使用 Get-AuthenticodeSignature 函式判斷是否要安裝 [TEST Visual Studio 憑證授權單位] 測試簽署憑證。如果 [憑證 - 目前的使用者] > [受信任的根憑證授權單位] > [憑證] 節點中已安裝測試簽署憑證,函式會傳回表示簽章有效的值。但是,因為 Windows 不信任該憑證,所以部署套件還是會失敗。要讓 Windows 信任憑證,就必須將其置於 [憑證 (本機電腦)] > [受信任的根憑證授權單位] > [憑證] 節點或 [憑證 (本機電腦)] > [受信任的人] > [憑證] 節點中。只有位於這兩個位置的憑證才能驗證本機電腦內容中的憑證信任。否則,就會出現類似如下的錯誤訊息:「Add-AppxPackage : 部署失敗,HRESULT 為: 0x800B0109。憑證鏈結已處理,但它終止於信任提供者所未信任的根憑證 (發生例外狀況於 HRESULT: 0x800B0109)。錯誤 0x800B0109: 應用程式套件中簽章的根憑證必須受信任」。如果出現這個錯誤訊息,請將測試簽署憑證移至上述兩個 [憑證 (本機電腦)] 節點中。如需如何移動憑證的詳細資訊,請參閱如何使用憑證主控台 (英文)。

請參閱

概念

共用應用程式套件 (Windows 市集應用程式)

在命令提示字元建置應用程式套件 (Windows 市集應用程式)