Manoj Talreja
Manoj Talreja

Reputation: 853

MSBuild Extension Pack Zip the folders and subfolders

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.

Upvotes: 1

Views: 4533

Answers (3)

Julien Hoarau
Julien Hoarau

Reputation: 49970

You need to provide a RemoveRoot property, 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"/>

Upvotes: 11

Manoj Talreja
Manoj Talreja

Reputation: 853

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

Upvotes: 0

Rick D
Rick D

Reputation: 346

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

Upvotes: 1

Related Questions