В Windows я обнаружил, что если он установлен в каталоге с пробелом в пути (C: \ Program Files \ Spark), установка завершится неудачно. Переместите его в корень или другой каталог без пробелов.
Вы всегда можете сделать что-то вроде этого:
<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="[LocalAppDataFolder]\Foobar Plugin" Type="string"/>
</RegistryKey>
</RegistryKey>
</DirectoryRef>
И не позволять пользователю изменять окончательную папку
Насколько мне известно, установщик Windows изначально не обеспечивает никаких манипуляций со строками, поэтому для этого потребуется специальное действие.
The only string manipulation you really have in Windows Installer is the manipulation of formatted data types. See MSDN for more information.
Windows Installer provides a trailing directory separator by design, so there isn't any way to remove this aside from a custom action. I'd suggest lodging a bug with the developers of the source package you're developing a plugin for, if you're encountering this error then other developers likely are too.