Я незнаком с этим типом приложения (dapp для клиента ethereum для Windows), поэтому совет должен быть общим, боюсь.
Файлы для отдельных пользователей и настройки реестра: Как правило, развертывание файлов в профиле пользователя и настройках HKCU затруднено с помощью MSI.Как указывает Крис, в основном это работает только для пользователя, устанавливающего MSI, если только вы не добавляете конструкции для активного копирования файлов во все профили пользователей, и даже тогда это выглядит неуклюже.
Подходы : я давно написал длинный ответ на эту тему: Создать папку и файл в профиле текущего пользователя из профиля администратора (длинный и сложный, но без каких-либо автоматических решений),
Предпочтительный подход : Прежде чем ввязываться в слишком сложную задачу, обычно проще всего использовать приложение для копирования файлов userprofile на месте для каждогоuser при первом запуске - вместо использования программы установки для установки пользовательских файлов.
Для этого требуется наличие отдельного исполняемого файла приложения, запускаемого, как правило, с помощью собственного ярлыка - чего не может быть?Как правило, он не работает для надстроек, например.
Подход 1 : установить файлы шаблонов для каждого компьютера, а затем скопировать их каждому пользователюuserprofile при запуске приложения.
Подход 2 : В качестве альтернативы мне нравится загружать файлы непосредственно с сервера или базы данных и помещать в файл userprofile -также при первом запуске.
Применить обновления? : Есть способы обеспечить повторное копирование файлов, если есть изменения вваши шаблоны, как описано здесь: http://forum.installsite.net/index.php?showtopic=21552 (февраль 2019 г. преобразован в ссылку WayBack Machine).
Ошибки : конкретныеПроблема, о которой вы сообщаете, связана с необходимостью указания пути к разделу реестра для каждого пользователя и записи RemoveFolder для всех папок, нацеленных на расположения пользовательских профилей:
<Directory Id="AppDataFolder">
<Directory Id="Parity">
<Directory Id="dapps">
<Directory Id="INSTALLFOLDER" Name="F2">
<Component Guid="{77777777-7777-7777-7777-7777777777DD}" Feature="MainApplication">
<RegistryKey Root="HKCU" Key="Software\TestManufacturer\TestApp">
<RegistryValue Name="Flag" Value="1" Type="string" KeyPath="yes" />
</RegistryKey>
<RemoveFolder Id="RemoveINSTALLFOLDER" Directory="INSTALLFOLDER" On="uninstall" />
<RemoveFolder Id="RemoveParity" Directory="Parity" On="uninstall" />
<RemoveFolder Id="Removedapps" Directory="dapps" On="uninstall" />
<File Source="Test.exe" />
</Component>
</Directory>
</Directory>
Это всего лишь одно из соглашений и измышлений MSI. Как уже говорилось, установите все файлы для каждой машины и скопируйте их в профиль пользователя вместе с приложением.В будущем они будут отстранены от любых помех настройки .Тогда вам не нужно иметь дело с этими проблемами RemoveFolder.