2013-10-28 6 views
8

Web Deploy 3.5 이후 연결 문자열의 자동 암호화는 플래그 : –EnableRule:EncryptWebConfig을 사용하여 지원됩니다. 날짜가 문서를MSDeploy 연결 문자열 자동 암호화, 키가 사전에 없습니다.

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. 

Learn more-link 점을, 나는 온라인으로 어떤 정보를 찾을 수없는 것 :

"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 

내가 얻을 : 그러나시와 실행.

나는이 도구가 백그라운드에서 aspnet_regiis를 사용하고 있다고 의심하지만 확실하지 않습니다. 예, 전체 관리자 권한으로 위를 실행하고 있습니다.

+0

Windows server 2008에 배포했는데 verbose 매개 변수를 사용하는 경우에도 오류가 발생하지 않았습니다. 단지 연결 문자열을 암호화하지 않았습니다. 동일한 패키지를 2012 서버에 배포 할 때 오류가 발생했습니다. 2008 및 IIS 7.5에 배포 한 사람들에게만 참고할 수 있습니다. – bkstill

답변

1

동일한 문제가 있었지만 중첩 된 web.config 파일 때문이 아닙니다. 내 배포 사용자가 키 컨테이너에 액세스 할 수없는 몇 가지 이유로 인해 발생합니다 (웹 배포 서비스 오류 로그에 throw 된 예외는 System.Configuration.ConfigurationErrorsException: The RSA key container could not be opened.입니다).

이 명령을 사용하여 <MYUSER>에게 필요한 액세스 권한을 부여했습니다.

0

web.config 개의 파일이 중첩되어있어 동일한 문제가 발생했습니다.

이것은 EncryptWebConfig 규칙의 버그 인 것 같습니다.

루트로만 관리 할 수 ​​있으면이 문제를 해결할 수 있습니다.

+0

중첩 된'Web.config'는 루트에 하나의 파일을 의미하고, 예를 들어 Views- 디렉토리에 하나의 파일을 의미합니까? (또는 ASP.NET MVC가 아닌 다른 디렉토리) – cederlof

+0

예, 정확히 맞습니다! – Stephan

+0

이것이 문제였습니까? 나는 같은 대답을 찾기 위해 애 쓰고있다. – calcazar