-1

I came across below error while generating msi file from wxm file.

candle.exe error CNDL0027 : The File/@Name attribute's value testdata.value.dll is not a valid 8.3-compliant name.

Below solution did not work. In registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem change the value NtfsDisable8dot3NameCreation to 1

Note: I am using candle.exe version 2. My machine is 64-bit and has windows 10.

Any idea what to set or change to resolve the issue?

Update 1: Tried to use FSUTIL.EXE 8dot3name 2.

FSUTIL.EXE 8dot3name query E: The volume state is: 0 (8dot3 name creation is enabled). The registry state is: 2 (Per volume setting - the default).

Based on the above two settings, 8dot3 name creation is enabled on E:

Result: I can see short name of file by using dir /x

Issue: I am still getting "error CNDL0027 : The File/@Name attribute's value testdata.value.dll is not a valid 8.3-compliant name"

Magg
  • 103
  • 2
  • 7
  • I would say this is quite clear: the file is 14.3 not 8.3. Leave the registry as it is, open a shell and type 'dir /x' in the directory where the file is stored – Marged Oct 23 '15 at 21:38
  • Yeah file is greater than 8. 'testdata.value.dll' name is just example. Actual file name is greater than that. The command which you suggested is just to list files under particular directory. That is not my question. There is command candle.exe for which I am passing wxm file. This wxm file contains 'testdata.value.dll ' name. If file name inside wxm file does not fit in 8.3 then it throws above mentioned error. My question is if I disable 'NtfsDisable8dot3NameCreation' then I should not get error. But I am still getting error. – Magg Oct 23 '15 at 22:30
  • Nope. You need to restore the registry value to its original state. Then Windows will create two filenames: a long one and a 8.3 name. Using `dir /x` you will then see the 8.3 for your long filename – Marged Oct 23 '15 at 22:32
  • [Cross-linking an answer that might be related](https://stackoverflow.com/a/52066992/129130). – Stein Åsmul Aug 28 '18 at 22:44

1 Answers1

0

For some reason wix needs to have all filenames within the rage of 8 characters plus 3 for the extension.

By setting the registry value you mentioned you tell Windows not to create such filenames. This can cause problems, see what Microsoft tells you can happen when you set NtfsDisable8dot3NameCreation=1:

NTFS does not create short file names. Although this setting increases file performance, applications that cannot process long file names and computers that use different code pages might not be able to find the files.

Set the registry value back to 2 and then call dir /x in the directory where your file was stored. This command will tell you the 8.3 name of your file like this:

24.10.2015  00:35                14 TESTDA~1.DLL testdata.value.dll

To avoid regedit you can use the fsutil command to show ...

fsutil 8dot3name set /?

... and manipulate the value:

fsutil 8dot3name set 2

You can also do this on a per volume basis, see this link for details.

Marged
  • 10,577
  • 10
  • 57
  • 99
  • I set value to 0 in registry. Restarted machine. But I can't see 8.3 name of my file. I think that the issue. In my machine for long file names, 8.3 name is not getting created. – Magg Oct 23 '15 at 23:03
  • Did you touch the file in some way ? I don't think Windows will process all files on its own after you edited the registry. Copy the file to a new directory and copy it back or create it new. And: why do you type `dir /r` ?!? – Marged Oct 23 '15 at 23:05
  • Copied to other directory and copied back. Did not see expected result. I also tried creating new file with long name but that also did not show expected result. – Magg Oct 23 '15 at 23:08
  • The default is `2` on my Windows 10. Perhaps you should change this value using fsutil and stop fiddling with the registry (`fsutil 8dot3name set /?`) – Marged Oct 23 '15 at 23:14
  • Used fsutil 8dot3name set 2. I can see short file name. But still getting same error ( not valid 8.3-compliant) while using candle.exe – Magg Oct 24 '15 at 00:23
  • Did you set the shirt filename in the wix files ? – Marged Oct 24 '15 at 06:23
  • Problem has been resolved by copying new file. Thanks. – Magg Oct 29 '15 at 21:40