針對 ClickOnce 部署的特定錯誤進行疑難排解
適用於: Visual Studio
本文介紹部署 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 的網頁伺服器進行安裝,可能會發生問題,因為該操作系統會因為安全性原因而封鎖安裝 .config 檔案。 若要啟用要安裝的 .config 檔案,請在 [發佈選項] 對話框中選取 [使用 “.deploy” 擴展名。
您也必須針對 .application、 .manifest 和 .deploy 檔案適當地設定內容類型(也稱為MIME類型)。 如需詳細資訊,請參閱您的網頁伺服器檔。
如需詳細資訊,請參閱 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 Server Extensions。
錯誤:無法建立網站 '<site>'。 不會安裝與 FrontPage Server Extensions 通訊的元件
請確定您已在發行來源的計算機上安裝 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
您嘗試在證書存儲中使用憑證進行簽署,並收到空白消息框
在 [ 簽署 ] 對話框中,您必須:
- 選取 [使用預存憑證簽署]。
- 從清單中選取憑證;第一個憑證不是預設選取專案。
按兩下 [不要簽署] 按鈕會造成例外狀況
此問題是已知的 Bug。 所有 ClickOnce 指令清單都必須簽署。 只要選取其中一個簽署選項,然後選取 [ 確定]。
更多錯誤
下表顯示用戶端電腦使用者安裝 ClickOnce 應用程式時可能會收到的一些常見錯誤訊息。 每個錯誤訊息都會列在錯誤最可能原因的描述旁邊。
錯誤訊息 | 描述 |
---|---|
無法啟動應用程式。 請連絡應用程式發行者。 無法啟動應用程式。 請連絡應用程式廠商以取得協助。 |
這些是無法啟動應用程式時發生的一般錯誤訊息,而且找不到其他特定原因。 這通常表示應用程式已損毀,或 ClickOnce 存放區已損毀。 |
無法繼續。 應用程式的格式不正確。 請連絡應用程式發行者以取得協助。 應用程式驗證未成功。 無法繼續。 無法擷取應用程式檔。 部署中的檔案損毀。 |
部署中的其中一個指令清單檔案在語法上無效,或包含無法與對應檔案協調的哈希。 此錯誤也可能表示內嵌在元件內的指令清單已損毀。 重新建立部署並重新編譯您的應用程式,或尋找並手動修正指令清單中的錯誤。 |
無法擷取應用程式。 驗證錯誤。 應用程式安裝未成功。 在伺服器上找不到應用程式檔案。 請連絡應用程式發行者或系統管理員以取得協助。 |
無法下載部署中的一或多個檔案,因為您沒有存取這些檔案的許可權。 這可能是 Web 伺服器傳回 403 禁止錯誤所造成,如果部署中的其中一個檔案以讓網頁伺服器將其視為受保護的檔案,就可能發生此錯誤。 此外,包含一或多個應用程式檔案的目錄可能需要使用者名稱和密碼才能存取。 |
無法下載應用程式。 應用程式遺失必要的檔案。 請連絡應用程式廠商或系統管理員以取得協助。 | 在伺服器上找不到應用程式指令清單中列出的一或多個檔案。 確認您已上傳所有部署的相依檔案,然後再試一次。 |
應用程式下載未成功。 檢查您的網路連線,或連絡您的系統管理員或網路服務提供者。 | ClickOnce 無法建立伺服器的網路連線。 檢查伺服器的可用性和網路狀態。 |
URLDownloadToCacheFile 失敗,並出現 HRESULT '<number>'。 嘗試下載 『<file>』 時發生錯誤。 | 如果使用者已在部署目標計算機上設定 Internet Explorer 進階安全性選項 [警告是否在安全與不安全模式之間變更],而且如果安裝的 ClickOnce 應用程式的設定 URL 從不安全的重新導向至安全月臺(反之亦然),安裝將會失敗,因為 Internet Explorer 警告會中斷它。 若要解決此錯誤,您可以執行下列其中一項工作: - 清除安全性選項。 - 請確定設定 URL 不會以變更安全性模式的方式重新導向。 - 完全移除重新導向,並指向實際的設定URL。 |
寫入硬碟時發生錯誤。 磁碟上可能沒有足夠的空間。 請連絡應用程式廠商或系統管理員以取得協助。 | 這可能表示儲存應用程式的磁碟空間不足,但當您嘗試將應用程式檔案儲存到磁碟驅動器時,也可能表示較一般 I/O 錯誤。 |
無法啟動應用程式。 磁碟上沒有足夠的可用空間。 | 硬碟已滿。 清除空間,然後嘗試再次執行應用程式。 |
太多已部署的啟用會嘗試一次載入。 | ClickOnce 會限制可以同時啟動的不同應用程式數目。 這主要是為了協助防止惡意嘗試對本機 ClickOnce 服務進行阻絕拒絕服務攻擊;嘗試重複啟動相同應用程式的用戶會連續快速啟動,最後只會有一個應用程式的實例。 |
無法透過網路啟動快捷方式。 | ClickOnce 應用程式的快捷方式只能在本機硬碟上啟動。 無法藉由開啟指向遠端伺服器上的快捷方式檔案的URL來啟動它們。 |
應用程式太大,無法在部分信任中在線執行。 請連絡應用程式廠商或系統管理員以取得協助。 | 在部分信任中執行的應用程式不能大於在線應用程式配額大小的一半,預設為 250 MB。 |