Ошибка MSI - сбой настраиваемого действия regsvr32

Краткое описание

У меня есть установочный пакет (на основе MSI), который пытается зарегистрировать файл dll для использования в качестве панели проводника Windows (панель инструментов Internet Explorer).

Пользовательское действие определяется следующим образом:

[SystemFolder]\regsvr32.exe /s "pathtodllhere"

Ошибка

  • Пользовательское действие regsvr32 не работает в 64-разрядной версии Windows XP.

Вывод из журнала MSI:

CustomAction SystemFolder_2 вернул фактический код ошибки 5. Ошибка 1722. Проблема с этим пакетом установщика Windows. Программа, запущенная как часть установки, не завершилась должным образом. Действие SystemFolder_2, расположение: C: \ Windows \ SysWOW64 \, команда: regsvr32.exe / s "C: \ Program Файлы (x86) \ Test Install \ test.dll "

MSI (s) (10: F4): Продукт: Тестовая установка - Ошибка 1722. Существует проблема с этим пакетом установщика Windows. Программа, выполняемая как часть установка не завершилась должным образом. Действие SystemFolder_2, расположение: C: \ Windows \ SysWOW64 \, команда: regsvr32.exe / s "C: \ Program Files (x86) \ Test Install \ test.dll "

Краткий обзор моих тестов / мыслей на данный момент:

  • Пользовательское действие находится в разделе« InstallFinalize », поэтому оно запускается ТОЛЬКО, когда файлы имеют был сброшен на жесткий диск.
  • Файл DLL не поврежден и действителен.
  • Пользовательское действие Regsvr32 отлично работает (и установка MSI) в: 32-разрядной Windows 7 и 32-разрядной Windows XP бит.
  • 32-разрядная версия Regsvr32 выполняется во время 64-разрядной установки (как и должно быть).
  • Regsvr32 не работает с кодом ошибки 5, то есть ERROR_ACCESS_DENIED.

Решения и размышления

  1. Саморегистрация - Нет с помощью regsvr32 и вручную разместите ключи реестра с помощью моего установщика MSI.
  2. DLL - это DLL-библиотека Delphi COM, которая использует компонент TRegistry для регистрации. Опять же, я не могу придумать причину, по которой это не сработает, поскольку это это просто обертка, но всего лишь мысль.

Надеюсь, я показал здесь свое исследование и не трачу никому зря время!

8
задан Cosmin Pirvu 11 January 2012 в 19:30
поделиться