Faced recently with an unexpected problem with the generation of CAB. CabWiz.exe is used for generation. The packer began to swear at the wrong characters in the name of the directories "setup.inf contains DirIDs, which are not supported".
The project for Windows Mobile was compiled and packaged in a CAB. In the morning, when the test package was being assembled, everything went off with a bang. During the day there were no changes in the assembly project. In the evening, the CAB was not going to. We started to think that, nevertheless, variables with a percent sign are incorrectly processed somewhere, or the wrong paths to the DestinationDirs section are inserted into .inf.
After analysis, it turned out that the version that comes with Visual Studio 2008 has several limitations. One of these restrictions: the maximum number of files processed is 262. That is, if 262 files are added to the archive, then everything is fine and the output will be a valid CAB. If 263 or more files appear in the project, the error described above will be generated.
')
The solution was quite simple. The WM 6 SDK has the correct cabwiz.exe where this issue is fixed.
1) Total now use c: \ Program Files \ Windows Mobile 6 SDK \ Tools \ CabWiz \ Cabwiz.exe
2) You can replace c: \ Program Files \ Microsoft Visual Studio 9.0 \ SmartDevices \ SDK \ SDKTools \ CabWiz.exe with a new one from sdk (and also replace the file CabWiz.ddf) and then you can safely continue building CAB straight from the studio.
By the way, do not forget to use variables (macro variables) for CAB, they greatly facilitate life.
http://www.christec.co.nz/blog/archives/262