Join me at Google+ ...

Yesterday I had a really strange problem while adding a .wsp file to the SharePoint solution store: “The file manifest.xml does not exist in the solution package”.

After renaming the .wsp extension to .cab I browsed the package and I found the missing manifest.xml:

Manifest.xml exists in the solution package 

So this is really strange… After doing a search I found the following solution provided by Eugene Rosenfeld [MOSS MVP].

Error description

I made a solution package and tried it to install it in the SharePoint solution store with the following command:

stsadm.exe -o addsolution -filename solution.wsp

Surprisingly I got the following error message:

image

This happens if the file size of your solution package is larger than the default size of 1.44 MB.

Solution

You need to add the following lines of code to your .ddf file:

.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0

After recreating the solution package I was able to deploy it again to my SharePoint farm.



Get updates

 

Comments (4) -

10/6/2009 4:35:05 PM #

Thanks for the post.
Now it works!

Louïc France Reply

11/11/2010 5:21:45 PM #

Thanks too.

Hugo Teixeira Brazil Reply

5/15/2011 12:00:09 PM #

By default, MAKECAB limits the size of individual CAB files to 1.44MB (the capacity of a floppy disk).  When the total size of your CAB exceeds this limit, MAKECAB will create additional files as necessary to accomodate all of your data.

To fix STSDEV, open the file \STSDev\Core\Builders\DeploymentFiles\CabDdfBuilder.cs and modify the Create method by inserting the highlighted code as shown below:

    public static void Create(string FilePath) {

      StreamWriter writer = new StreamWriter(FilePath);

      writer.WriteLine("; Generated by STSDEV at " + DateTime.Now.ToString());

      writer.WriteLine();

      writer.WriteLine(".OPTION EXPLICIT");

      writer.WriteLine(".Set CabinetNameTemplate=" + SolutionBuilder.SolutionName + ".wsp");

      writer.WriteLine(".set DiskDirectoryTemplate=CDROM");

      writer.WriteLine(".Set CompressionType=MSZIP");

      writer.WriteLine(".Set UniqueFiles=off");

      writer.WriteLine(".Set Cabinet=on");

      writer.WriteLine(".Set DiskDirectory1=" + Globals.DeploymentFilesFolder);

      writer.WriteLine(".Set CabinetFileCountThreshold=0 ");

      writer.WriteLine(".Set FolderFileCountThreshold=0");

      writer.WriteLine(".Set FolderSizeThreshold=0");

      writer.WriteLine(".Set MaxCabinetSize=0");

      writer.WriteLine(".Set MaxDiskFileCount=0");

      writer.WriteLine(".Set MaxDiskSize=0");

        

      writer.WriteLine();

After making this change, you can compile a new stsdev.exe and use it to replace the old executable.

Sowmya Deenadayal India Reply

11/3/2011 7:31:53 PM #

You are a genius.  The solution works pretty well.  Saved me many hours of surfing the Web at no avail.

Harold United States Reply

Pingbacks and trackbacks (1)+

Add comment




  Country flag
biuquote
Loading