Добро пожаловать в мир анализа зависимости ад и приложений DLL.
Я обнаружил, что DLL на моей машине Win8 в SYSWOW64 (32-битная папка System32) с версией 7.0.9200.16384. Глядя на него, используя Dependency Walker , я вижу, что он фактически экспортирует функцию, которую вы ищете.
Я также вижу на моей машине InstallShield модуль слияния под названием MSVCRT.MSM, который перераспределяет версию 6.00.8797.0 этого файла. Однако, когда я смотрю его с помощью Dependency Walker, я вижу, что он имеет экспортированные функции _except_handler2 и _except_handler_3, но не _except_handler_4_common.
Поэтому вам нужна новая DLL, и этот модуль слияния вам не поможет. Microsoft использовала этот классный веб-сайт под названием DLL Help Database, который рассказал вам все версии файла и что их отправил, но, к сожалению, они его убили.
Кстати, я также вижу, что эта DLL установлена в Windows в наши дни. Windows XP? Я не уверен, что мне нужно будет запустить виртуальную машину и посмотреть.
Пара возможных резолюций:
-
Узнайте, какой SP или исправление для Windows исправляет это и делает его зависимым от вашего MSI.
-
Возьмите DLL с машины Win 8 и добавьте ее в свой INSTALLDIR и внесите в нее конфиденциальность.
Последнее замечание. Это вызвано тем, что версия Windows XP поставляется со старой версией DLL (как указано в соответствующей статье KB Article), или что стороннее приложение удалило DLL, вызвав проблему. Здесь требуется еще некоторое исследование.