Skip to main content

Blogging about SharePoint

Go Search
Home
Blogging about SharePoint
Public Speaking
  

Michael Blumenthal's BlumenthalIT.NET > Blogging about SharePoint > Posts > MakeCab limitation
MakeCab limitation

So I'm building a deployment package for the world's most advanced collaboration platform (i.e. MOSS), and what do I get?  An error because I am specifying a path+filename that is longer than 100 characters.  Didn't we learn when we left 8.3 filenames behind that arbitrary limits like that cause nothing but pain?

I suspected that it was a make cab issue when it said that it couldn't find files in my ddf file, but it was files in the middle of my file list.  I came across http://makemsi-manual.dennisbareis.com/makecab_exe_issues.htm which confirmed that there are filename length issues in makecab. 

I looked more closely at my ddf file, and the breaking paths plus file names listed were more than 100 characters, while the ones that worked were shorter.

For example, I have a ddf directive that says copy the file listed to this other listed file (really just path changes) in the cab:

"..\TEMPLATE\CONTROLTEMPLATES\Com\Prj\SomethingAnalysisWorkflow-v1.0.0.0\MaintenancePreparationReadOnly.ascx" "CONTROLTEMPLATES\Com\Prj\SomethingAnalysisWorkflow-v1.0.0.0\MaintenancePreparationReadOnly.ascx"

Because the source filepath listed is longer than 100 characters, makecab throws an error.

There are two MakeCab's on my system:

C:\WINDOWS\system32\makecab.exe, 5.2.3790.0 (srv03_rtm.030324-2048), File Date: Wednesday, November 30, 2005, 7:00:00 AM

C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools, no version but a digital signature.  File date: Thursday, November 08, 2007, 8:19:22 AM

I made sure I was using the more recent one, but that didn't resolve this.

Since I am just over the 100 character limit, I can cheat by using the 8.3 filename for these files in the source file column in my ddf.

"Dir /X /W" gives you the 8.3 filename.

Yuck.

--Michael

Comments

The SourceDir command may help

In the DDF file, you can specify the source and target directories using .SET SourceDir=[DIR] and SET .TargetDir=[DIR].

Then, only specify the file name without the path.
at 9/8/2008 7:01 AM

the textlength limitation sucks

Is there no other way to create cab files with long textlength path's to the sources?? Are there no alternatives?
at 11/20/2008 7:14 AM

Add Comment

Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Title


Body *


Please put your name at the end of your comment as the Name field doesn't display in the main view of the comments.

Name: *


Your name.  If you first name is Michael, please provide initials or the like to clearly distinguish your name from Michael Blumenthal's.
Also, this field does not appear in the main view of the comments.

Need Paid Consulting Services?

Are you interested in engaging a SharePoint consultant for fee-based consulting services?  If so, I can have an Account Executive from my employer contact you.  Other site visitors will not see this column.

Additional Contact Information

Please provide additional contact information if you need a direct response.  Other site visitors will not see this column.

What is tomorrow's date? *

This is a weak CAPTCHA based on advice from a tweet from @ToddKlindt.
Attachments