Я хочу иметь 2 установщика с общей частью. Поэтому я использовал модуль слияния и создал 2 установщика wix.Общий компонент WiX как модуль слияния и INSTALLDIR из реестра
Вот что я хочу для того чтобы достигнуть более подробно (проблема описана там была решена): wix installers with common component
Я использую WixUI_InstallDir так что пользователь может выбрать каталог, в котором будет установлено приложение. Когда второй установщик запущен, я хочу загрузить ранее выбранный каталог установки.
Когда пользователь не меняет путь по умолчанию, все работает нормально. Но если в первой установке был изменен INSTALLDIR, то второй установщик добавляет плагин в правый путь, но также извлекает основной путь по умолчанию - что неправильно. Однако правильный путь (из предыдущей установки) отображается в диалоговом окне «Целевая папка».
Здесь значителен код:
<Property Id="CORE_INSTALLATION_PATH">
<RegistrySearch Id="InstallFolderRegistrySearch" Type="raw" Root="HKLM" Key="SOFTWARE\PluginCompany\Plugins" Name="InstallFolder"/>
</Property>
<SetDirectory Id="INSTALLDIR" Value="[CORE_INSTALLATION_PATH]">CORE_INSTALLATION_PATH</SetDirectory>
<DirectoryRef Id="TARGETDIR">
<Component Id="CoreRegistryEntries" Guid="{C1701385-12CA-47EF-9FB2-884139B56390}">
<RegistryKey Root="HKLM" Key="SOFTWARE\PluginCompany\Plugins" Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Name="InstallFolder" Value="[INSTALLDIR]" KeyPath="yes"/>
</RegistryKey>
</Component>
</DirectoryRef>
Вы можете загрузить и запустить полное решение образца от https://github.com/bwojdyla/wixplugins/tree/04f61b89b0465311818bec1cc06371b3dced5671