如何获取WiX中Windows Installer属性的文件夹的短名称?

Rob*_*ter 5 windows-installer wix wix3.5

我正在尝试从regspy.exe中解压缩COM注册后通过WiX注册进程外COM文件(.exe),并且遇到了我需要编写的注册表项的问题:

<RegistryValue Value="C:\PROGRA~1\COMMON~1\file.exe /Automation" Type="String" />
Run Code Online (Sandbox Code Playgroud)

现在我想使用Windows Installer属性[CommonFilesFolder],因为不是每个人都安装到C:\

对于进程内(.dll),可以接受长名称:

<RegistryValue Value="[CommonFilesFolder]file.dll" Type="string" />
Run Code Online (Sandbox Code Playgroud)

但是对于进程外的情况似乎并非如此.有没有办法说服或将[CommonFilesFolder]转换为短名称?这是x64的一个特殊问题,因为名称将解析为C:\ PROGRA~2 \而不是C:\ PROGRA~1 \

Bob*_*son 6

使用[!idOfFile]获取完整的短路径.(有关特殊格式化键的完整列表,请参阅MSI SDK中的格式化.)