Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.

Packaging Tip: Disable 8.3 Name Creation on NTFS Partitions

Created: 17 Jul 2013 • Updated: 17 Jul 2013
Language Translations
ateamrh's picture
0 0 Votes
Login to vote

When creating virtual packages it's a good idea to disable 8.3 Name creation in NTFS while capturing.

8.3 naming can give problems for some applications.

Notice that some installers and programs requires 8.3 to be enabled and will fail if it's disabled.
This is noticed on VC++ runtimes installer from Microsoft.

I have seen it give problem with Send To ->  Email Recipient and virtual Office 2007/Office 2010.
The reason for this is that the registry values which tells windows to use outlook when doing send to email recipient are by default set to the 8.3 naming of the path to outlook.exe
If you have created a office package on a machine without Microsoft Silverlight and used the default installation path for Office, and you put your package on a machine with Microsoft Silverlight then sometimes both Microsoft Silverlight and Microsoft Office will have the same 8.3 name.

This is normally not an issue, but since Send to is a function in base it will look at the 8.3 naming in base first and not the one in the virtual package. This makes windows try to execute outlook.exe from the Microsoft Silverlight folder.

8.3 is there only for legacy support and Windows have not required it since Windows 95
Link: http://en.wikipedia.org/wiki/8.3_filename

The below commands are supported on Windows XP and up.
Link: http://support.microsoft.com/kb/121007

How to disable 8.3 Name creation:
Run the below command from a elevated command prompt and then reboot the machine.
fsutil.exe behavior set disable8dot3 1

How to enable 8.3 Name creation:
Run the below command from a elevated command prompt and then reboot the machine.
fsutil.exe behavior set disable8dot3 0

How to remove 8.3 Naming in an already created package:
Load hive fslreg1 from the RO folder of the package in the register editor under HKEY_LOCAL_MACHINE using a temp key name.
Select the temp key name and export it to a .reg file.
Open the .reg file in notepad.
Replace all entries of [_CS_] from the .reg file.
Save it.
Reimport it into the registry by double click it and select yes or in registry editor select import and point to the .reg file.
Unload the temp hive you created using the fslreg1 file.
Compile the layer again and you have a package without 8.3 naming.

Happy Packaging yes