アプリケーション プール ユーザーが書き込み可能な Web Deploy パッケージのサブディレクトリ (config) を作成しようとしています。この投稿にあることを正確に実行しようとしているように見えます: Can Web Deploy's setAcl provider be used on a sub-directory?
パブリッシュは正常に機能しますが、DefaultAppPool には構成ディレクトリへの読み取りアクセスしかありません。以下の {ProjectName}.wpp.targets ファイルを作成すると、config フォルダーの次の ACL エントリがサイトマニフェストに生成されます。
{プロジェクト名}.wpp.targets
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="SetupCustomAcls" AfterTargets="AddIisSettingAndFileContentsToSourceManifest">
<ItemGroup>
<MsDeploySourceManifest Include="setAcl">
<Path>$(_MSDeployDirPath_FullPath)\config</Path>
<setAclAccess>Read,Write,Modify</setAclAccess>
<setAclResourceType>Directory</setAclResourceType>
<AdditionalProviderSettings>setAclResourceType;setAclAccess</AdditionalProviderSettings>
</MsDeploySourceManifest>
</ItemGroup>
</Target>
<Target Name="DeclareCustomParameters" AfterTargets="AddIisAndContentDeclareParametersItems">
<ItemGroup>
<MsDeployDeclareParameters Include="Config Folder">
<Kind>ProviderPath</Kind>
<Scope>setAcl</Scope>
<Description>Add write permission to config folder.</Description>
<DefaultValue>$(_DestinationContentPath)\config</DefaultValue>
<Match>^$(_EscapeRegEx_MSDeployDirPath)\\config$</Match>
<Value>$(_DestinationContentPath)/config</Value>
<ExcludeFromSetParameter>True</ExcludeFromSetParameter>
</MsDeployDeclareParameters>
</ItemGroup>
</Target>
</Project>
[Advanced] セクションで [Include ACLs] を true に変更すると、パラメーターが提供されますが、適用されません。
注: これが関連しているかどうかはわかりませんが、インストールの概要の [詳細] ペインに次の行が表示されます。
[24/04/2012 1:41:46 PM] Source setAcl (C:\Users\benr\Desktop\eippk\obj\Release\Package\PackageTmp\config) does not match destination (Default Web Site/WAT_FLNet_deploy/config) differing in attributes (isDest['False','True'],setAclUser,setAclAccess). Update pending.
[24/04/2012 1:41:46 PM] Updating setAcl (Default Web Site/WAT_FLNet_deploy/config).
簡単なことでいいのですが、どなたか教えていただけないでしょうか?
編集: OK、これは Server 2008 R2 のインストールで適切に動作します。これは、管理サービスが Windows クライアント SKU に含まれていないことが原因のようです。おそらく個別にインストールできますが、Web Platform Installer 3.0 と Web Deploy 2.1 の両方のフル インストールを試みましたが、成功しませんでした。どんなアイデアでも大歓迎です。