Я использую WiX для установки плагина для программного обеспечения, которое я не контролирую. Чтобы установить плагин, я должен поместить целевую папку в раздел реестра:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="LocalAppDataFolder">
<Directory Id="APPROOTFOLDER" Name="Foobar Plugin" />
</Directory>
</Directory>
...
<DirectoryRef Id="APPROOTFOLDER">
<Component Id="register" Guid="240C21CC-D53B-45A7-94BD-6833CF1568BE">
<RegistryKey Root="HKCU" Key="Software\ACME\Plugins\FooBar">
<RegistryValue Name="InstallDir" Value="[APPROOTFOLDER]" Type="string"/>
</RegistryKey>
</RegistryKey>
</DirectoryRef>
После установки раздел реестра HKCU\Software\ACME\Plugins\FooBar\InstallDir
будет содержать целевой путь установки, но с завершающим знаком "\
". К сожалению, по некоторым странным причинам хост-приложение (предоставляет архитектуру плагина) из-за этого падает. Если косой черты нет, все работает отлично!
Есть ли в WiX способ избавиться от косой черты?
Одним из решений, о котором я думал, является просто добавление «.
» в конце пути, однако в моем сценарии это не работает :( ..