У меня есть пользовательский загрузчик (Bootstrapper - Setup.exe и пользовательская библиотека BA - CustomBA.dll), который можно запустить как несколько экземпляров.Пользовательский bootstrapper как один экземпляр
Чтобы разрешить пользователю открывать только один экземпляр, я попытался проверить имя процесса в библиотеке Custom BA. Я могу проверить ProcessName (Setup.exe), но он делает это для самого первого экземпляра, и выход из Custom BA не закрывает Setup.exe.
Есть ли встроенный способ WiX для проверки экземпляра в самом Bootstrapper? Если нет, есть ли способ проверить его в библиотеке Custom BA?
Вам нужно получить идентификатор вашего процесса вместо имени. Может быть несколько запущенных Setup.exe, но каждый из них получил уникальный идентификатор. Попробуйте использовать функцию GetCurrentProcessId. См. Подробности: https://msdn.microsoft.com/en-us/library/windows/desktop/ms683180(v=vs.85).aspx –