適用於:網際網路資訊服務 7.0、網際網路資訊服務 7.5、網際網路資訊服務 8.0
對於某些常見的錯誤案例,Web Deploy 會顯示錯誤訊息。 本文說明顯示錯誤訊息的原因,並提供避免錯誤的步驟。 視 Web Deploy 的啟動方式而定,錯誤訊息可能會有所不同。 例如,Microsoft WebMatrix 選擇顯示自定義錯誤訊息。 下列幾節中列出的錯誤訊息會顯示在 命令列和 API msdeploy.exe :
MySqlDumpNotFound
診斷
Web Deploy 可能找不到 mysqldump.exe 可執行檔。 MySQL 資料庫部署需要此可執行檔。
解決方法
您可以嘗試下列任一因應措施:
- 將可執行檔放在
C:\Program Files\MySQL\MySQL Server\bin中。 -
REG_SZ設定登錄機碼以指向可執行檔。 例如,將 設定HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\<version>\MySqlDumpPath為c:\mysqldump\mysqldump.exe
找不到RemoteApp
診斷
找不到遠端應用程式。 如果您嘗試匯出 "remotesite/remoteapp",而其中的 "remoteapp" 實際上不存在,就可能發生此錯誤。
解決方法
指定實際存在的遠端應用程式名稱。
文件或資料夾不存在
診斷
如果您嘗試在不存在的檔案或資料夾上執行 , SetAcl 就會發生此錯誤。
解決方法
指定存在的檔案或資料夾。
目標無效錯誤
診斷
電腦名稱輸入錯誤,或無法連線到電腦。
解決方法
嘗試檢查計算機名稱是否有效。 請嘗試手動 Ping 電腦。
ERROR_DESTINATION_NOT_REACHABLE(目標無法到達)
診斷
遠端電腦上未安裝或無法連線到 Web 管理服務或遠端代理程式。
解決方法
根據您要連線到的遠端計算機,確認遠端代理程式服務或 Web 管理服務已啟動。 您可以在遠端電腦上執行 net start wmsvc 和 net start msdepsvc ,以確保這些服務已啟動。 此外,請確定防火牆不會中斷與目的地的通訊。
使用者未授權錯誤
診斷
此錯誤碼可能會因為各種原因而顯示。 它通常表示驗證或授權問題,而且可能會因為下列任何原因而發生:
- 使用者不存在。
- 如果使用者透過 Web Management Service 進行連線,則無法存取該網站的 IIS 管理員權限。
- 網站不存在。
- 密碼不正確。
解決方法
若要使用 Web 管理服務進行連線,請遵循下列步驟:
- 確認使用者名稱和密碼正確無誤。
- 確認網站存在。
- 確認您對該網站範圍擁有 IIS 管理員權限。
若要使用遠端代理程式服務進行連線,請遵循下列步驟:
確認使用者名稱和密碼正確無誤。
確認您指定的使用者帳戶是遠端電腦上的 Administrators 群組成員。
注意
如果您未使用內建系統管理員,請建立名為 「MSDepSvcUsers」 群組的新群組,並將新的系統管理員新增至該群組。
確認網站存在。
錯誤_使用者_不是管理員
診斷
如果您嘗試連線到遠端代理程式服務,但尚未提供適當的系統管理員認證,則會顯示ERROR_USER_NOT_ADMIN程序代碼。
解決方法
遠端代理程式服務接受內建的系統管理員或網域系統管理員認證。 如果您有非網域設定,且想要使用內建系統管理員以外的帳戶,請執行下列步驟:
- 在遠端電腦上建立個別的使用者群組
MSDepSvcUsers。 - 在本機和遠端電腦上各建立一個本機帳戶
A。 - 在遠端電腦上新增
A至MSDepSvcUsers。 - 使用帳戶
A發佈,這可讓您發佈,而不需要內建的系統管理員帳戶。
證書驗證失敗錯誤
診斷
Web Deploy 端點所提供的憑證不受信任或無效。 如果遠端伺服器有遠端代理程式服務或 Web 管理服務的自我簽署憑證,通常會發生這種情況。
解決方法
在端點上安裝受信任的憑證,或嘗試略過憑證驗證。
從命令行msdeploy.exe,傳遞
-allowUntrusted旗標。從 Visual Studio 發佈 UI,檢查
Allow Untrusted。從 Visual Studio 部署套件 (例如, MyApp.deploy.cmd),傳遞
-allowUntrusted旗標。將 新增
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>至 pubxml 檔案:<PropertyGroup> <AllowUntrustedCertificate>true</AllowUntrustedCertificate> </PropertyGroup>
代理伺服器網關錯誤
診斷
Proxy 閘道會防止 Web Deploy 與遠端 Web Deploy 端點通訊。
解決方法
Web Deploy 不會讀取系統 Proxy 設定。 因應措施是,請嘗試執行下列步驟來停用系統 Proxy:
- 啟動 Internet Explorer。
- 選取 [工具]> [選項]。
- 選取 [ 連線]。
- 選取 [ LAN 設定]。
- 停用所有複選框。
錯誤_網站不存在
診斷
指定的 IIS 網站不存在。
解決方法
確認指定的網站確實存在。 有時候,如果您在網站URL中使用了/而不是\,您可能會收到此錯誤。 請嘗試變更 / 為 \。
錯誤_應用程式不存在
診斷
指定的應用程式不存在於 IIS 中。
解決方法
請檢查 IIS 管理員,確定您已正確指定應用程式路徑的名稱。
錯誤_用戶未被授權使用IISAPP,
ERROR_USER_NOT_AUTHORIZED_FOR_DBFULLSQL,
ERROR_USER_NOT_AUTHORIZED_FOR_DBMYSQL,
ERROR_USER_NOT_AUTHORIZED_FOR_SETACL,
ERROR_USER_NOT_AUTHORIZED_FOR_APPPOOLNETFX,
ERROR_USER_NOT_AUTHORIZED_FOR_APPPOOLPIPELINE,
ERROR_USER_NOT_AUTHORIZED_FOR_RECYCLEAPP,
ERROR_USER_NOT_AUTHORIZED_FOR_CREATEAPP,
ERROR_USER_NOT_AUTHORIZED_FOR_CONTENTPATH
列出的錯誤群組會共用下列診斷、解決和因應措施:
診斷
非系統管理用戶嘗試使用使用者目前未獲授權的 Web Deploy 提供者執行作業。
解決方法
根據預設,Web Deploy 安裝程式會建立管理服務委派規則,以允許非系統管理員使用此提供者執行作業。 檢查此提供者所需的委派規則是否已正確設定。
因應措施
從 [程式> 控制台,在 Web Deploy 上執行 Repair。 或者,手動建立委派規則。
使用者未獲授權進行部署提供程式的操作 (ERROR_USER_NOT_AUTHORIZED_FOR_DEPLOYMENTPROVIDER)
診斷
非系統管理用戶嘗試使用使用者目前未獲授權的 Web Deploy 提供者執行作業。 如果您嘗試使用 Web Deploy 安裝程式未建立委派規則的提供者執行作業,就會顯示此錯誤碼。
解決方法
Web Deploy 安裝程式不會為此提供者建立委派規則。 手動建立委派規則。
ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER
診斷
當您嘗試以非系統管理員身分透過 Web 管理服務連線時,可能會發生此錯誤:
- 若要使用 IIS 管理員憑證進行連線,Web Management Service 的身分識別(通常是本地服務)需要對網站根資料夾擁有完整控制權,才能在其下建立檔案和資料夾。
- 若要使用 Windows 認證進行連線,Windows 用戶必須完全控制網站的根資料夾,才能建立檔案和資料夾。
解決方法
授予網站根資料夾的適當帳戶完全控制權。 或者,執行下列步驟:
- 啟動 IIS 管理器,然後在相關的站點上右鍵點擊。
- 按 [部署] 並 [設定] 以進行 Web 部署發佈。
- 選取適當的用戶名稱。
- 按一下 設定。
ERROR_INSUFFICIENT_ACCESS_TO_APPHOSTCONFIG
診斷
為 createApp 委派規則指定的 RunAs 身分識別需要對 IIS 伺服器的 applicationHost.config 檔案擁有寫入許可權。
解決方法
為 createApp 委派規則的 RunAs 身分識別提供 IIS 伺服器的 applicationHost.config 檔案寫入許可權。
ERROR_INVALID_CONNECTION_STRING(無效的連接字串錯誤)
診斷
指定了無效的資料庫 連接字串,導致 dbFullSql 或 dbMySql 提供者無法正確執行。 如果 連接字串 格式不正確(例如 Se v ver=localhost;...)或 連接字串 包含無法辨識的索引鍵,就可能發生此錯誤。
解決方法
確認 連接字串 有效。
ERROR_SQL_執行失敗
診斷
發生 SQL 文稿執行失敗。
解決方法
此錯誤可能會因為許多原因而發生。 如需詳細資訊,請參閱 Windows 上的 Web 開發。
組件中找不到錯誤類型
診斷
Web dbFullSql Deploy 的提供者需要伺服器管理物件版本 10 或更高版本。
解決方法
SQL 提供者無法執行,因為缺少相依性。 請確定已安裝Microsoft SQL Server 管理物件(版本 10 或更高版本)。
要刪除的對象不存在的錯誤
診斷
Web Deploy 原本發現要刪除的物件,但嘗試刪除物件時,該物件遺失。
解決方法
請確定沒有其他外部進程在執行同步處理時修改目標。
應用程式池版本不匹配錯誤
診斷
來源應用程式集區版本與目的地應用程式集區版本不同。
解決方法
您可以手動變更應用程式集區版本以符合來源和目的地,或使用 apppoolnetfx 提供者自動執行。
無法讀取中央證書存儲設置錯誤
診斷
中央證書存儲無法用於您目前的設定。
解決方法
您必須確定您使用 IIS 8 或更新版本。 如果您在 64 位伺服器上執行 msdeploy.exe ,請確定您使用的是 64 位版本的可執行檔。
ERROR_CENTRAL_CERT_STORE_NOT_CONFIGURED_PROPERLY(中央憑證儲存配置不正確)
診斷
集中式 SSL 證書存儲未安裝或正確設定。 IIS 7.5 或更早版本也不支援此功能。
解決方法
確認您要同步至或移出的伺服器正在執行 IIS 8 或更新版本。 同時確認已在該伺服器上安裝並設定集中式 SSL 證書存儲。
錯誤_缺少必要的依賴項
診斷
AppHostAuthOverride 提供者需要 IIS 7 或更新版本。
解決方法
請確定您要修改的目的地伺服器正在執行 IIS 7 或更新版本。
錯誤_無法連接到遠端服務
診斷
Web Deploy 無法連線到遠端服務。
解決方法
請確定:
- 您可以 Ping 遠端電腦。
-
msdepsvc或服務wmsvc會在遠端伺服器上啟動。 - 您的防火牆不會封鎖目的地上埠的連入連線。 如果您使用預設安裝,則
msdepsvc為80,而wmsvc為8172。
框架版本不匹配錯誤
診斷
如果您在兩台已安裝不同版本 .NET 的機器上進行伺服器同步操作,就可能會發生 ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH 錯誤。
解決方法
根據預設,Web Deploy 偏好使用其組態檔中指定的 .NET 版本。 如果 Web Deploy 在用戶端上使用的 .NET 版本與伺服器上的版本不同,則會封鎖網頁伺服器同步處理,以防止移轉不同 .NET 版本的設定。 若要解決此問題,您有兩個選項:
請使用
netFxVersion提供者設定來準確告知 Web Deploy 要移轉的 .NET 設定。 以下是一個命令行範例,會強制 Web Deploy 同步處理 .NET 設定:msdeploy.exe -verb:sync -source:webserver,machineconfig32.netfxversion=2,machineconfig64.netfxversion=2,rootwebconfig32.netfxversion=2,rootwebconfig64.netfxversion=2 -dest:webserver,machineconfig32.netfxversion=2,machineconfig64.netfxversion=2,rootwebconfig32.netfxversion=2,rootwebconfig64.netfxversion=2,computername=destServername在客戶端與伺服器之間以相同版本的 .NET 執行 Web Deploy。 在客戶端上,變更
%programfiles%\IIS\Microsoft Web Deploy V3\msdeploy.exe.config檔案中與第一個指定之 .NET 版本相關的supportedRuntime版本元素順序(參閱gacInstall 提供者範例)。 這表示 .NET 的版本,假設它已安裝在您的系統上。 在伺服器端,您可以對%programfiles%\IIS\microsoft web deploy\msdepsvc.exe.config執行相同的動作。 如果您修改此檔案,請務必重新啟動 Web 部署代理服務,也就是net stop msdepsvc和net start msdepsvc。
未找到HTTP憑證綁定ERROR_HTTPCERT_BINDING_NOT_FOUND
診斷
找不到指定的系結。
解決方法
從命令行執行 netsh http show sslcert ,以確認指定的系結存在。 如果找不到,您可能需要透過 IIS 管理員重新建立它。
參數標籤錯誤
診斷
傳遞了不正確的參數標記。
解決方法
使用 SQL、SQLCE 或 MYSQL 標籤重新執行Microsoft部署。
錯誤_路徑無效
診斷
提供者路徑無效。
解決方法
提供者的路徑可能會因您使用的提供者而有所不同。 若要深入瞭解您使用的提供者,請參閱 Web 部署提供者 。
錯誤:指定的設定無效
診斷
指定的提供者設定無效。
解決方法
若要深入瞭解您使用的提供者,請參閱 Web 部署提供者 。
錯誤_無效的設定值_已指定
診斷
提供者設定值無效。
解決方法
若要深入瞭解您使用的提供者,請參閱 Web 部署提供者 。
ERROR_SNI_BINDINGS_NOT_SUPPORTED
診斷
只有 IIS 8 或更新版本才支援 SNI 系結。
解決方法
SNI 系結只能在 IIS 8 或更新版本上建立。
錯誤_恢復備份失敗
診斷
Web Deploy 無法還原備份。
解決方法
確認下列幾點:
- 指定的備份存在於伺服器上。
- 如果備份中有資料庫,則會在 連接字串 提供者設定中指定 連接字串。
錯誤:備份配置不正確
診斷
備份功能未在目的地伺服器上正確設定。
解決方法
檢查事件記錄檔中是否有設定錯誤的提示。 驗證儲存在 applicationHost.config 檔案中的設定是否符合 IIS 架構檔案BackupManagerSchema.xml。
ERROR_CANNOT_CREATE_BACKUP
診斷
Web Deploy 無法在目的地伺服器上建立新的備份。
解決方法
請確認:
- 如果您要執行
appHostConfig提供者同步處理,請確定提供者的路徑不是空的。 - 如果指令清單中有多個使用虛擬路徑的提供者,請確定所有路徑都指向相同的應用程式。
- 如果您要執行手動備份,請確定此功能已在伺服器備份設定中開啟。
- 檢查伺服器事件記錄檔,如果傳回給客戶端的錯誤訊息不包含必要的資訊。
錯誤:設定為唯讀
診斷
您嘗試設定的備份設定會標示為唯讀且無法設定。
解決方法
伺服器管理員需要在applicationHost.config檔案中將備份設定設為「可設定」,這可以通過手動更新檔案或使用Web Deploy的PowerShell腳本來完成。
錯誤_檔案使用中
診斷
因為目的地檔案目前正在使用中,所以無法覆寫或刪除。
解決方法
在執行同步處理之前,請確定目的地檔案未使用中。如果您要將內容同步處理至 IIS 7 或更新版本上裝載的網站(使用 appHostConfig、 iisApp或 contentPath 提供者),請考慮在同步處理期間讓應用程式離線,方法是啟用 appOffline 規則。
您可以在發佈設定檔 (appOffline) 中設定規則。 將 EnableMSDeployAppOffline 專案新增至 PropertyGroup 如下:
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
</PropertyGroup>
應用程式上線失敗錯誤
診斷
Web Deploy 無法在同步處理完成後,從網站移除 app_offline.htm 檔案。
解決方法
您可以重新執行啟用 appOffline 規則的同步處理,或者從目的地伺服器上的網站根目錄手動刪除 app_offline.htm 檔案。 如需失敗原因的詳細數據,請檢查伺服器事件記錄檔。
您可以在發佈設定檔 (appOffline) 中設定規則。 將 EnableMSDeployAppOffline 專案新增至 PropertyGroup 如下:
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
</PropertyGroup>
需要更高版本的FX
診斷
Web Deploy 無法使用 SQL 專用系統管理員連線執行同步處理,因為 SQL DAC 需要 .NET 4.0。
解決方法
請確定使用 DAC 進行 SQL 連線的伺服器已安裝 .NET 4.0。 如果您要使用 msdeploy.exe 客戶端進行連線,請確定它已將 .NET 4.0 列為msdeploy.exe組態檔中的第一個選項。 如果您要連線到 msdepsvc 伺服器端點 (Web 部署代理程式服務),請確定它已將 .NET 4.0 列為組態檔中的 msdepsvc.exe 第一個選項。
ERROR_MAX_NUM_APPLICATIONS_EXCEEDED (超過應用程式的最大數量)
診斷
您已建立比目標伺服器上允許的更多 Web 應用程式。
解決方法
向伺服器管理員要求更多應用程式,或刪除一些現有的應用程式。
ERROR_API_NOT_SUPPORTED
診斷
所呼叫的 API 不存在於目標伺服器上,因為伺服器正在使用舊版的 Web Deploy。
解決方法
在伺服器上安裝最新版本的 Web Deploy。
DacFxNeededForSQLProvider, ERROR_SCRIPTDOM_NEEDED_FOR_SQL_PROVIDER, ERROR_SQLCLRTYPES_NEEDED_FOR_SQL_PROVIDER
三個錯誤的群組會共用下列診斷和解決方式:
診斷
不會安裝 SQL DAC 及其相依性。
解決方法
使用 Web Platform Installer 安裝:
- Microsoft SQL Server 2012 資料層應用程式架構
- SQL Server 2012 Transact-SQL ScriptDom
- SQL Server 系統 CLR 類型 11.0
ERROR_PACKAGE_TOO_LARGE 錯誤:封包過大
診斷
所建立的封裝或備份超過大小上限 4 GB。
解決方法
在建立套件時,請改用archiveDir提供者。 現在,對於自動備份而言,此限制沒有任何解決方案。
連線逾時錯誤
診斷
MySqlDump 花費太多時間回應指定的查詢。
解決方法
您可以透過變更 WaitAttemptsSettingInfo 和 WaitIntervalSettingInfo 提供者設定的值,來調整 Web Deploy 等候 MySqlDump 從查詢傳回的時間長度。
找不到組件錯誤
診斷
無法載入必要的程式依賴項。
解決方法
如果您透過 MSI 手動安裝 Web Deploy,請嘗試使用 Web Platform Installer 重新安裝 Web Deploy,這有助於為您安裝必要的相依性。
ERROR_SMO_NEEDED_FOR_SQL_PROVIDER、ERROR_USER_NOT_AUTHORIZED_FOR_IISAPP、ERROR_SCRIPTER_NEEDED_FOR_SQLCE_PROVIDER
錯誤碼ERROR_SMO_NEEDED_FOR_SQL_PROVIDER、ERROR_USER_NOT_AUTHORIZED_FOR_IISAPP和ERROR_SCRIPTER_NEEDED_FOR_SQLCE_PROVIDER碼會共用下列診斷和解決方式:
診斷
找不到 SQL 共用管理物件(SMO),或已安裝的版本太舊。
解決方法
使用 Web Platform Installer 安裝最新版本的 SMO。
無法連接至資料庫錯誤
診斷
發生此錯誤的原因是無法對資料庫建立連線。
解決方法
請確認:
- 您的 連接字串 正確。
- 連接字串 中指定的帳戶可以存取資料庫。
- 您要連接的資料庫伺服器允許遠端連線。
- 您可以從執行 Web Deploy 的電腦存取資料庫伺服器。 如果您要連線到遠端 Web Deploy 伺服器並指定資料庫,則必須確定遠端 Web Deploy 伺服器可以存取您的資料庫。
提取 DACPAC 時間超時錯誤
診斷
DAC PAC 動作花了太長的時間才能完成。
解決方法
藉由指定 CommandTimeout 提供者設定,增加 Web Deploy 等候命令完成的時間量。
ERROR_NOT_SUPPORTED
診斷
Azure 網站不支援在 Web Deploy 發佈作業期間在伺服器上建立新的虛擬應用程式或修改現有的應用程式組態。
解決方法
您可以透過 Azure 入口網站 (https://portal.azure.com/) 建立新的虛擬應用程式或修改網站的現有組態設定。 若要這樣做:
- 登入入口網站。
- 開啟您的網站設定。
- 選擇「設定」 索引標籤。
- 在 [ 設定 ] 索引標籤中,修改您的網站,以符合您嘗試部署之應用程式的組態設定。 在大部分情況下,這隻是變更 .NET Framework 版本的問題,但在某些情況下,您可能也需要新增虛擬應用程式。
ERROR_EXCEPTION_WHILE_CREATING_OBJECT
通常,這表示在驗證來源提供者時出現問題。 例如,如果您嘗試從來源檔案共用同步處理內容,而且無法存取檔案共用,您可能會看到此錯誤碼。 針對這類問題,請確定您可以存取您想要發佈的所有源數據。
執行方法錯誤
泛型錯誤碼,指出發行資料庫時發生問題。 通常,與此程式碼相關聯的堆疊追蹤和訊息應該指出 SQL 管理物件或 SQL 資料層應用程式架構丟出的實際錯誤。