2010-11-18 65 views
4

我试图在Visual Web Developer Express 2010中为部署的网站的子文件夹设置ACL来构建部署包。我用下面的信息http://leethams.wordpress.com/2010/06/12/modifying-directory-permissions-with-web-deployment/使用Web Deploy包设置子文件夹的ACL

这是我的测试:

创建一个新的空白ASP.NET应用程序(WebApplication2在这个例子中)

在先进的编译选项,变化的.NET Framework目标版本3.5

创建(在本例中配置)的新文件夹并添加任何文件的文件夹

创建一个名为WebApplication2.wpp.targets新的文件中,与此内容

<?xml version="1.0" encoding="utf-8" ?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <!-- Extends the AfterAddIisSettingAndFileContentsToSourceManifest action do also set ACLs --> 
     <IncludeCustomACLs>TRUE</IncludeCustomACLs> 
     <AfterAddIisSettingAndFileContentsToSourceManifest Condition="'$(AfterAddIisSettingAndFileContentsToSourceManifest)'==''"> 
      $(AfterAddIisSettingAndFileContentsToSourceManifest); 
      SetCustomACLs; 
     </AfterAddIisSettingAndFileContentsToSourceManifest> 
    </PropertyGroup> 
    <Target Name="SetCustomACLs" Condition="'$(IncludeCustomACLs)'=='TRUE'"> 
     <Message Text="Adding Custom ACls" /> 
     <ItemGroup> 
      <MsDeploySourceManifest Include="setAcl" Condition="$(IncludeSetAclProviderOnDestination)"> 
       <setAclUser>anonymousAuthenticationUser</setAclUser> 
       <path>$(_MSDeployDirPath_FullPath)</path> 
       <setAclAccess>Read,Write</setAclAccess> 
       <setAclResourceType>Directory</setAclResourceType> 
       <AdditionalProviderSettings>setAclResourceType;setAclAccess</AdditionalProviderSettings> 
      </MsDeploySourceManifest> 
     </ItemGroup> 
    </Target> 
</Project> 

我在命令行中执行,一切工作正常:

------------------------------------------------------- 
Start executing msdeploy.exe 
------------------------------------------------------- 
"C:\Program Files\IIS\Microsoft Web Deploy\\msdeploy.exe" -source:package='C:\T 
emp\WebApplication2\WebApplication2\obj\Debug\Package\WebApplication2.zip' -dest 
:auto,includeAcls='False' -verb:sync -disableLink:AppPoolExtension -disableLink: 
ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\Temp\WebApp 
lication2\WebApplication2\obj\Debug\Package\WebApplication2.SetParameters.xml" 

Info: Actualizando setAcl (Default Web Site/WebApplication2_deploy). 
Info: Actualizando setAcl (Default Web Site/WebApplication2_deploy). 
Info: Actualizando setAcl (Default Web Site/WebApplication2_deploy). 
Número total de cambios: 3 (0 agregados, 0 eliminados, 3 actualizados, 0 parámet 
ros cambiados, 0 bytes copiados) 

现在,要设置权限的Config文件夹,我更改以下行,重建部署包。

<path>$(_MSDeployDirPath_FullPath)/Config</path> 

我收到以下错误:

------------------------------------------------------- 
Start executing msdeploy.exe 
------------------------------------------------------- 
"C:\Program Files\IIS\Microsoft Web Deploy\\msdeploy.exe" -source:package='C:\T 
emp\WebApplication2\WebApplication2\obj\Debug\Package\WebApplication2.zip' -dest 
:auto,includeAcls='False' -verb:sync -disableLink:AppPoolExtension -disableLink: 
ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\Temp\WebApp 
lication2\WebApplication2\obj\Debug\Package\WebApplication2.SetParameters.xml" 

Info: Actualizando setAcl (Default Web Site/WebApplication2_deploy). 
Info: Actualizando setAcl (Default Web Site/WebApplication2_deploy). 
Info: Actualizando setAcl (C:\Temp\WebApplication2\WebApplication2\obj\Debug\Pac 
kage\PackageTmp/Config). 
Error: Se debe especificar un valor para 'setAclUser' cuando se usa el proveedor 
'setAcl' con una ruta de acceso física. 
Recuento de errores: 1. 

在英语中,它说:“错误:‘setAclUser’的值必须使用带有物理路径的‘SETACL’供应商时,可以指定”。注意第三SETACL改为在部署包所在的物理路径

我又试图修改这种方式:

<AdditionalProviderSettings>setAclUser;setAclResourceType;setAclAccess</AdditionalProviderSettings> 

但错误依然存在。 如果我用“/ t”开关执行部署包,它不会抛出错误,尽管它仍然显示物理路径。 我可以硬编码IIS路径,改变这样的行:

<path>Default Web Site/WebApplication2_deploy/Config</path> 

它工作正常。但是,我不想这样做,因为安装路径需要参数化。

修改路径到backslassh没有什么区别:

<path>Default Web Site/WebApplication2_deploy\Config</path> 

任何帮助,将不胜感激。 谢谢

+0

的可能重复[可Web部署的SETACL提供商在子目录中使用?(http://stackoverflow.com/questions/6861990/can-web-deploys-setacl-provider-be - 二手-ON-A-子目录) – 2011-10-18 15:03:53

回答

相关问题