06
2025
01
23:23:08

通过使用Visual Studio将你的程序一键发布到windows的IIS

https://cloud.tencent.com/developer/video/81390


  • 分享一点自己的实践经验,嗯,我们自己写的web程序部署到服务器的时候呢,自己以前都是用FTP,或者是直接用远程桌面的方式进行复制啊部署啊,这样迭代周期快,就很麻烦,那比如说现在我服务器上的一个演示程序啊,它刷新都是这个这个地方,然后我改一下程序,比如说改到24,然后点发布,这个时候呢,它就会自动部署到服务器,而且整个过程都是使用微软自带的,然后再点刷新啊,程序就自动已经是最新版本,这样就会能够节省很多时间。现在开一台公网的服务器来测试,然后使用Windows server的系统,我们创建服务器。
  • 01:01

    等服务器完全连接成功,我们去使用远程桌面工具进行连接,然后进行服务管理器添加功能和角色,这个地方要选择外包服务器,然后继续下一步选择功能里面要把用户授权选上,这里面的所有的管理工具功能要选上,他现在已经安装成功了,到管理里面有个I。
  • 02:01

    然后到这个里面就表示已经装成功了,然后这里有个管理服务,启用远程连接,然后使用Windows凭据或者window I is管理器的凭据,然后应用,应用好之后再把这个,嗯,Windows提供的这个包安装一下。选完整啊,这样就装好了,要注意这个地方它是使用的8172端口,如果如果换别的端口的话也是可以的,然后我们还要在安全组里面开放这个端口,8172,如果为了安全性的话,可以只使用自己的IP地址,这样别人就访问不了这个端口进行保存,那我们的程序是使用80端口,所以防火墙里面要把80端口开放一下,然后我们输入IP地址,就会能够直接连到服务器的I is的默认页面,然后我们还要接下来进行一个设置,就是设置一个服务器的用户,在呃,服务器里面会有一个I is管理器的用户,然后直接可以添加自己设定好密码给用户。
  • 03:25

    设定好以后呢,在网站的下面可以进行点右键,然后有个部署启用发布,这个如果说没有,呃,第一次没有显示的话,那需要把is关掉,然后在工具里面重新进来,然后才会才会看到网站里面,再点右键部署启用发布,然后在这个里面的用户选择,就是要选我们刚刚自己新建的那个用户名的密码,等会儿会用到,嗯,然后直接点设置,这样在服务器这边的设置就已经完成了,嗯,我新建了一个VS的那个这项目的一个测试项目啊,这个项目就只是输出一个字符串,一个API接口,然后我们再点发布,发布才是重点,然后有个选择外包服务器,选择外包部署,然后服务器这个地方呢,就直接填服务器的IP,然后这里的用户名是我们刚刚设置的,注意这里。
  • 04:25

    里面有一个站点名称,站点名称就是我们在is里面的这个名称,然后这里有个目标URL,这个是他发布成功之后呢,会自己打开一个浏览器,你自己填上的话,待发布成功之后,就会自动打开这个地址,没有问题,直接点测试链接,嗯,这个地址要这样填。这样成功,然后完成完成,然后这个时候直接点发货的时候,文件会自动传到服务器,并自动进行部署,那我们在访问后面的这个页面的时候,就是就会显示这个hello word, 我们如果说要改其中的一个内容,比如说2WORD20241023,然后再到里面发布一下,这样就发布成功了,就在刷新页面就是20241023,这样就简化了我们上传到服务器部署程序的过程。






Win2022 dc,用iis用户管理创建了一个test,在发布时,选中iis用户,提示: 发生了一个或多个错误: 无法授予用户“test"在"web"上的完全控制权限

这个不知道如何处理了?





附微软官网等一些相关链接,虽然一点用处或者帮忙都没有


https://learn.microsoft.com/zh-cn/troubleshoot/developer/webapps/iis/deployment-migration/web-deploy-error-codes#error_destination_not_reachable 


Web 部署错误代码

适用于: Internet Information Services 7.0、Internet Information Services 7.5、Internet Information Services 8.0

对于某些常见错误情况,Web 部署显示错误消息。 本文介绍显示错误消息的原因,并提供避免错误的步骤。 根据 Web 部署的启动方式,错误消息可能有所不同。 例如,Microsoft WebMatrix 选择显示自定义错误消息。 以下几个部分中列出的错误消息显示在msdeploy.exe命令行和 API 上

MySqlDumpNotFound

诊断

Web 部署可能找不到 mysqldump.exe 可执行文件。 MySQL 数据库部署需要此可执行文件。

分辨率

可以尝试以下任一解决方法:

  • 将可执行文件置于 C:\Program Files\MySQL\MySQL Server\bin.

  • REG_SZ将注册表项设置为指向可执行文件。 例如,设置为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\<version>\MySqlDumpPathc:\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 管理服务进行连接,则无权访问站点。

  • 网站不存在。

  • 密码不正确。

分辨率

若要使用 Web 管理服务进行连接,请执行以下步骤:

  1. 验证用户名和密码是否正确。

  2. 验证站点是否存在。

  3. 验证你是否具有站点范围的 IIS 管理器权限。

若要使用远程代理服务进行连接,请执行以下步骤:

  1. 验证用户名和密码是否正确。

  2. 验证指定的用户帐户是否是远程计算机上管理员组的成员。

     备注

    如果不使用内置管理员,请创建一个名为“MSDepSvcUsers”组的新组,并将新管理员添加到该组。

  3. 验证站点是否存在。

ERROR_USER_NOT_ADMIN

诊断

如果尝试连接到远程代理服务但尚未提供适当的管理员凭据,则会显示ERROR_USER_NOT_ADMIN代码。

分辨率

远程代理服务接受内置管理员或域管理员凭据。 如果你有非域设置,并且想要使用内置管理员以外的帐户,请执行以下步骤:

  1. 在远程计算机上创建单独的用户组 MSDepSvcUsers 。

  2. 在本地和远程计算机上创建本地帐户 A 。

  3. A添加到MSDepSvcUsers远程计算机上。

  4. 使用帐户 A 进行发布,这样就无需内置管理员帐户即可发布。

ERROR_CERTIFICATE_VALIDATION_FAILED

诊断

Web 部署终结点提供的证书不受信任或无效。 如果远程服务器具有远程代理服务或 Web 管理服务的自签名证书,则通常会发生这种情况。

分辨率

在终结点上安装受信任的证书,或尝试绕过证书验证。

  1. 在msdeploy.exe命令行中,传递-allowUntrusted标志。

  2. 在 Visual Studio 发布 UI 中,检查 Allow Untrusted

  3. 从 Visual Studio 部署包(例如, MyApp.deploy.cmd)传递 -allowUntrusted 标志。

  4. 将 <AllowUntrustedCertificate>true</AllowUntrustedCertificate> 添加到 pubxml 文件:

    XML

    <PropertyGroup>   <AllowUntrustedCertificate>true</AllowUntrustedCertificate> </PropertyGroup>

ERROR_PROXY_GATEWAY

诊断

代理网关阻止 Web 部署与远程 Web 部署终结点通信。

分辨率

Web 部署不会读取系统代理设置。 解决方法是尝试通过执行以下步骤来禁用系统代理:

  1. 启动 Internet Explorer。

  2. 选择“工具”>“选项”。

  3. 选择连接

  4. 选择 LAN 设置

  5. 禁用所有复选框。

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 部署提供程序执行操作。

分辨率

默认情况下,Web 部署设置会创建管理服务委派规则,允许非管理员使用此提供程序执行操作。 检查此提供程序所需的委派规则是否已正确设置。

解决方法

从程序>控制面板,在 Web 部署上运行修复。 或者,手动创建委派规则。

ERROR_USER_NOT_AUTHORIZED_FOR_DEPLOYMENTPROVIDER

诊断

非管理用户尝试对用户当前未授权的 Web 部署提供程序执行操作。 如果尝试对 Web 部署的设置不创建委派规则的提供程序执行操作,则会显示此错误代码。

分辨率

Web 部署设置不会为此提供程序创建委派规则。 请手动创建委派规则。

ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER

诊断

尝试以非管理员身份通过 Web 管理服务进行连接时,可能会出现此错误:

  • 若要使用 IIS 管理器凭据进行连接,Web 管理服务的标识(通常是本地服务)需要对站点根文件夹拥有完全控制权限,才能在下方创建文件和文件夹。

  • 若要使用 Windows 凭据进行连接,Windows 用户需要完全控制站点的根文件夹才能创建文件和文件夹。

分辨率

授予站点根文件夹的相应帐户完全控制权限。 或者,执行以下步骤:

  1. 启动 IIS 管理器 ,然后右键单击有问题的站点。

  2. >单击“部署配置 Web 部署发布”。

  3. 选择适当的用户名。

  4. 单击“设置”。

ERROR_INSUFFICIENT_ACCESS_TO_APPHOSTCONFIG

诊断

为 createApp 委派规则指定的 RunAs 标识需要对 IIS 服务器的 applicationHost.config 文件进行写入访问。

分辨率

为 createApp 委派规则的 RunAs 标识提供对 IIS 服务器的 applicationHost.config 文件的写入访问权限。

ERROR_INVALID_CONNECTION_STRING

诊断

指定了无效的数据库连接字符串,导致或dbFullSqldbMySql提供程序无法正确运行。 如果连接字符串格式不正确(例如,Se v ver=localhost;...),或者如果连接字符串包含目标数据库服务器无法识别的密钥,则会发生此错误。

分辨率

验证连接字符串是否有效。

ERROR_SQL_EXECUTION_FAILURE

诊断

发生 SQL 脚本执行失败。

分辨率

此错误可能由于多种原因而发生。 有关详细信息,请参阅 Windows 上的 Web 开发。

ERROR_TYPE_NOT_FOUND_IN_ASSEMBLY

诊断

dbFullSql Web 部署提供程序需要服务器管理对象版本 10 或更高版本。

分辨率

由于缺少依赖项,SQL 提供程序无法运行。 确保已安装Microsoft SQL Server 管理对象(版本 10 或更高版本)。

ERROR_OBJECT_TO_BE_DELETED_DOES_NOT_EXIST

诊断

Web 部署最初找到了要删除的对象,但尝试删除该对象时,该对象丢失。

分辨率

在执行同步时,请确保没有其他外部进程正在修改目标。

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 部署无法连接到远程服务。

分辨率

请确保:

  • 可以 ping 远程计算机。

  • 或服务msdepsvcwmsvc在远程服务器上启动。

  • 防火墙不会阻止目标上端口的传入连接。 如果使用了默认安装,则为 80 for msdepsvc 和 8172。wmsvc

ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH

诊断

如果在安装了不同版本的 .NET 的两台计算机之间执行 Web 服务器同步,则可能会出现ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH错误。

分辨率

默认情况下,Web 部署首选使用在其配置文件中指定的 .NET 版本。 如果客户端上使用的 .NET 版本与服务器上的版本不同,则会阻止 Web 服务器同步,以防止迁移不同版本的 .NET 的设置。 若要解决此问题,有两个选项:

  1. netFxVersion使用提供程序设置告知 Web 部署要迁移的 .NET 设置。 下面是一个命令行示例,它强制 Web 部署同步 .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

  2. 在客户端和服务器之间在同一版本的 .NET 中运行 Web 部署。 在客户端上,更改文件中第一个指定的 .NET 版本的版本元素%programfiles%\IIS\Microsoft Web Deploy V3\msdeploy.exe.config的顺序supportedRuntime(请参阅示例的 gacInstall 提供程序)。 这表示 .NET 的版本,假设它安装在系统上。 在服务器端,可以对 %programfiles%\IIS\microsoft web deploy\msdepsvc.exe.config 执行相同的操作。 如果修改此文件,请确保重启 Web 部署代理服务(即net stop msdepsvc和 net start msdepsvc)。

ERROR_HTTPCERT_BINDING_NOT_FOUND

诊断

找不到指定的绑定。

分辨率

从命令行运行 netsh http show sslcert ,验证指定的绑定是否存在。 如果未找到,则可能需要通过 IIS 管理器重新创建它。

ERROR_INCORRECT_PARAMETER_TAG

诊断

传递了不正确的参数标记。

分辨率

使用 SQL、SQLCE 或 MYSQL 标记重新运行Microsoft部署。

ERROR_INVALID_PATH

诊断

提供程序路径无效。

分辨率

提供商的路径可能因所使用的提供商而异。 请参阅 windows/it-pro/windows-server-2008-R2-and-2008/dd569040(v=ws.10)" data-linktype="absolute-path" style="box-sizing: inherit;outline-color: inherit;cursor: pointer;overflow-wrap: break-word;background-color: rgba(0, 0, 0, 0);outline-style: initial;outline-width: 0px">Web 部署提供程序 ,了解有关正在使用的提供程序的详细信息。

ERROR_INVALID_SETTING_SPECIFIED

诊断

指定的提供程序设置无效。

分辨率

请参阅 Web 部署提供程序 ,了解有关正在使用的提供程序的详细信息。

ERROR_INVALID_SETTING_VALUE_SPECIFIED

诊断

提供程序设置值无效。

分辨率

请参阅 Web 部署提供程序 ,了解有关正在使用的提供程序的详细信息。

ERROR_SNI_BINDINGS_NOT_SUPPORTED

诊断

SNI 绑定仅在 IIS 8 或更高版本上受支持。

分辨率

只能在 IIS 8 或更高版本上创建 SNI 绑定。

ERROR_FAILED_TO_RESTORE_BACKUP

诊断

Web 部署无法还原备份。

分辨率

验证以下几点:

  • 指定的备份是否存在于服务器上。

  • 如果备份中有数据库,连接字符串提供程序设置中指定了连接字符串。

ERROR_BACKUPS_ARE_NOT_CONFIGURED_PROPERLY

诊断

目标服务器上未正确配置备份功能。

分辨率

检查事件日志中是否有设置配置不当的提示。 验证存储在 applicationHost.config 文件中的设置是否符合 IIS 架构文件 BackupManagerSchema.xml

ERROR_CANNOT_CREATE_BACKUP

诊断

Web 部署无法在目标服务器上创建新备份。

分辨率

验证:

  • 如果要执行 appHostConfig 提供程序同步,请确保提供程序的路径不为空。

  • 如果清单中有多个使用虚拟路径的提供程序,请确保所有路径都指向同一应用程序。

  • 如果要执行手动备份,请确保在服务器备份设置中启用该功能。

  • 如果返回到客户端的错误消息不包含所需的信息,请检查服务器事件日志。

ERROR_SETTING_IS_READ_ONLY

诊断

尝试设置的备份设置标记为只读,无法设置。

分辨率

服务器管理员需要通过手动更新文件或使用 Web 部署的 PowerShell 脚本,在 applicationHost.config 文件中将备份设置标记为“settable”。

ERROR_FILE_IN_USE

诊断

无法覆盖或删除目标文件,因为它当前正在使用中。

分辨率

在执行同步之前,请确保目标文件未使用。如果要将内容同步到 IIS 7 或更高版本上托管的网站(使用 appHostConfig, iisApp或 contentPath 提供程序),请考虑通过启用 appOffline 规则在同步期间使应用程序脱机。

可以在发布配置文件(.pubxml)中配置appOffline规则。 将 EnableMSDeployAppOffline 元素添加到 PropertyGroup 如下所示:

XML

<PropertyGroup>   <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline> </PropertyGroup>

ERROR_FAILED_TO_BRING_APP_ONLINE

诊断

Web 部署在同步完成后无法从站点中删除 app_offline.htm 文件。

分辨率

可以重新运行启用了规则的同步 appOffline ,或者从目标服务器上的站点根目录中手动删除 app_offline.htm 文件。 有关失败原因的详细信息,请查看服务器事件日志。

可以在发布配置文件(.pubxml)中配置appOffline规则。 将 EnableMSDeployAppOffline 元素添加到 PropertyGroup 如下所示:

XML

<PropertyGroup>   <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline> </PropertyGroup>

ERROR_HIGHER_FXVERSION_REQUIRED

诊断

Web 部署无法使用 SQL 专用管理员连接(DAC)执行同步,因为 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 部署。

分辨率

在服务器上安装最新版本的 Web 部署。

DacFxNeededForSQLProvider、ERROR_SCRIPTDOM_NEEDED_FOR_SQL_PROVIDER、ERROR_SQLCLRTYPES_NEEDED_FOR_SQL_PROVIDER

三个错误的组共享以下诊断和解决方法:

诊断

未安装 SQL DAC 及其依赖项。

分辨率

使用 Web 平台安装程序安装:

  • 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 响应给定查询花费了很长时间。

分辨率

可以通过更改提供程序设置的值来更改 Web 部署等待 MySqlDump 从查询返回的时间WaitAttemptsSettingInfoWaitIntervalSettingInfo

ERROR_ASSEMBLY_NOT_FOUND

诊断

无法加载所需的依赖项。

分辨率

如果通过 MSI 手动安装 Web 部署,请尝试使用 Web 平台安装程序重新安装 Web 部署,这有助于安装所需的依赖项。

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 平台安装程序安装最新版本的 SMO。

ERROR_CANNOT_CONNECT_TO_DATABASE

诊断

发生此错误的原因是无法与数据库建立连接。

分辨率

验证:

  • 连接字符串是正确的。

  • 连接字符串中指定的帐户是否有权访问数据库。

  • 要连接的数据库服务器是否允许远程连接。

  • 是否可以从运行 Web 部署的计算机访问数据库服务器。 如果要连接到远程 Web 部署服务器并指定数据库,则需要确保远程 Web 部署服务器有权访问数据库。

ERROR_DACPAC_EXTRACTION_TIMEDOUT

诊断

DAC PAC 操作花费了太长的时间才能完成。

分辨率

通过指定 CommandTimeout 提供程序设置增加 Web 部署等待命令完成的时间。

ERROR_NOT_SUPPORTED

诊断

Azure 网站不支持在 Web 部署发布操作期间在服务器上创建新的虚拟应用程序或修改现有应用程序配置。

分辨率

可以通过Azure 门户https://portal.azure.com/()创建新的虚拟应用程序或修改网站的现有配置设置。 为此,请按以下步骤操作:

  1. 登录到门户。

  2. 打开网站设置。

  3. 选择“配置”选项卡。

  4. 在“配置”选项卡中,修改站点以匹配要尝试部署的应用程序的配置设置。 在大多数情况下,这只是更改 .NET Framework 版本的问题,但在某些情况下,这可能还需要添加新的虚拟应用程序。

ERROR_EXCEPTION_WHILE_CREATING_OBJECT

通常,这指示验证源上的提供程序时出现问题。 例如,如果尝试从源文件共享同步内容,并且无权访问文件共享,则可能会看到此错误代码。 对于此类问题,请确保你有权访问要从中发布的所有源数据。

ERROR_EXECUTING_METHOD

用于指示发布数据库时出现问题的通用错误代码。 通常,与此代码关联的堆栈跟踪和消息应指示 SQL 管理对象或 SQL 数据层应用程序框架引发的实际错误。




在 IIS 7 上安装和配置 Web 部署


https://learn.microsoft.com/zh-cn/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy


总结

在本演练中,我们将展示安装和配置用于管理员或非管理员部署的 Web 部署的步骤。 这意味着使客户端能够使用 Web 部署将网站内容发布到服务器所需的步骤,即使客户端没有服务器的管理员凭据也可以。

注意:当前 Web 部署 V3 RTW 只能通过直接下载使用。 我们仍在处理 WebPI 源。 安装 V3 RTW 的最简单方法是首先使用 WebPI 4 RC (x86 (https://download.microsoft.com/download/C/4/9/C4963E95-B3E7-4520-BD87-86BFEED90A1E/WebPlatformInstaller_x86.msi)/x64 (https://download.microsoft.com/download/C/4/9/C4963E95-B3E7-4520-BD87-86BFEED90A1E/WebPlatformInstaller_amd64.msi)) 安装 Web 部署 V3 RC(遵循“安装和配置 Web 部署”教程中的说明),然后运行 Web 部署 V3 RTW msi 更新它。

为非管理员部署安装和配置 Web 部署

要求:

服务器必须具有 IIS7 附带的操作系统,即 Windows Server 2008 或 Windows Server 2008 R2。

使用 WebPI 安装 Web 部署及其依赖项,如 Web 管理服务 (WMSvc)

  1. 使用以下方法安装 Web 部署:

    1. 在安装向导中,选择“完成”安装选项。
      显示 Microsoft Web 部署 2 点 0 安装向导的屏幕截图。突出显示了“完成”。

    2. 注意:通常不建议新手用户使用 MSI,因为建议或必需的依赖产品必须单独安装。 使用 MSI 而不是 WebPI 在服务器上安装 Web 部署时,以下限制可能会造成问题:

    3. MSI 不会安装 SQL 共享管理对象 (SMO),而这是 SQL Server 数据库部署所必需的。 可以使用 WebPI 安装此组件以启用 SQL Server 数据库部署。

    4. 如果未安装 Web 管理服务,MSI 将不会安装 Web 管理服务处理程序组件。非管理员部署需要处理程序组件。 应首先安装 Windows 组件 IIS(包括管理服务)以使处理程序组件能够安装。

    5. 如果未安装 PowerShell v2,MSI 将不会配置 Web 管理服务以允许非管理员部署。 此设置步骤包括在 IIS 服务器 Administration.config 文件中创建委派规则,允许非管理员用户使用 Web 部署。 PowerShell v2 内置于 Windows Server 2008 R2,但对于 Windows Server 2008 可能需要 Windows 更新。 或者,在安装后可以手动添加委派规则。

    6. 直接从 IIS.net Web 部署页面https://www.iis.net/download/webdeploy下载 Web 部署安装程序 (x86) | (x64)

    为委派的非管理员部署配置站点

    使用上述方法 (1) 或 (2a) 安装 Web 部署后,非管理员发布的所有服务器级配置就都完成了,但在站点级别需要额外的配置。 可以使用下面所述的方法 (1) 或 (2) 完成此站点配置。

    1. 使用 Web 部署 PowerShell 脚本为新的或现有的非管理员用户创建新站点或设置对现有网站的权限,如 PowerShell 脚本演练 [链接待添加] 所述,或

    2. 使用 IIS 管理器 UI 为现有用户配置现有站点上的发布

      • 已为“NonAdminUser”启用发布

      • 已授予“NonAdminUser”对 C:\inetpub\wwwroot\test 的完全控制

      • 已成功创建设置文件 C:\Users\JohnDoe\Desktop\NonAdminUser\_Default Web Site.PublishSettings

      1. 启动 IIS 管理器(在开始菜单中键入“inetmgr.exe” )

      2. 展开“站点”节点并右键单击某个站点,例如“测试”

      3. 单击“部署”>“为 Web 部署发布进行配置...”

      4. 系统将显示以下 UI。 单击“...”
        显示“配置 Web 部署发布”对话框的屏幕截图。突出显示第一个变量上的省略号。

      5. 单击“选择:”
        显示“允许用户”对话框的屏幕截图。在 Windows 文本框旁边突出显示了“选择”。

      6. 键入非管理员 Windows 用户的名称,然后单击“确定”
        “选择用户或组”对话框的屏幕截图。在“输入对象名称以选择文本框”中,将输入非管理员用户。

      7. 单击“设置”时,将显示以下日志行:

      8. 非管理员 Windows 用户 (NonAdminUser) 现在可以发布到站点(测试)。

    为管理员部署安装和配置 Web 部署

    要求:

    使用上述方法安装 Web 部署。 如果使用客户端操作系统(如 Vista 或 Windows 7),或者不使用 IIS7+(如 Windows Server 2003)的 Windows Server 版本,则需要直接从 Web 部署工具下载页进行安装。 对于这些客户端或服务器 2003 计算机,Web 管理服务处理程序组件和相关委派规则将不适用。

    故障排除常见问题:

    • 如果要升级 Web 部署的现有安装,请确保通过在管理命令提示符处运行以下命令来重启处理程序和代理服务:

    • net stop msdepsvc & net start msdepsvc

    • net stop wmsvc & net start wmsvc

    • 确保防火墙允许连接到你正在使用的服务。 Web 部署代理服务 (MsDepSvc) 默认在端口 80 上侦听,Web 管理服务(WmSvc,也称为“处理程序”)默认在端口 8172 上侦听。

    • 必须使用内置 Administrator 帐户或已添加到管理员组的域帐户运行 MsDepSvc。 不是内置帐户的本地管理员将不适用于 MsDepSvc。

    • 检查是否已向 IIS 注册 .NET 4.0:

      • 症状:.NET 4.0 已安装,但 IIS 中没有 .NET 4.0 应用程序池或处理程序映射。 发布使用 .NET 4.0 的应用程序(例如,基于 WebMatrix 的站点模板应用程序的应用程序)后,无法浏览到它们。

      • 原因:在安装 IIS 之前,计算机已安装 .NET 4.0。

      • 解决方案:运行以下命令,将 .NET 4.0 注册到 IIS:%systemdrive%\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet\_regiis.exe -iru




    推荐本站淘宝优惠价购买喜欢的宝贝:

    image.png

    本文链接:https://hqyman.cn/post/8831.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

    分享到:
    打赏





    休息一下~~


    « 上一篇 下一篇 »

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    请先 登录 再评论,若不是会员请先 注册

    您的IP地址是: