none
Настройка совместимости ОС RRS feed

  • Вопрос

  • Visual Studio 2010 (C++)

    Использую у себя готовую dll. Поддержка производителем прекращена, но она корректно работает.
    В нее похоже вшита проверка версии ОС, и на Windows 8 уже не работает, при вызове функции по внутренней инициализации (инициализация не самой dll, а первичная настройка внутреннего алгоритма работы данной библиотеки уже во время работы программы), получаем предустановленный код ошибки - несовместимая версия.
    Если для exe-файла готовой скомпилированной программы выставить совместимость с Windows 7, то все нормально работает.

    Можно ли в коде моего проекта (или в настройках проекта) что-то прописать, чтоб вызываемая dll думала, что работает под 7-кой? (Чтоб принудительно не настраивать совместимость)

    3 ноября 2014 г. 2:41

Все ответы

  • Попробуйте это:

    http://blogs.msdn.com/b/cjacks/archive/2009/03/27/manifesting-for-compatibility-on-windows-7.aspx


    This posting is provided "AS IS" with no warranties, and confers no rights.

    3 ноября 2014 г. 16:57
    Модератор
  • Пишут, что с "этим" проблема именно под VS 2010
    6 ноября 2014 г. 4:18
  • Кто пишет? Какая проблема? С чем с "этим"? И при чем тут версия VS? 

    This posting is provided "AS IS" with no warranties, and confers no rights.

    6 ноября 2014 г. 7:15
    Модератор
  • В той статье ссылка на библиотеку-источник с описанием параметров манифеста. Жалуется, что этот манифест не срабатывает для программ на VS 2010, как и у меня.
    7 ноября 2014 г. 2:42
  • OS в общем то все равно из какой версии оболочки был запущен компилятор. 

    Но конечно всегда можно это проверить. Например можно сделать так:

    http://msdn.microsoft.com/en-us/library/ms235605.aspx

    А можно скачать экспресс версию любой другой студии.

    Ну и конечно не повередит проверить наличие манифеста в экзешнике и его правильность.

    Так же проверить контекст ОС используя упомянутый в статье инструмент. Может контекст и переключился, а чужая ДДЛ все еще не работает...


    This posting is provided "AS IS" with no warranties, and confers no rights.

    7 ноября 2014 г. 7:37
    Модератор
  • Через монитор ресурсов: все мои программы работают под контекстом Windows Vista

    Но там где в свойствах exe файла (через проводник) указал совместимость с Windows 7 или Vista, dll работает корректно (но контекст тот же и остался Windows Vista).

    Кажется, надо что-то другое делать...

    10 ноября 2014 г. 5:44