2013-10-28 10 views
8

Web Deploy 3.5以降、接続文字列の自動暗号化は、フラグ:–EnableRule:EncryptWebConfigを使用してサポートされています。しかし、でそれを実行している時:日付ドキュメントへLearn more-linkポイント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. 

、と私はオンラインの任意の情報を見つけるように見えることはできません。

"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ファイルではありませんでした。私の展開ユーザーがキーコンテナにアクセスできない何らかの理由で(Web Deployment Serviceのエラーログでスローされた例外はSystem.Configuration.ConfigurationErrorsException: The RSA key container could not be opened.でした)

というコマンドを使用して終了しました。<MYUSER>に必要なアクセス権があります。

0

web.configファイルがネストされているため、同じ問題が発生しました。

これはEncryptWebConfigルールのバグです。

ルートweb.configで管理できる場合は、この問題を回避できます。

+0

'Web.config'がネストされていると、ルートの中に1つのファイルがあり、例えばViews-directoryの中に1つのファイルがありますか? (またはASP.NET MVCでない場合は他のディレクトリ) – cederlof

+0

はい、それは正確です! – Stephan

+0

これが問題でしたか? – calcazar

関連する問題