0

我正在尝试在 Web Deploy 包中创建一个对应用程序池用户可写的子目录(config)。看起来好像我正在尝试完全按照这篇文章中的内容进行操作: Web Deploy 的 setAcl 提供程序可以在子目录中使用吗?

发布工作正常,但 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).

我希望这很简单,但有人可以帮忙吗?

编辑:好的,这在 Server 2008 R2 安装上正常工作。看起来这是由于 Windows 客户端 SKU 中未包含管理服务。假设您可以单独安装它,但我尝试了 Web Platform Installer 3.0 和 Web Deploy 2.1 的完整安装,但没有成功。欢迎任何想法。

4

1 回答 1

0

仅供参考:我卸载并重新安装了 WebDeploy,重新启动,它现在可以工作了!$%#@&!

于 2012-05-10T14:52:56.860 回答