Проблема с загрузкой приложения в Windows XP

Автор Тема: Проблема с загрузкой приложения в Windows XP  (Прочитано 16311 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн DebalanceАвтор темы

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Одно из своих проверенных приложений потребовалось загрузить на машине с Windows XP (x86) под AutoCAD 2012. И оказалось, что этого невозможно осуществить. Вот такая картина при ближайшем рассмотрении:



Две загадочные библиотеки (IESHIMS.DLL и WER.DLL) напрочь отсутствуют в WinXP Более того вебсёрчинг показал, что появляются они только в Висте. Что делать - непонятно. Тупое добавление этих библиотек ни к чему не приводит.


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Если это твое приложение - перекомпилируй его под XP. Ответ очевиден. У меня подозрение, что ты используешь стороннюю библиотеку, несовместимую с Windows XP.
« Последнее редактирование: 01-02-2020, 01:21:15 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DebalanceАвтор темы

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
... перекомпилируй его под XP
Попробую. Только где гарантии, что сей модуль будет корректно работать, положим на Vista и Win 7? Или для каждой ОС надо создавать свой модуль?

У меня подозрение, что ты используешь стороннюю библиотеку
Судя по анализу с Dependency Walker на эти два файла ссылаются библиотеки подкрашенные красным:

которые в свою очередь принадлежат самой Windows. Вот такая великолепная фигня...

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Только где гарантии, что сей модуль будет корректно работать, положим на Vista и Win 7?
Гарантий никто не даст, но тем не менее обычно есть преемственность от старых к новым, а не наоборот.
Судя по анализу с Dependency Walker на эти два файла ссылаются библиотеки подкрашенные красным:
Честно говоря я совсем не уверен, что проблема с тем, что твой arx не грузится на XP, связана с отсутствующими библиотеками.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Попробуй установить (в stdafx.h):

Код - C++ [Выбрать]
  1. #define WINVER 0x0400
  2. #define _WIN32_WINNT 0x0400
  3. #define _WIN32_WINDOWS 0x0410  
  4. #define _WIN32_IE 0x0400
      
И перестрой проект с этими значениями. Похоже у тебя цеплялись слишком "свежие" для Windows XP настройки.
Ну и VS 2008 (Platform Toolset = v90)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DebalanceАвтор темы

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Попробуй установить (в stdafx.h):

Код - C++ [Выбрать]
  1. #define WINVER 0x0400
  2. #define _WIN32_WINNT 0x0400
  3. #define _WIN32_WINDOWS 0x0410  
  4. #define _WIN32_IE 0x0400
      

С такими настройка не компилируется. Компилятор требует минимум 0x0501.
Поэтому сделал так:
Код - C++ [Выбрать]
  1. #define WINVER 0x0501
  2. #define _WIN32_WINNT 0x0501
  3. #define _WIN32_WINDOWS 0x0410  
  4. #define _WIN32_IE 0x0600

Результат тот же - не грузится.

Ну и VS 2008 (Platform Toolset = v90)
Это - аксиома.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
С такими настройка не компилируется. Компилятор требует минимум 0x0501.
У меня компилируется. Эти настройки выставляет ObjectARX Wizard 2012. Кстати, можешь просто создать с его помощью проект и добавить в него свои cpp- и h-файлы.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DebalanceАвтор темы

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
У меня компилируется
У меня в проекте задействован WTL - он-то и требует. Можно попробовать сделать ему даунгрейд.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
У меня в проекте задействован WTL
С этого и нужно было начинать. Посмотри совместимость с Windows XP её версий.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DebalanceАвтор темы

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
С этого и нужно было начинать. Посмотри совместимость с Windows XP её версий.
Ну так 0x0501 это же и есть XP! Или нет?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Ну так 0x0501 это же и есть XP! Или нет?
Я не про WINVER, а про WTL. Думаю, что только те настройки, которые создаёт ObjectARX Wizard однозначно совместимы с Windows XP.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DebalanceАвтор темы

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Думаю, что только те настройки, которые создаёт ObjectARX Wizard однозначно совместимы с Windows XP.
Жёстко Вы рубите. Судя по WINVER этот проект будет совместим с Windows NT... только AutoCAD 2012 не станет на эту платформу.
Хорошо, если я соберу проект на машине с XP с прежними настройками он будет работать? Или это ничего не даст?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Или это ничего не даст?
Думаю, что это ничего не даст. От машины, на которой происходит сборка ничего не зависит. Зависит от настройки проекта и библиотек, с которыми идёт линковка.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DebalanceАвтор темы

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
В общем сделал даунгрейд WTL - компилятор стал проглатывать, но стал плеваться на бустовые заголовки... замкнутый круг.  Похоже придётся забивать на поддержку XP - слишком много "НО".

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
В общем сделал даунгрейд WTL - компилятор стал проглатывать, но стал плеваться на бустовые заголовки...
А если при этой версии WTL поставить WINVER 0x0501 ?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение