Я использую Visual Studio 2010 для создания MSI, состоящего из нескольких файлов DLL, для регистрации которых используется vsdrpCOMSelfReg. Есть также несколько служб Windows, которые устанавливаются с помощью настраиваемых действий. Моя целевая машина работает под управлением встроенного стандарта Windows 32bit.
Моя предыдущая коробка разработки работала под управлением 64-разрядной версии Windows 7, и я мог без проблем собрать и установить этот MSI. Недавно я перешел на Windows 8 Pro, и когда я собираю MSI с использованием точно такой же базы кода, я получаю ошибки «не удалось зарегистрировать» в моих библиотеках DLL, что затем приводит к сбою установки служб.
У меня есть условие запуска «Привилегированный» в MSI, которое подходит для обеих версий, поэтому похоже, что необходимые разрешения есть.
Если я установлю для DLL-файлов значение «vsdrpCOM», я смогу успешно зарегистрироваться постфактум с помощью regsvr32, но мои службы не смогут установить, потому что они полагаются на регистрацию этих DLL для завершения собственной установки.
Что мне не хватает? Что изменилось в реестре DLL между Windows 7 и Windows 8?