針對 ClickOnce 部署中的特定錯誤進行疑難解答
適用於: Visualstudio
本文介紹部署 ClickOnce 應用程式時可能發生的常見錯誤,並提供解決每個問題的步驟。
一般錯誤
當您嘗試尋找應用程式檔時,不會發生任何情況,或在 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) 找不到」,請確認已設定網頁伺服器,使其不會封鎖此檔案的下載。 如需詳細資訊,請參閱 ClickOnce 部署中的伺服器和客戶端設定問題。
- 如果 伺服器封鎖.config 檔案,請參閱 當您嘗試安裝具有 .config 檔案的 ClickOnce 應用程式時發生下載錯誤。
- 判斷是否發生此錯誤,
deploymentProvider
因為部署指令清單中的URL指向的位置與用於啟用的URL不同。 - 請確定所有檔案都存在於伺服器上;ClickOnce 記錄應該會告訴您找不到哪個檔案。
- 查看是否有網路連線問題;如果您的用戶端電腦在下載期間離線,您可以收到此訊息。
當您嘗試安裝具有 .config 檔案的 ClickOnce 應用程式時發生下載錯誤
根據預設,Visual Basic Windows 應用程式包含 App.config 檔案。 如果您嘗試從使用 Windows Server 2003 的 Web 伺服器進行安裝,可能會遇到問題,因為該操作系統基於安全性理由封鎖 .config 檔案的安裝。 若要開啟要安裝的.config 檔案,請在 [發佈選項] 對話框中選取 [使用 “.deploy” 擴展名] 。
您也必須將內容類型 (也稱為MIME類型,) 適用於 .application、 .manifest 和 .deploy 檔案。 如需詳細資訊,請參閱您的 Web 伺服器檔。
如需詳細資訊,請參閱 Windows Server:鎖定的內容類型。
錯誤:應用程式格式不正確;記錄檔包含「XML 簽章無效」
請確定您已更新指令清單檔案,並再次加以簽署。 使用 Visual Studio 重新發布應用程式,或使用 Mage 再次簽署應用程式。
您已在伺服器上更新應用程式,但用戶端不會下載更新
您可以完成下列其中一項工作來解決此問題:
-
deploymentProvider
檢查部署指令清單中的 URL。 請確定您要在指向的相同位置deploymentProvider
更新位。 - 確認部署指令清單中的更新間隔。 如果此間隔設定為週期性間隔,例如每六小時一次,ClickOnce 將不會掃描更新,直到此間隔過去為止。 您可以變更指令清單,以在每次應用程式啟動時掃描更新。 在開發期間變更更新間隔是確認正在安裝更新的便利選項,但會降低應用程式啟用的速度。
- 請嘗試在 [開始] 選單上再次啟動應用程式。 ClickOnce 可能已在背景中偵測到更新,但會提示您在下次啟用時安裝位。
在更新期間,您會收到具有下列記錄項目的錯誤:「部署中的參考不符合應用程式指令清單中定義的身分識別」
發生此錯誤的原因可能是您已手動編輯部署和應用程式指令清單,並導致某個指令清單中元件的身分識別描述與另一個指令清單不同步。 元件的身分識別是由其名稱、版本、文化特性和公鑰令牌所組成。 檢查指令清單中的身分識別描述,並更正任何差異。
第一次從本機磁碟或CD-ROM啟用成功,但從 [開始] 選單的後續啟用不會成功
ClickOnce 會使用部署提供者 URL 來接收應用程式的更新。 確認 URL 所指向的位置正確無誤。
錯誤:無法啟動應用程式
此錯誤訊息通常表示將此應用程式安裝到 ClickOnce 存放區時發生問題。 應用程式發生錯誤或存放區損毀。 記錄檔可能會告訴您錯誤發生的位置。
若要解決此問題,請遵循下列步驟:
- 請確定部署指令清單的身分識別、應用程式指令清單的身分識別,以及主要應用程式 EXE 的身分識別都是唯一的。
- 請確定檔案路徑不超過 100 個字元。 如果您的應用程式包含太長的檔案路徑,您可能會超過可以儲存的最大路徑限制。 請嘗試縮短路徑,然後重新安裝。
不接受應用程式組態檔中的 PrivatePath 設定
若要使用 PrivatePath (Fusion 探查路徑) ,應用程式必須要求完全信任許可權。 請嘗試變更應用程式指令清單以要求完全信任,然後再試一次。
在卸載期間,會出現一則訊息,指出「無法卸載應用程式」
此訊息通常表示應用程式已移除,或存放區已損毀。 選取 [ 確定] 之後,將會移 除 [新增/移除程式] 專案。
在安裝期間,會出現訊息,指出未安裝平臺相依性
您在 GAC (全域程式集快取) 中缺少應用程式執行所需的必要條件。
使用 Visual Studio 發佈
在 Visual Studio 中發佈失敗
請確定您有權發佈至您要設為目標的伺服器。 例如,如果您是以一般使用者的身分登入終端機伺服器計算機,而不是以系統管理員身分登入,您可能沒有發佈至本機 Web 伺服器所需的許可權。
如果您使用 URL 發佈,請確定目的地電腦已啟用 FrontPage 伺服器擴充功能。
錯誤:無法建立網站 '<site>'。 未安裝與 FrontPage Server 擴充功能通訊的元件
請確定您已在發佈來源的計算機上安裝 Microsoft Visual Studio Web Authoring Component。 對於 Express 使用者,預設不會安裝此元件。
錯誤:找不到檔案 'Microsoft.Windows.Common-Controls, Version=6.0.0.0, Culture=*, PublicKeyToken=6595b64144ccf1df, ProcessorArchitecture=*, Type=win32'
當您嘗試發佈已啟用可視化樣式的 WPF 應用程式時,會出現此錯誤訊息。 若要解決此問題,請參閱 如何:發佈已啟用可視化樣式的 WPF 應用程式。
使用Mage
您嘗試使用憑證儲存中的憑證和收到的空白訊息框進行簽署
在 [ 簽署] 對話框中,您必須:
- 選取 [使用預存憑證簽署]。
- 從清單中選取憑證;第一個憑證不是預設選項。
按兩下 [不要簽署] 按鈕會導致例外狀況
此問題是已知的錯誤。 所有 ClickOnce 指令清單都必須經過簽署。 只要選取其中一個簽署選項,然後選取 [ 確定]。
更多錯誤
下表顯示當使用者安裝 ClickOnce 應用程式時,用戶端電腦使用者可能會收到的一些常見錯誤訊息。 每個錯誤訊息都會列在錯誤最可能原因的描述旁邊。
錯誤訊息 | 描述 |
---|---|
無法啟動應用程式。 請連絡應用程式發行者。 無法啟動應用程式。 請連絡應用程式廠商以取得協助。 |
這些是無法啟動應用程式時發生的一般錯誤訊息,而且找不到其他特定原因。 這通常表示應用程式已損毀,或 ClickOnce 存放區已損毀。 |
無法繼續。 應用程式的格式不正確。 請連絡應用程式發行者以取得協助。 應用程式驗證失敗。 無法繼續。 無法擷取應用程式檔。 部署中的檔案損毀。 |
部署中的其中一個指令清單檔案在語法上無效,或包含無法與對應檔案協調的哈希。 此錯誤也可能表示內嵌在元件內的指令清單已損毀。 重新建立部署並重新編譯應用程式,或在指令清單中手動尋找並修正錯誤。 |
無法擷取應用程式。 驗證錯誤。 應用程式安裝失敗。 在伺服器上找不到應用程式檔案。 請連絡應用程式發行者或您的系統管理員以取得協助。 |
無法下載部署中的一或多個檔案,因為您沒有存取這些檔案的許可權。 這可能是由網頁伺服器傳回的 403 禁止錯誤所造成,如果部署中的其中一個檔案以擴展名結尾,使得 Web 伺服器將它視為受保護的檔案,就可能發生此錯誤。 此外,包含一或多個應用程式檔案的目錄可能需要使用者名稱和密碼才能存取。 |
無法下載應用程式。 應用程式遺漏必要的檔案。 請連絡應用程式廠商或您的系統管理員以取得協助。 | 在伺服器上找不到應用程式指令清單中所列的一或多個檔案。 檢查您已上傳所有部署的相依檔案,然後再試一次。 |
應用程式下載失敗。 檢查您的網路連線,或連絡您的系統管理員或網路服務提供者。 | ClickOnce 無法建立與伺服器的網路連線。 檢查伺服器的可用性和網路狀態。 |
URLDownloadToCacheFile 失敗,並出現 HRESULT '<number>'。 嘗試下載 『file>』< 時發生錯誤。 | 如果使用者已在部署目標計算機上設定 Internet Explorer 進階安全性選項 [在安全與不安全模式之間變更時發出警告],而且所安裝 ClickOnce 應用程式的安裝 URL 會從不安全的重新導向至安全的網站 (或反之亦然) ,安裝將會失敗,因為 Internet Explorer 警告會中斷它。 若要解決此錯誤,您可以執行下列其中一項工作: - 清除安全性選項。 - 確定設定 URL 不會以變更安全性模式的方式重新導向。 - 完全移除重新導向,並指向實際的安裝URL。 |
寫入硬碟時發生錯誤。 磁碟上的空間可能不足。 請連絡應用程式廠商或您的系統管理員以取得協助。 | 這可能表示磁碟空間不足,無法儲存應用程式,但也可能表示當您嘗試將應用程式檔案儲存至磁碟驅動器時發生較常見的 I/O 錯誤。 |
無法啟動應用程式。 磁碟上沒有足夠的可用空間。 | 硬碟已滿。 清除空間,然後再次嘗試執行應用程式。 |
太多已部署的啟用嘗試一次載入。 | ClickOnce 會限制可以同時啟動的不同應用程式數目。 這主要是為了協助防範惡意嘗試對本機 ClickOnce 服務發動阻斷服務攻擊;嘗試重複啟動相同應用程式的使用者,會快速地連續啟動,最後只會有應用程式的單一實例。 |
無法透過網路啟動快捷方式。 | ClickOnce 應用程式的快捷方式只能在本機硬碟上啟動。 開啟指向遠端伺服器上快捷方式檔案的 URL 無法啟動它們。 |
應用程式太大,無法在部分信任中在線執行。 請連絡應用程式廠商或您的系統管理員以取得協助。 | 在部分信任中執行的應用程式不能大於在線應用程式配額大小的一半,預設為 250 MB。 |