9

由于Web Deploy 3.5使用标志支持连接字符串的自动加密:–EnableRule:EncryptWebConfig. 但是,在运行它时:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='C:\[...]\MyApp.WebDeployPackage.zip' -dest:auto,includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\[...]\MyApp.SetParameters.xml" -EnableRule:EncryptWebConfig  -verbose

我得到:

Error Code: ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG
More Information: Failed to encrypt destination web.config: C:\[...]\Web.config.  
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG.
Error: The given key was not present in the dictionary.

了解更多链接指向过时的文档,我似乎无法在线找到任何信息。

我怀疑该工具在幕后使用 aspnet_regiis,但我不确定。是的,我正在以完整的管理员权限运行上述内容。

4

4 回答 4

1

我有同样的问题,但这不是由于嵌套web.config文件。结果由于某种原因,我的部署用户无法访问密钥容器(在 Web 部署服务错误日志中,抛出的异常是System.Configuration.ConfigurationErrorsException: The RSA key container could not be opened.)。

我最终使用了这个命令:aspnet_regiis -pa "NetFrameworkConfigurationKey" "<MYUSER>"提供<MYUSER>必要的访问权限。

于 2014-12-09T18:19:14.423 回答
1

我遇到了同样的问题,我花了一段时间才找到解决方法——卸载 Web Deploy(通过添加/删除程序)并再次安装(通过 Web 平台安装程序)就可以了。

为了让其他人更容易阅读实际错误 - 它们记录在系统事件日志中,您需要向下导航树并展开应用程序并向下导航到 Web 部署。

于 2018-08-01T02:14:22.787 回答
0

由于嵌套web.config文件,我遇到了同样的问题。

这似乎是EncryptWebConfig规则中的一个错误。

如果您可以仅使用 root 进行管理,则可以解决此问题web.config

于 2014-01-15T11:15:33.547 回答
0

从安装的 web 平台在服务器上安装 web deploy 3.6 解决了我的问题

于 2019-02-27T20:47:56.720 回答