Чтобы найти (то есть переносимый одиночный исполняемый файл) программное обеспечение, требуется определенная ОС (Win98, Win98SE, WinME, Win2000, WinXP, Linux). Я использую Win98SE на одном компьютере и WinXP на другом компьютере. Если я копирую / устанавливаю переносимое программное обеспечение или пакет в win98se, только после установки / запуска этого программного обеспечения эта программа сообщает нам, что для нее требуется WinXP ,. Любое программное обеспечение для поиска конкретного программного обеспечения должно работать только в Win98SE или более поздней версии. Я попробовал Dependency Walker от Стива Миллера, но безрезультатно. Пожалуйста, помогите решить эту проблему.
3 ответа
Конечно, в заголовках исполняемого файла есть флаги, указывающие на некоторые виды совместимости, но я подозреваю, что он связан только с 32- или 64-разрядными версиями и платформой (MIPS, Alpha, PowerPC, Intel, ...) для более старых (NT3). , NT4 раза) исполняемые файлы.
Обычно это роль, если установщик (если есть) проверяет совместимость ОС. Если инсталлятора нет, исполняемый файл выполняет проверку совместимости ОС в логике самого кода, а не в известном месте, которое можно проверить перед запуском приложения.
Поэтому я сомневаюсь в этом, это зависит от того, где в коде и как выполняется проверка, и она меняется для каждого приложения, которое выполняет такую проверку.
Посмотрите на веб-сайте или в компании, которая сделала это, и посмотрите, что они говорят, это минимальная спецификация?
Я ожидаю, что ответ будет таким, что программное обеспечение, которое анализирует исполняемый файл и сообщает, под какой ОС выполняется исполняемый файл. Скажем, следующие программы анализируют исполняемые файлы, но это не дает результата, подобного минимальной ОС, необходимой для запуска:
Зависимость Уокер, Зависит