Как зафиксировать зависимость загрузки задержки DWMAPI.DLL под WinXP?

Этот oneliner работал для меня, конечно, используя PHPExcel.

$date_formated = date('Y-m-d', PHPExcel_Shared_Date::ExcelToPHP($date_int_val));
27
задан Jim Buck 7 October 2008 в 02:24
поделиться

3 ответа

На основе Вашей обновленной проблемы DWMAPI.dll является, вероятно, не Вашей проблемой. Уокер зависимости будет всегда давать Вам, что ошибка каждый раз, когда Вы связываетесь с mshtml как она всегда, проверяет задержку загруженный DLLs.

В этой точке мое лучшее предположение - то, что у Вас есть свой набор проекта для динамичной загрузки библиотек времени выполнения, и путь поиска для DLLs изменяется языком майя. Таким образом, это может быть неспособно найти DLL времени выполнения MSVC. Я не разработал плагины майя в долгое время, но у меня была та проблема с другими приложениями, которые недавно имеют сменный DLLs.

Попытка, изменяющая Ваши настройки в C/C++> Генерация кода-> Библиотека времени выполнения к Многопоточному а не Многопоточному DLL.

, Кроме которого можно попытаться играть с Зависимостью Walker, чтобы заставить его использовать те же пути поиска в качестве языка майя и видеть, можно ли придумать другую проблему зависимости.

Как последнее прибежище можно запустить язык майя в отладчике и установить точку останова на LoadLibrary и узнать, какая библиотека не загружается тот путь.

7
ответ дан Gerald 15 October 2019 в 06:35
поделиться

Это - хитрое. Существует действительно 2 основных способа, которыми Вы получите эту ошибку.

1) у Вас есть свой набор проекта, чтобы вынудить задержку загруженный DLLs загрузиться в запуске приложения. DWMAPI.dll является загруженным задержкой DLL и таким образом обычно не будет загружаться, если один из него не функции, назван. Этого не произойдет на XP, если Вы не попытаетесь сделать это в своем DLL. Но возможно установить параметр компилятора, чтобы вынудить Ваше приложение загрузить задержку загруженный DLLs так или иначе. При выполнении этого не делать.

2) Это часто - ложная ошибка, которую Вы получите из depends.exe, когда будет другая проблема. Выполните свой DLL через зависимость Уокер и посмотрите, существуют ли какие-либо другие проблемы зависимости. Если все остальное перестало работать, попытайтесь удалить IE7 и посмотрите, сохраняется ли проблема. Если это будет ложная ошибка после установки IE7, то Вы будете видеть реальную ошибку. Можно установить IE7 снова впоследствии.

3
ответ дан Gerald 15 October 2019 в 06:35
поделиться

У меня была именно эта проблема.

Скрытая проблема, на решение которой потребовались часы.

В любом случае. Я скомпилировал свое управляемое приложение C ++ на машине выпуска. Получили жалобы от клиентов, которые не могли запустить его, работали как шарм на всех наших машинах.

Оказалось, что однажды ночью месяц назад машина выпуска была автоматически исправлена ​​с помощью исправления уязвимости ATL, как и все остальные машины. кроме того, кроме одной машины XP.

Эта конкретная машина XP также не могла запустить приложение. Установил исправление ATL (см. Ссылку ниже), и вуаля, все работало так же, как и раньше.

http://www.microsoft.com/downloads/details.aspx?familyid=766A6AF7-EC73-40FF-B072-9112BAB119C2&displaylang = ru

Итак, урок извлечен, всегда проверяйте свои промежуточные манифесты (находящиеся в каталоге отладки или выпуска),

3
ответ дан 28 November 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: