Как получить краткое имя для папки в WiX для свойства установщика Windows? - PullRequest
5 голосов
/ 11 апреля 2011

Я пытаюсь зарегистрировать внепроцессный COM-файл (.exe) через WiX после извлечения регистрации COM из regspy.exe, и сталкиваюсь с проблемой, что ключ реестра, который мне нужно записать:

<RegistryValue Value="C:\PROGRA~1\COMMON~1\file.exe /Automation" Type="String" />

Теперь я хотел бы использовать свойство установщика Windows [CommonFilesFolder], поскольку не все устанавливаются на C: \

Для внутрипроцессного (.dll) допустимо длинное имя:

<RegistryValue Value="[CommonFilesFolder]file.dll" Type="string" />

Но, похоже, это не так для внепроцессного процесса.Есть ли способ убедить или преобразовать [CommonFilesFolder] в короткое имя?Это особая проблема для x64, так как имя будет разрешено в C: \ PROGRA ~ 2 \ вместо C: \ PROGRA ~ 1 \

1 Ответ

6 голосов
/ 11 апреля 2011

Используйте [! IdOfFile], чтобы получить полный короткий путь.(См. Отформатированный в MSI SDK для полного списка специальных ключей форматирования.)

...