candle.exe 错误 CNDL0027:File/@Name 属性的值 testdata.value.dll 不是有效的 8.3 兼容名称
candle.exe error CNDL0027 : The File/@Name attribute's value testdata.value.dll is not a valid 8.3-compliant name
我在从 wxm 文件生成 msi 文件时遇到以下错误。
candle.exe 错误 CNDL0027:文件/@Name 属性的值 testdata.value.dll 不是有效的 8.3 兼容名称。
以下解决方案无效。
在注册表中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
将值 NtfsDisable8dot3NameCreation 更改为 1
注意:我使用的是 candle.exe 版本 2。我的机器是 64 位的并且有 windows 10.
知道要设置或更改什么来解决问题吗?
更新 1:
尝试使用 FSUTIL.EXE 8dot3name 2.
FSUTIL.EXE 8dot3name 查询 E:
卷状态为:0(启用 8dot3 名称创建)。
注册表状态为:2(每个卷设置 - 默认值)。
基于以上两个设置,在E:
上启用了8dot3名称创建
结果:我可以使用 dir /x 查看文件的短名称
问题:我仍然收到 "error CNDL0027 : The File/@Name attribute's value testdata.value.dll is not a valid 8.3-compliant name"
出于某种原因,wix 需要所有文件名都在 8 个字符的范围内加上 3 个扩展名。
通过设置您提到的注册表值,您告诉 Windows 不 创建这样的文件名。这可能会导致问题,看看 Microsoft 告诉您在设置 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.
将注册表值重新设置为 2,然后在存储文件的目录中调用 dir /x
。此命令将告诉您文件的 8.3 名称,如下所示:
24.10.2015 00:35 14 TESTDA~1.DLL testdata.value.dll
要避免 regedit,您可以使用 fsutil 命令显示 ...
fsutil 8dot3name set /?
... 并操纵值:
fsutil 8dot3name set 2
您也可以按卷执行此操作,有关详细信息,请参阅 this link。
我在从 wxm 文件生成 msi 文件时遇到以下错误。
candle.exe 错误 CNDL0027:文件/@Name 属性的值 testdata.value.dll 不是有效的 8.3 兼容名称。
以下解决方案无效。 在注册表中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 将值 NtfsDisable8dot3NameCreation 更改为 1
注意:我使用的是 candle.exe 版本 2。我的机器是 64 位的并且有 windows 10.
知道要设置或更改什么来解决问题吗?
更新 1: 尝试使用 FSUTIL.EXE 8dot3name 2.
FSUTIL.EXE 8dot3name 查询 E: 卷状态为:0(启用 8dot3 名称创建)。 注册表状态为:2(每个卷设置 - 默认值)。
基于以上两个设置,在E:
上启用了8dot3名称创建结果:我可以使用 dir /x 查看文件的短名称
问题:我仍然收到 "error CNDL0027 : The File/@Name attribute's value testdata.value.dll is not a valid 8.3-compliant name"
出于某种原因,wix 需要所有文件名都在 8 个字符的范围内加上 3 个扩展名。
通过设置您提到的注册表值,您告诉 Windows 不 创建这样的文件名。这可能会导致问题,看看 Microsoft 告诉您在设置 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.
将注册表值重新设置为 2,然后在存储文件的目录中调用 dir /x
。此命令将告诉您文件的 8.3 名称,如下所示:
24.10.2015 00:35 14 TESTDA~1.DLL testdata.value.dll
要避免 regedit,您可以使用 fsutil 命令显示 ...
fsutil 8dot3name set /?
... 并操纵值:
fsutil 8dot3name set 2
您也可以按卷执行此操作,有关详细信息,请参阅 this link。