Как проверить совместимость программы pi 16-Bit?

1653
Nathan Campos

Я создаю графический интерфейс для soPDF, написанный на Delphi, но я хочу знать, совместим ли soPDF с 16-битной совместимостью, потому что мне нужно запустить его в MS-DOS 6.22

Кроме того, я могу сделать этот тест с DOSBox?

5

4 ответа на вопрос

4
rob

Вы можете открыть .exe в текстовом редакторе и посмотреть первые две буквы, чтобы узнать, совместим ли он с 16-битной DOS. Согласно статье в Википедии, если первые две буквы "MZ" или "NE", то программа является 16-битной DOS-совместимой. Однако это немного вводит в заблуждение. Возможно, он сможет работать в 16-битном режиме достаточно хорошо, чтобы сказать вам: «Эту программу нельзя запустить в режиме DOS». К сожалению, так обстоит дело с soPDF (откройте его в блокноте и убедитесь сами).

Установка Win32s - это, вероятно, ваша единственная надежда запустить его. Однако я не уверен, что вы можете запускать Win32s в DOS или запускать его из Windows 3.11. Я также не уверен, есть ли у soPDF какие-либо другие предпосылки, которые не имеют надежды на запуск даже под Win32.

Вы должны быть в состоянии протестировать программу в DOSBox. Хотя я предполагаю, что он поддерживает только 16-разрядные приложения DOS, я не могу найти однозначного ответа, поэтому настройка установки VMware, VirtualBox или VirtualPC DOS ( как предположил Дэвид ) может быть самым простым и надежным способом его тестирования.

Если бы это было не так просто, как открыть .exe в Блокноте, вы могли бы использовать DependencyWalker, чтобы увидеть, было ли soPDF 32-битным или 64-битным приложением.

Кроме того, если я правильно помню, 16-разрядные приложения запускаются внутри процесса WOW.EXE или, возможно, WOW16.EXE ( Windows On Windows ), который вы сможете увидеть на вкладке "Процессы" в диспетчере задач, если попытаетесь запустить приложение на 32-битной WinNT / 2k / XP.

64-разрядные выпуски Windows не включают 16-разрядный уровень совместимости, поэтому, если все остальное не сработает, вы можете предположить, что ваша программа либо повреждена, либо 16-разрядная, если она не работает в 64-разрядной установке Windows.

Есть шанс, что Win32 поможет вам, но я весьма сомневаюсь, так как doPDF был написан в 2008 году, более чем через десятилетие после массовой гибели 16-битных приложений. Удачи, и получайте удовольствие ... ох - и не забудьте использовать ваши 8.3 имена файлов!

2
Rook

Я не вдавался в подробности исследований, касающихся soPDF, но если это инструмент, созданный в «эру Windows», то это почти наверняка не 16-битная программа. «16-битной совместимости» не существует ... вы можете запускать младшие битовые программы в более высоких битовых операционных системах, но не наоборот.

Кроме того, вы уверены, что хотите запустить его в DOS? Или ты имеешь ввиду cmd?

Я хочу запустить его в DOS, а не в командной строке Windows. Nathan Campos 14 лет назад 0
а у тебя 16 битный дельфи? Rook 14 лет назад 0
Конечно. У меня Delphi 1 для Windows 3.11 **;) ** Nathan Campos 14 лет назад 1
кроме установки dos в виртуальной среде, возможно, самый простой способ - установить старую версию windows и посмотреть, как она реагирует при запуске программы в режиме совместимости. если это действительно 16-битная программа, скорее всего, она выдаст несколько предупреждений и тому подобное. Rook 14 лет назад 1
У меня есть DOS (много версий), и я могу легко проверить его для вас, если бы у меня больше был дисковод гибких дисков :-( Хотелось бы мне помочь, правда, ... DOS - моя любимая. os! Rook 14 лет назад 0
0
David

Самый простой способ сделать это - использовать программное обеспечение для виртуальных машин, такое как VirtualBox или VMWare, и запустить в нем DOS. Я уверен, что VirtualBox принимает образы дискет.

0
shf301

Согласно информации в вашей ссылке, soPDF был построен с Visual Studio 2008, поэтому это было бы 32-битное приложение Windows, так как Visual Studio не может создавать 16-битное приложение. Если вам нужна 16-битная версия, вам нужно скачать исходный код и скомпилировать его самостоятельно. Если вам нужен компилятор, вы можете использовать Open Watcom . Это, вероятно, не тривиальное преобразование.