Назад | Перейти на главную страницу

MSI в Windows 10 не регистрирует OCX (даже при запуске от имени администратора)

Получил MSI, созданный с использованием проекта установщика Visual Studio. Получившийся в результате MSI был разработан для Windows 7 несколько лет назад и отлично там работает.

Существует модуль слияния (MSM), который должен выгружать OCX в 32-битную системную папку (обычно C:\Windows\SysWOW64) и зарегистрируйте его в HKEY_CLASSES_ROOT.

Когда я запускаю установщик в Windows 10 (как пользователь в локальной группе администраторов), он добавляет файл OCX в системную папку, но регистрация завершается с ошибкой (компоненты COM просто не в реестре, когда проверю позже.)

Я попытался запустить MSI из командной строки администратора, используя msiexec /i но это не привело к регистрации.

Единственный способ заставить его работать - это вручную зарегистрировать файл OCX из командной строки администратора с помощью regsvr32.

Любое понимание здесь? Мне нужно как-то переделывать MSI? Или запустить по другому?

Выполните следующие шаги:

  1. Не пытайтесь установить MSI через обычного пользователя (по задумке он не должен работать)
  2. Добавьте regsrv в свой MSI-файл, в зависимости от того, как вы создали файл MSI.
  3. Запустите его в режиме совместимости.
  4. Посмотрите версию установщика msi, с которой был создан файл (возможно, он несовместим с Win10)
  5. Они внесли некоторые изменения в способ обработки файлов MSI, получили orca https://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx и запустите тесты, чтобы увидеть, где у вас проблема, у него есть набор тестов для файлов MSI и выделение проблем (красным).
  6. Загляните в Windows 10 SDK, если все остальное не удалось https://msdn.microsoft.com/en-us/library/windows/desktop/aa372834(v=vs.85).aspx.