After upgrading to Windows 10 1809, I'm unable to build a Cab Project in Visual Studio 2008 Pro. The application we're packaging into a CAB file is for Windows CE 6.0, hence the ancient version of Visual Studio.
I can see in the output window that the following command is run:
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\smartdevices\sdk\sdktools\cabwiz.exe" "C:\VB2008PRO\Stock System v4.0.6764.19135\CABProject\Release\CABProject.inf" /dest "C:\VB2008PRO\Stock System v4.0.6764.19135\CABProject\Release\" /err CabWiz.log
If I run this myself, I see the exit code was 1, so something went wrong.
The output I see in the CabWiz.log file is:
Warning: Section [RegKeys] has no data
Warning: Section [DefaultInstall] key "AddReg" - there are no section entries to process
Error: CAB file "C:\VB2008PRO\Stock System v4.0.6764.19135\CABProject\Release\CABProject.CAB" could not be created
So I can see that the CABProject.CAB file cannot be created, but what's the reason?? I tried disabling anti-virus temporarily, but that wasn't the reason.
I can't be the only one to have tried this in Windows 1809... has anyone else experienced this issue?
Seemingly, to build CAB projects in Windows, you need to have 8.3 file name creation enabled and ensure that your files have 8.3 file names after you re-enable it.
Check if 8.3 file names are enabled on the volume where your project is located, using fsutil.
C:\Users\matty>fsutil 8dot3name query c: The volume state is: 0 (8dot3 name creation is enabled). The registry state is: 0 (Enable 8dot3 name creation on all volumes).
Based on the above settings, 8dot3 name creation is enabled on c:
If 8dot3 name creation is disabled, enable it in the registry or via the command line:
fsutil 8dot3name set C: 1
This operation takes effect immediately (no reboot required).
Archive and delete the files and then extract them back to the same location. This is the only reliable way I found of getting Windows to generate all the 8dot3 file names for all files in the project.
Build your CAB project!