views:

238

answers:

3

I have to Zip my folders and subfolders Using MSbuild, I was looking at the MSBuild Extension pack, and tried this

 <ItemGroup>
  <ZipFiles Include="\Test\Web\**\*.*" >
    <Group>Release</Group>
  </ZipFiles>
 </ItemGroup>



 <MSBuild.ExtensionPack.Compression.Zip TaskAction="Create" CompressFiles="@(ZipFiles)" ZipFileName="$(WorkingDir)%(ZipFiles.Group).zip"/>

When I do this it just keep adding all the files to root, instead of adding it into the specific subfolder within the zip file.

I am missing something, can anyone help here please.

A: 

I believe you need to have a value for the RemoveRoot property.

Rick D
A: 

You need to provide a RemoteRoot, this property sets the root to remove from the compress files path. (More info)

<ItemGroup>
  <ZipFiles Include="\Test\Web\**\*.*" >
    <Group>Release</Group>
  </ZipFiles>
</ItemGroup>

<MSBuild.ExtensionPack.Compression.Zip 
                        TaskAction="Create" 
                        CompressFiles="@(ZipFiles)" 
                        ZipFileName="$(WorkingDir)%(ZipFiles.Group).zip"
                        RemoveRoot="\Test\Web"/>
madgnome
A: 

Since, nobody answered early, I went ahead and used 7 Zip, Command line utility, to do that.

ManojTrek