MSBUILD web deploy包zip文件不从父文件夹继承权限

MSBUILD web deploy包zip文件不从父文件夹继承权限,msbuild,webdeploy,msbuild-4.0,microsoft-web-deploy,Msbuild,Webdeploy,Msbuild 4.0,Microsoft Web Deploy,我正在使用包目标从msbuild创建一个zip文件。它可以很好地创建它,并且我放置它的文件夹对某个用户具有权限,允许该用户完全控制该文件夹。但是,当我删除zip文件,然后运行msbuild再次创建zip文件时,zip文件已失去该用户的权限 因此,我使用某个用户以编程方式部署包文件,而该用户不再具有权限 如何强制该zip文件从父文件夹继承权限,这样我就不必在每次msbuild创建zip文件时手动将权限添加回该zip文件?事实证明,没有特定的方法告诉包目标设置权限。因此,解决方法是在包目标之后自己设

我正在使用包目标从msbuild创建一个zip文件。它可以很好地创建它,并且我放置它的文件夹对某个用户具有权限,允许该用户完全控制该文件夹。但是,当我删除zip文件,然后运行msbuild再次创建zip文件时,zip文件已失去该用户的权限

因此,我使用某个用户以编程方式部署包文件,而该用户不再具有权限


如何强制该zip文件从父文件夹继承权限,这样我就不必在每次msbuild创建zip文件时手动将权限添加回该zip文件?

事实证明,没有特定的方法告诉包目标设置权限。因此,解决方法是在包目标之后自己设置权限

我是这样做的。正则表达式部分是从构建脚本中的项目文件路径中提取项目文件的名称。该名称与创建的。\Output\Packages\文件夹匹配。然后在exec命令中调用cacls,为指定的用户设置该目录中每个文件的权限

  <Target Name="Package">
    <MSBuild Projects="@(PackageProject)" Targets="Package" Properties="Platform=$(Platform);
                                                                           Configuration=$(Configuration);
                                                                           DeployOnBuild=true;
                                                                           DeployTarget=Package;
                                       PackageLocation=$(PackageOutputDir)\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2])\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2]).zip;
                                       PackageAsSingleFile=true;
                                       ExcludeFilesFromDeployment=Web.config;
                                       _PackageTempDir=$(PackageOutputDir)\temp;">
    </MSBuild>
    <Exec Command="echo y| cacls $(PackageOutputDir)\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2])\* /G NetworkService:F"/>
  </Target>

最好恢复zip文件的权限继承,如下所示

icacls {packageFileName.zip} /reset

在这种情况下没有。除进程放置在该文件夹中的zip文件外,还有其他文件。他们还需要权限才能保持不变。我需要再次将权限添加到文件夹中,以便它们正确地继承权限。