... Что же оно все так через жопу сделано?
Есть MSI (Wix 3.11) который упакован в EXE (WixBootsrapper).
В процессе установки (в начале или в конце) нужно запустить VSIXInstaller.exe с правами админа.
Где находится VSIXInstaller.exe я определяю динамически, в процессе инициализации WixBootsrapper-а.
Для запуска exe-шников предлагают юзать метод IBootstrapperEngine::LaunchApprovedExe.
STDMETHOD(LaunchApprovedExe)(
__in_opt HWND hwndParent,
__in_z LPCWSTR wzApprovedExeForElevationId,
__in_z_opt LPCWSTR wzArguments,
__in DWORD dwWaitForInputIdleTimeout
) = 0;
wzApprovedExeForElevationId указывает на ключ реестра (HKLM) в котором находится путь к exe-файлу.
То есть, ...ля, как я понимаю, нужно сначала записать путь в реестр, а потом оно оттуда его прочитает и использует.
Для записи в HKLM нужны права администратора.
Замкнутый круг.
Собственно вопрос
Кто-нибудь успешно решал эту задачу с LaunchApprovedExe? Как его правильно готовить?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --