STSDEV solution filesize limitation
STSDEV uses the MakeCab executable to build its .cab/.wsp solution files. Unfortunately, MakeCab has some holdover default settings from the dark ages of computing, one of which is its generated filesize maximum, which is set to 1.44Mb. This hasn't been a problem for me, as most packages tend to be fairly lightweight. However, when deploying a solution with lots of binary resources (a masterpage or layouts feature, for example), you will need to tell STSDEV and MakeCab that you want to build a bigger file. Deploying without making the adjustments will result in an incredibly unhelpful error from STSADM:
A blogger at PointBridge was nice enough to document this here, but the fix is fairly simple so I've added the code below.
To fix your solution packages, you'll need the source for STSDEV. Open the file \STSDev\Core\Builders\DeploymentFiles\CabDdfBuilder.cs, and enter the following at the end of the .ddf settings section, and recompile:
Packages generated with your new STSDEV build will no longer be truncated.
The file manifest.xml does not exist in the solution package.
A blogger at PointBridge was nice enough to document this here, but the fix is fairly simple so I've added the code below.
To fix your solution packages, you'll need the source for STSDEV. Open the file \STSDev\Core\Builders\DeploymentFiles\CabDdfBuilder.cs, and enter the following at the end of the .ddf settings section, and recompile:
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");
Packages generated with your new STSDEV build will no longer be truncated.
Comments