Web Deploy 錯誤碼
適用於:網際網路資訊服務 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
RemoteAppNotFound
診斷
找不到遠端應用程式。 如果您嘗試傾印 「remotesite/remoteapp」,其中 「remoteapp」 實際上不存在,就可能發生此錯誤。
解決方法
指定實際存在的遠端應用程式名稱。
FileOrFolderNotFound
診斷
如果您嘗試在不存在的檔案或資料夾上執行 , SetAcl
就會發生此錯誤。
解決方法
指定存在的檔案或資料夾。
ERROR_DESTINATION_INVALID
診斷
計算機名稱的類型錯誤,或無法連線到計算機。
解決方法
嘗試檢查計算機名稱是否有效。 請嘗試手動 Ping 電腦。
ERROR_DESTINATION_NOT_REACHABLE
診斷
遠端電腦上未安裝或無法連線到 Web 管理服務或遠端代理程式。
解決方法
根據您要連線到的遠端計算機,確認遠端代理程式服務或 Web 管理服務已啟動。 您可以在遠端電腦上執行 net start wmsvc
和 net start msdepsvc
,以確保這些服務已啟動。 此外,請確定防火牆不會中斷與目的地的通訊。
ERROR_USER_UNAUTHORIZED
診斷
此錯誤碼可能會因為各種原因而顯示。 它通常表示驗證或授權問題,而且可能會因為下列任何原因而發生:
- 使用者不存在。
- 如果使用者使用 Web Management Service 進行連線,則無法存取月臺。
- 網站不存在。
- 密碼不正確。
解決方法
若要使用 Web 管理服務進行連線,請遵循下列步驟:
- 確認使用者名稱和密碼正確無誤。
- 確認網站存在。
- 確認您擁有月臺範圍的 IIS 管理員許可權。
若要使用遠端代理程式服務進行連線,請遵循下列步驟:
確認使用者名稱和密碼正確無誤。
確認您指定的使用者帳戶是遠端電腦上的 Administrators 群組成員。
注意
如果您未使用內建系統管理員,請建立名為 「MSDepSvcUsers」 群組的新群組,並將新的系統管理員新增至該群組。
確認網站存在。
ERROR_USER_NOT_ADMIN
診斷
如果您嘗試連線到遠端代理程式服務,但尚未提供適當的系統管理員認證,則會顯示ERROR_USER_NOT_ADMIN程序代碼。
解決方法
遠端代理程式服務接受內建的系統管理員或網域系統管理員認證。 如果您有非網域設定,且想要使用內建系統管理員以外的帳戶,請執行下列步驟:
- 在遠端電腦上建立個別的使用者群組
MSDepSvcUsers
。 - 在本機和遠端電腦上建立本機帳戶
A
。 - 在遠端電腦上新增
A
至MSDepSvcUsers
。 - 使用帳戶
A
發佈,這可讓您發佈,而不需要內建的系統管理員帳戶。
ERROR_CERTIFICATE_VALIDATION_FAILED
診斷
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>
ERROR_PROXY_GATEWAY
診斷
Proxy 閘道會防止 Web Deploy 與遠端 Web Deploy 端點通訊。
解決方法
Web Deploy 不會讀取系統 Proxy 設定。 因應措施是,請嘗試執行下列步驟來停用系統 Proxy:
- 啟動 Internet Explorer。
- 選取 [工具] > [選項]。
- 選取 [ 連線]。
- 選取 [ LAN 設定]。
- 停用所有複選框。
ERROR_SITE_DOES_NOT_EXIST
診斷
指定的 IIS 網站不存在。
解決方法
確認指定的網站確實存在。 有時候,如果您已指定 ,而不是\
在網站URL中指定/
,您可能會收到此錯誤。 請嘗試變更 /
為 \
。
ERROR_APP_DOES_NOT_EXIST
診斷
指定的應用程式不存在於 IIS 中。
解決方法
請檢查 IIS 管理員,確定您已正確指定應用程式路徑的名稱。
ERROR_USER_NOT_AUTHORIZED_FOR_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_EXECUTION_FAILURE
診斷
發生 SQL 文稿執行失敗。
解決方法
此錯誤可能會因為許多原因而發生。 如需詳細資訊,請參閱 Windows 上的 Web 開發。
ERROR_TYPE_NOT_FOUND_IN_ASSEMBLY
診斷
Web dbFullSql
Deploy 的提供者需要伺服器管理物件 10 版或更高版本。
解決方法
SQL 提供者無法執行,因為缺少相依性。 請確定已安裝Microsoft SQL Server 管理物件(版本 10 或更高版本)。
ERROR_OBJECT_TO_BE_DELETED_DOES_NOT_EXIST
診斷
Web Deploy 原本發現要刪除的物件,但嘗試刪除物件時,該物件遺失。
解決方法
請確定沒有其他外部進程在執行同步處理時修改目標。
ERROR_APPPOOL_VERSION_MISMATCH
診斷
來源應用程式集區版本與目的地應用程式集區版本不同。
解決方法
您可以手動變更應用程式集區版本以符合來源和目的地,或使用 apppoolnetfx
提供者自動執行。
ERROR_CENTRAL_CERT_STORE_SETTINGS_CANNOT_BE_READ
診斷
中央證書存儲無法用於您目前的設定。
解決方法
您必須確定您使用 IIS 8 或更新版本。 如果您在 64 位伺服器上執行 msdeploy.exe ,請確定您使用的是 64 位版本的可執行檔。
ERROR_CENTRAL_CERT_STORE_NOT_CONFIGURED_PROPERLY
診斷
集中式 SSL 證書存儲未安裝或正確設定。 IIS 7.5 或更早版本也不支援此功能。
解決方法
確認您要同步至或移出的伺服器正在執行 IIS 8 或更新版本。 同時確認已在該伺服器上安裝並設定集中式 SSL 證書存儲。
ERROR_MISSING_REQUIRED_DEPENDENCIES
診斷
AppHostAuthOverride 提供者需要 IIS 7 或更新版本。
解決方法
請確定您要修改的目的地伺服器正在執行 IIS 7 或更新版本。
ERROR_COULD_NOT_CONNECT_TO_REMOTESVC
診斷
Web Deploy 無法連線到遠端服務。
解決方法
請確定:
- 您可以 Ping 遠端電腦。
msdepsvc
或服務wmsvc
會在遠端伺服器上啟動。- 您的防火牆不會封鎖目的地上埠的連入連線。 如果您使用預設安裝,則為80,
msdepsvc
而針對則為wmsvc
8172。
ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH
診斷
如果您在兩部已安裝不同 .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
執行相同的動作。 如果您修改此檔案,請務必重新啟動 和net stop msdepsvc
net start msdepsvc
的 Web 部署代理程序服務。
ERROR_HTTPCERT_BINDING_NOT_FOUND
診斷
找不到指定的系結。
解決方法
從命令行執行 netsh http show sslcert
,以確認指定的系結存在。 如果找不到,您可能需要透過 IIS 管理員重新建立它。
ERROR_INCORRECT_PARAMETER_TAG
診斷
傳遞了不正確的參數標記。
解決方法
使用 SQL、SQLCE 或 MYSQL 標籤重新執行Microsoft部署。
ERROR_INVALID_PATH
診斷
提供者路徑無效。
解決方法
提供者的路徑可能會因您使用的提供者而有所不同。 若要深入瞭解您使用的提供者,請參閱 Web 部署提供者 。
ERROR_INVALID_SETTING_SPECIFIED
診斷
指定的提供者設定無效。
解決方法
若要深入瞭解您使用的提供者,請參閱 Web 部署提供者 。
ERROR_INVALID_SETTING_VALUE_SPECIFIED
診斷
提供者設定值無效。
解決方法
若要深入瞭解您使用的提供者,請參閱 Web 部署提供者 。
ERROR_SNI_BINDINGS_NOT_SUPPORTED
診斷
只有 IIS 8 或更新版本才支援 SNI 系結。
解決方法
SNI 系結只能在 IIS 8 或更新版本上建立。
ERROR_FAILED_TO_RESTORE_BACKUP
診斷
Web Deploy 無法還原備份。
解決方法
確認下列幾點:
- 指定的備份存在於伺服器上。
- 如果備份中有資料庫,則會在 連接字串 提供者設定中指定 連接字串。
ERROR_BACKUPS_ARE_NOT_CONFIGURED_PROPERLY
診斷
備份功能未在目的地伺服器上正確設定。
解決方法
檢查事件記錄檔中是否有設定錯誤的提示。 驗證儲存在 applicationHost.config 檔案中的設定是否符合 IIS 架構檔案BackupManagerSchema.xml。
ERROR_CANNOT_CREATE_BACKUP
診斷
Web Deploy 無法在目的地伺服器上建立新的備份。
解決方法
請確認:
- 如果您要執行
appHostConfig
提供者同步處理,請確定提供者的路徑不是空的。 - 如果指令清單中有多個使用虛擬路徑的提供者,請確定所有路徑都指向相同的應用程式。
- 如果您要執行手動備份,請確定此功能已在伺服器備份設定中開啟。
- 檢查伺服器事件記錄檔,如果傳回給客戶端的錯誤訊息不包含必要的資訊。
ERROR_SETTING_IS_READ_ONLY
診斷
您嘗試設定的備份設定會標示為唯讀且無法設定。
解決方法
伺服器管理員必須手動更新檔案,或使用Web Deploy的PowerShell腳本,將備份設定標示為applicationHost.config 檔案中的「可設定」。
ERROR_FILE_IN_USE
診斷
因為目的地檔案目前正在使用中,所以無法覆寫或刪除。
解決方法
在執行同步處理之前,請確定目的地檔案未使用中。如果您要將內容同步處理至 IIS 7 或更新版本上裝載的網站(使用 appHostConfig
、 iisApp
或 contentPath
提供者),請考慮在同步處理期間讓應用程式離線,方法是啟用 appOffline
規則。
您可以在發佈設定檔 (.pubxml) 中設定appOffline
規則。 將 EnableMSDeployAppOffline
專案新增至 PropertyGroup
如下:
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
</PropertyGroup>
ERROR_FAILED_TO_BRING_APP_ONLINE
診斷
Web Deploy 無法在同步處理完成後,從網站移除 app_offline.htm 檔案。
解決方法
您可以重新執行已啟用規則的 appOffline
同步處理,或從目的地伺服器上的月臺根目錄手動刪除 app_offline.htm 檔案。 如需失敗原因的詳細數據,請檢查伺服器事件記錄檔。
您可以在發佈設定檔 (.pubxml) 中設定appOffline
規則。 將 EnableMSDeployAppOffline
專案新增至 PropertyGroup
如下:
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
</PropertyGroup>
ERROR_HIGHER_FXVERSION_REQUIRED
診斷
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
請改用提供者來建立套件。 現在,對於自動備份而言,此限制沒有任何解決方案。
ERROR_TIMED_OUT
診斷
MySqlDump 花費太多時間回應指定的查詢。
解決方法
您可以變更 和 WaitIntervalSettingInfo
提供者設定的值,變更 Web Deploy 等候 MySqlDump 從查詢傳回的時間WaitAttemptsSettingInfo
長度。
ERROR_ASSEMBLY_NOT_FOUND
診斷
無法載入必要的相依性。
解決方法
如果您透過 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。
ERROR_CANNOT_CONNECT_TO_DATABASE
診斷
發生此錯誤的原因是無法對資料庫建立連線。
解決方法
請確認:
- 您的 連接字串 正確。
- 連接字串 中指定的帳戶可以存取資料庫。
- 您要連接的資料庫伺服器允許遠端連線。
- 您可以從執行 Web Deploy 的電腦存取資料庫伺服器。 如果您要連線到遠端 Web Deploy 伺服器並指定資料庫,則必須確定遠端 Web Deploy 伺服器可以存取您的資料庫。
ERROR_DACPAC_EXTRACTION_TIMEDOUT
診斷
DAC PAC 動作花了太長的時間才能完成。
解決方法
藉由指定 CommandTimeout
提供者設定,增加 Web Deploy 等候命令完成的時間量。
ERROR_NOT_SUPPORTED
診斷
Azure 網站不支援在 Web Deploy 發佈作業期間在伺服器上建立新的虛擬應用程式或修改現有的應用程式組態。
解決方法
您可以透過 Azure 入口網站 (https://portal.azure.com/) 建立新的虛擬應用程式或修改網站的現有組態設定。 若要這樣做:
- 登入入口網站。
- 開啟您的網站設定。
- 選取 [設定] 索引標籤。
- 在 [ 設定 ] 索引標籤中,修改您的網站,以符合您嘗試部署之應用程式的組態設定。 在大部分情況下,這隻是變更 .NET Framework 版本的問題,但在某些情況下,您可能也需要新增虛擬應用程式。
ERROR_EXCEPTION_WHILE_CREATING_OBJECT
一般而言,這表示驗證來源上的提供者時發生問題。 例如,如果您嘗試從來源檔案共用同步處理內容,而且無法存取檔案共用,您可能會看到此錯誤碼。 針對這類問題,請確定您可以存取您想要發佈的所有源數據。
ERROR_EXECUTING_METHOD
泛型錯誤碼,指出發行資料庫時發生問題。 通常,與此程式代碼相關聯的堆疊追蹤和訊息應該指出 SQL 管理物件或 SQL 資料層應用程式架構擲回的實際錯誤。