疑難排解 ClickOnce 部署的特定錯誤
本主題列出以下在部署 ClickOnce 應用程式時可能發生的常見錯誤,並針對每項問題提供解決步驟。
一般錯誤
當您嘗試尋找 .application 檔案而沒有回應,或者在 Internet Explorer 中呈現 XML,或出現執行或另存新檔對話方塊
此錯誤可能是由於伺服器或用戶端上未正確註冊內容型別 (也稱為 MIME 類型)。
首先,請確定伺服器的設定會在 .application 副檔名與內容類型 "application/x-ms-application" 之間建立關聯。
如果伺服器設定正確,請確定電腦上已安裝 .NET Framework 2.0。 如果已安裝 .NET Framework 2.0 卻仍然發生這個問題,請嘗試解除安裝 .NET Framework 2.0 後再重新安裝,以便在用戶端上重新註冊此內容類型。
錯誤訊息指出:「無法擷取應用程式。部署中遺漏檔案」或「應用程式下載已中斷,請檢查網路錯誤,稍後再試一次」
這個訊息表示無法下載 ClickOnce 資訊清單所參考的一個或多個檔案。 最簡單的偵錯方法是,嘗試下載 ClickOnce 指出無法下載的 URL。 部分可能原因如下:
如果記錄檔指出「(403) 禁止」或「(404) 找不到」,請確認 Web 伺服器的設定不會封鎖這個檔案的下載。 如需詳細資訊,請參閱 ClickOnce 部署中的伺服器和用戶端組態問題。
如果伺服器封鎖 .config 檔案,請參閱本主題稍後的「當您嘗試安裝具有 .config 檔案的 ClickOnce 應用程式時,發生下載錯誤」一節。
判斷造成這個問題的原因是否是部署資訊清單中的 deploymentProvider URL 所指向的位置與用於啟動的 URL 不同。
確定所有的檔案皆位於伺服器上;ClickOnce 記錄應該會告訴您找不到哪些檔案。
檢查是否有網路連線問題;如果下載期間用戶端電腦離線,可能會出現這個訊息。
當您嘗試安裝具有 .config 檔案的 ClickOnce 應用程式時,發生下載錯誤
根據預設,Visual Basic Windows 架構應用程式會包含 App.config 檔案。 當使用者嘗試從使用 Windows Server 2003 的 Web 伺服器安裝時會發生問題,因為這個作業系統會基於安全理由封鎖 .config 檔案的安裝。 若要允許安裝 .config 檔案,請按一下 [發行選項] 對話方塊中的 [使用 ".deploy" 副檔名]。
您也必須為 .application、.manifest 和 .deploy 檔案適當地設定內容類型 (也稱為 MIME 類型)。 如需詳細資訊,請參閱您的 Web 伺服器文件。
如需詳細資訊,請參閱 ClickOnce 部署中的伺服器和用戶端組態問題中的<Windows Server 2003:鎖定的內容類型>。
錯誤訊息:「應用程式格式不正確」;記錄檔包含「XML 簽章無效」
確定您已更新資訊清單檔案,並重新簽署它。 藉由使用 Visual Studio 重新發行應用程式,或使用 Mage 重新簽署應用程式。
您已更新伺服器上的應用程式,但用戶端沒有下載此更新檔
完成下列其中一項工作,便有可能解決這個問題:
檢查部署資訊清單中的 deploymentProvider URL。 確定您在 deploymentProvider 指向的相同位置上更新程式。
確定部署資訊清單中的更新間隔。 如果這個間隔設為定期間隔 (例如每隔六小時一次),等到這個間隔過後,ClickOnce 才會掃描更新。 您可以變更資訊清單,使得每次這個應用程式啟動時,就會掃描更新。 在開發期間,變更更新間隔對於驗證更新是否安裝很方便,但應用程式啟動會變慢。
從 [開始] 功能表嘗試重新啟動應用程式。 ClickOnce 可能已經在背景偵測到更新,但將在下次啟動時提示您安裝程式。
更新期間發生錯誤,並且記錄項目為:「部署中的參考與應用程式資訊清單中所定義的識別不相符」
這個錯誤的發生原因可能是您已手動編輯過部署和應用程式資訊清單,而導致其一資訊清單中的組件識別 (Identity) 描述與其他資訊清單未同步。 組件的識別包括組件的名稱、版本、文化特性 (Culture) 和公開金鑰語彙基元。 檢查資訊清單中的識別描述,並修正差異。
從本機磁碟或 CD-ROM 第一次啟動成功,但從 [開始] 功能表後續啟動失敗
ClickOnce 使用 [部署提供者 URL] 取得應用程式的更新。 確認 URL 所指向的位置正確。
錯誤:「無法啟動應用程式」
這個錯誤訊息通常表示,將這個應用程式安裝至 ClickOnce 存放區時發生問題。 可能應用程式有錯誤,或存放區已損毀。 記錄檔可能會告訴您錯誤的發生位置。
請執行下列動作:
確認部署資訊清單的識別、應用程式資訊清單的識別,以及主應用程式執行檔的識別都具有唯一性。
確認檔案路徑長度未超過 100 個字元。 如果應用程式包含過長的檔案路徑,可能會超過可儲存的最長路徑限制。 請嘗試縮短路徑,並重新安裝。
不接受應用程式組態檔的 PrivatePath 設定
若要使用 PrivatePath (融合探查路徑),應用程式必須要求完全信任的權限。 請嘗試變更應用程式資訊清單,要求完全信任,再重試一次。
解除安裝期間,對話方塊出現,指出「無法解除安裝應用程式」
這個訊息通常表示,應用程式已移除或存放區已損毀。 按一下 [確定] 之後,[新增或移除程式] 項目將會移除。
在安裝期間出現訊息指出平台相依性未安裝
GAC (全域組件快取) 中遺漏必要條件,應用程式需要它才能執行。
使用 Visual Studio 發行
在 Visual Studio 發行失敗
確定您有發行至目標伺服器的權限。 例如,如果您以一般使用者身分登入終端伺服器電腦,而不是以系統管理員身分,可能就沒有發行至本機 Web 伺服器所需的權限。
如果您以 URL 發行,請確定目的電腦已啟用 FrontPage Server Extensions。
錯誤訊息:無法建立網站 '<site>'。未安裝與 FrontPage Server Extensions 通訊的元件。
請確定您已在發行電腦上安裝 Microsoft Visual Studio Web 撰寫元件。 若為 Express 使用者,此元件並非預設安裝。 如需詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=102310。
錯誤訊息: 找不到檔案 ' Microsoft.Windows.Common-控制項、 版本 = 6.0.0.0,文化特性 = *,PublicKeyToken = 6595b64144ccf1df,ProcessorArchitecture = *,型別 = win32'
當您嘗試發佈 WPF 應用程式具有已啟用視覺化樣式時,就會出現這個錯誤訊息。 若要解決這個問題,請參閱HOW TO:發行已啟用視覺化樣式的 WPF 應用程式。
使用 Mage
您嘗試使用憑證存放區中的憑證簽署,但收到空白訊息方塊
在 [簽署] 對話方塊中,您必須:
選取 [以預存的憑證簽署]。
並從清單中選取憑證;第一個憑證不是預設的選項。
按一下 [不要簽署] 按鈕會造成例外狀況
這是已知錯誤。 所有的 ClickOnce 資訊清單都必須要簽署。 您只需選擇其中一個簽署選項,再按 [確定]。
其他錯誤
下表列出用戶端電腦使用者在安裝 ClickOnce 應用程式時可能會收到的一些常見錯誤訊息, 每一個錯誤訊息的旁邊都會列出最有可能造成該錯誤之原因的說明。
錯誤訊息 |
描述 |
---|---|
無法啟動應用程式。 請洽詢應用程式發行者。 無法啟動應用程式。 請洽詢應用程式廠商以取得協助。 |
如果無法啟動應用程式,又找不到其他特定原因時,一般會出現這種錯誤訊息。 這通常表示應用程式由於某種未知的原因而損毀,或者 ClickOnce 儲存區損毀了。 |
無法繼續。 應用程式的格式不正確。 請洽詢應用程式發行者以取得協助。 應用程式驗證沒有成功。 無法繼續。 無法擷取應用程式檔案。 部署中的檔案損毀。 |
部署中有一個資訊清單檔案語法無效,或是含有和對應檔案不一致的雜湊。 這個錯誤訊息也可能表示內嵌於組件中的資訊清單已經損毀。 請重新建立部署並重新編譯應用程式,或者手動尋找及修正資訊清單中的錯誤。 |
無法擷取應用程式。 驗證錯誤。 應用程式安裝沒有成功。 找不到伺服器上的應用程式檔案。 請洽詢應用程式發行者或您的系統管理員,以取得進一步協助。 |
無法下載部署中的一個或多個檔案,因為您不具有存取這些檔案的權限。 Web 伺服器所傳回的「403 禁止」錯誤可能會造成這個錯誤訊息,如果部署中某個檔案的副檔名被 Web 伺服器視為是受到保護的檔案,就可能會發生這個錯誤。 此外,如果某個目錄含有應用程式的一個或多個檔案,可能需要使用者名稱和密碼才能存取這個目錄。 |
無法下載應用程式。 應用程式缺少必要的檔案。 請連絡應用程式廠商或您的系統管理員,以取得進一步協助。 |
在伺服器上找不到應用程式資訊清單中所列出的一個或多個檔案, 請確認您已經上載了部署的所有相依檔案,然後再試一次。 |
應用程式下載沒有成功。 請檢查網路連接,或者洽詢系統管理員或網路服務供應商。 |
ClickOnce 無法建立和伺服器之間的網路連接, 請檢查伺服器的可用性以及網路的狀態。 |
URLDownloadToCacheFile 失敗,HRESULT 為 '<number>'。 嘗試下載 '<file>' 時發生錯誤。 |
如果使用者在部署目標電腦上設定了 Internet Explorer [進階安全性] 選項 [切換安全性與非安全性模式時發出警告],且如果要安裝 ClickOnce 應用程式的安裝 URL 從非安全網站重新導向至安全網站 (或從安全網站重新導向至非安全網站),安裝將會失敗,因為 Internet Explorer 警告會中斷安裝。 若要解決這個問題,您可以執行下列任一種方法:
|
寫入硬碟時發生錯誤。 可能是磁碟上的可用空間不足。 請連絡應用程式廠商或您的系統管理員,以取得進一步協助。 |
這可能表示儲存應用程式的磁碟空間不足,但也可能是您在嘗試將應用程式檔案儲存至磁碟時的一般 I/O 錯誤。 |
無法啟動應用程式。 磁碟上的可用空間不足。 |
硬碟已滿。 請釋放空間,然後再次試著執行應用程式。 |
試圖一次載入太多部署的啟動過程。 |
ClickOnce 會限制可以同時啟動的不同應用程式的數目, 這主要是要保護本機 ClickOnce 服務,以防止有人惡意對它發動拒絕服務攻擊;如果有使用者試圖以很快的速度連續重複啟動相同的應用程式,最後也只能啟動一個應用程式執行個體。 |
無法透過網路啟動捷徑。 |
ClickOnce 應用程式的捷徑只能在本機硬碟上啟動, 如果您開啟指向遠端伺服器上之捷徑檔的 URL,無法啟動這類應用程式。 |
應用程式太大,無法於部分信任狀態下在線上執行。 請連絡應用程式廠商或您的系統管理員,以取得進一步協助。 |
在部分信任狀態下執行的應用程式不能大於線上應用程式配額大小的一半,其預設值是 250 MB。 |