2015-06-02 6 views
2

У меня есть приложение, написанное на Delphi XE5, которое предназначено главным образом для Windows 7, но также для Windows 8 и 8.1. Это требует, чтобы у пользователя были права администратора.Режим совместимости Windows 7 в Windows 7

Он отлично работает на почти все компьютеры моего пользователя, но на некотором это работает только при выборе режима совместимости для Windows 7 в Windows 7.

ошибка представляет собой непосредственно при запуске приложения в виде окон диалог о том, что:

[NameOfMyProgram] has stopped working. 
Problem Event Name: APPCRASH 
Fault Module Name: KERNELBASE.dll 
Fault Module Version: 6.1.7601.18839 
Exception code: 0eedfade 

Мой вопрос заключается в следующем: Почему существует режим совместимости для Windows 7 на Windows 7, и что это значит использовать этот режим, который может повлиять на мое приложение так, как описано выше?

Я не смог найти документацию об этом конкретном режиме совместимости.

+0

Почему ваша программа требует прав администратора? Исключение составляет необработанное исключение Delphi. Если бы вы добавили madExcept (или подобное), вы бы знали, что вызвало исключение. Это был бы правильный способ отладить проблему, если вы не можете прикреплять к ней отладчик. –

+0

Что делает ваше приложение на самом деле с правами администратора? Вы используете его с повышенными привилегиями? Что делает ваше приложение в момент его сбоя? –

+0

@Jerry. Что он делает, это не запуск, как указано. Ответчик не знает, потому что приложение пока не будет отображать какой-либо пользовательский интерфейс. –

ответ

2

Когда вы используете Windows 7, при установке Windows 7 с пакетом обновления 1 (SP1) появляется список «Windows 7» в списке совместимости. Если у вас нет пакета обновления 1 (SP1), этот параметр не будет отображаться в списке.

Эта опция делает Windows доступной для программы, как если бы у нее не установлен пакет обновления, что может повлиять на поведение определенных функций API.

+0

Спасибо, это имеет смысл –

Смежные вопросы