InstallShield: дескрипторы Дарвина - PullRequest
1 голос
/ 15 октября 2008

Мой установщик InstallShield не регистрирует правильно несколько своих COM-библиотек, хотя я обновил информацию о COM для них в установщике. Если я вручную запускаю regsvr32 после установки, все в порядке.

Я заметил, что после установки в реестре у меня есть значения InprocServer32 для моих компонентов, содержащих произвольно выглядящие строки, которые, как я считаю, являются дескрипторами Дарвина , которые, как я понимаю, будут переопределять расположение пути для открытого текста, если оно присутствует. Когда я вручную запускаю regsvr32, эти дарвинские дескрипторы исчезают. Моя текущая гипотеза состоит в том, что информация, закодированная в этих дескрипторах, неверна, и поэтому, когда моя программа пытается создать экземпляр COM-компонентов, она использует неверную информацию дескриптора Дарвина и терпит неудачу, даже если путь открытого текста к DLL верен.

Может ли кто-нибудь пролить свет на то, как я могу узнать, так ли это, декодировать эти дескрипторы, остановить InstallShield от генерации дескрипторов Дарвина или иным образом исправить мой установщик?

1 Ответ

1 голос
/ 17 октября 2008

Я понимаю, что дескрипторы darwin - это служба установки Windows, отслеживающая точки входа COM обратно к исходному .MSI (так что он может исцелить DLL, если он будет удален и т. Д.) MSI содержит фактическое значение.

Предположительно, после того, как вы перестроили информацию о COM, вы удалили MSI со своего компьютера и переустановили (так что msiexec не просто выполняет установку, а выполняет полную установку).

...