This program must be run under microsoft windows

В любой организации может оказаться так, что при обновлении старых компьютеров на новые можно столкнуться с таким фактом, что компьютеры новые, но

871

В любой организации может оказаться так, что при обновлении старых компьютеров на новые можно столкнуться с таким фактом, что компьютеры новые, но необходимость использования старых программ никуда не отпала. А одной из старых программ вполне может оказаться какое-нибудь приложение, написанное в 90ые года под MS-DOS, которое напрочь отказывается запускаться на современных операционных системах. В таком случае очень помогает эмулятор MS-DOS под названием DOSBox, использованию которого и посвящена эта статья.

Содержание

  1. Установка и настройка
  2. Добавление поддержки отображения русского языка
  3. Доработка
  4. Комментарии к статье (124)
  5. Запуск CREDO (версия DOS) под Windows XP, Windows 7

Установка и настройка

Скачиваем последнюю версию с официального сайта, после устанавливаем. Никаких необычных действий при установке программы не требуется.

Теперь ищем необходимую вам DOS программу. Допустим она располагается на диске D в папке Prog и называется Prog.exe. Переходим в эту папку, и создаем там текстовый файл с любым названием и расширением conf. В него пишем:

Если вам нужно, чтобы DOSBox закрывался после запуска bat файла, то вместо простого запуска prog.bat пишем:

Теперь создаем еще один текстовый файл с расширением bat. В него пишем:

Вместо «C:Program Files (x86)DOSBox-0.74» указываем тот путь, куда была установлена программа DOSBox. Вместо D:Prog указываем путь к нужной DOS программе, и вместо prog.conf указываем имя файла, созданного выше.
Сохраняем, и пробуем запустить. Если все прошло успешно, то появится окошко DOSBox, в котором запустится нужная программа.

norus

Добавление поддержки отображения русского языка

Сохраняем и пробуем запустить программу.

rus

Теперь русские символы отображаются и печатаются.

Доработка

Если при запуске программы смущает второе окошко DOSBox, которое открывается вместе с основным окном, то можно в bat файл дописать параметр -noconsole, в итоге bat файл для запуска приобритет следующий вид:

Была ли эта статья Вам полезна?

Комментарии к статье (124)

Программа, запускаемая через dosbox, открывает лог-файл и пишет в него данные. Но эти данные не будут видны, пока я не выйду из программы. Как можно задать интервал обновления данных? Ctrl+F4 не помогает. И второй вопрос: насколько большой кэш у dosbox? Мне для логов нужно максимум 256 Кб.

Спасибо за статью, настроил на Win7 х64 запуск терминала от древних АТС dx-500. У меня не запускается программа с секцией:
[dosbox]
language=russian.txt
Без неё всё ок.
Также пробросил com-port для работы с dial-up модемом.
Единственное, что хочу узнать, есть ли какая-то комбинация клавиш, по которой dosbox отпускает указатель мыши?

Что же касается «захвата мышки», то здесь можно сделать следующее:

Никакая ошибка не появляется. Окно dosbox открывается и сразу закрывается.
Ещё заметил одну особенность: курсор мыши ползает только по верхней половине окна, в нижнюю не попадает, не может пересечь воображаемый экватор окна.

Отпустить мышь — Ctrl+F10

Добрый день!
Поменял старый ПК. Теперь стоит Win7 64. Есть необходимость запустить старенькую программу на новом ПК. Вроде всё сделал, как написано в статье, но программа не запускается.
Вопросы:
1)Есть ли необходимость создавать в папке C:WindowsSystem32 файлы
autoexec.nt с содержимым
path=c:kadry (папка с программой)
set clipper=f95
rem c:cyrill.com
lh %SystemRoot%system32kb16 ru
и config.nt с содержимым
dos=high, umb
device=%SystemRoot%system32himem.sys
files=100

сам же файл KADRY.BAT (оригинальный и рабочий на старом компе) содержит следующие строки и, мне кажется, в итоге программа путается
@echo off
cls
c:
CDkadryDBF
erase instal_2.mem
erase instal_3.mem
c:kadrymain.EXE //clipper=f85
IF ERRORLEVEL 3 GOTO END
IF ERRORLEVEL 2 GOTO ER
IF ERRORLEVEL 1 GOTO END
IF ERRORLEVEL 0 GOTO END
:ER
LAMBADA
GOTO END
:END
rem ERASE *.NTX
CD..

Что в итоге я сделал лишнего и не так?

Скрины, после запуска программы

Здравствуйте подскажите пожалуйста, я запускаю программу на DOSbox, и в этой программе в поля надо вводить значения, и как только ввожу какой-нибудь символ, программа автоматически подтверждает мой выбор ( программа как бы за меня нажимает клавишу «Enter»). Я решил проверить все это в играх, и в игре где надо выбирать персонажа, только нажимаю стрелку и игра автоматически нажимает подтверждение. Помогите пожалуйста

Очень странная проблема, может быть это как-то связано с каким-то из ваших устройств ввода? Вообще, попробуйте прописать следующее в файл конфигурации DOSBox:

Так же попробуйте проверить работу с отключенной клавиатурой или мышкой (как бы это странно не звучало), и проверьте, будет ли при этом происходить самостоятельное «нажатие» клавиши Enter.

Я так и писал, только без EXT и всё заработало.
[autoexec]
mount c E:VODA_PR
c:
Paradox.exe pred
exit

попробуй так:
pdparadox main

у меня запустилось.

Спасибо! Очень помогла Ваша инструкция. Немного усилий по переделке своего bat файла и получился отличный результат.

Подскажите, пожалуйста, по поводу Dosbox.

run.bat создал такой:

language=»C:Program Files (x86)DOSBox-0.74-3russian.txt»
memsize=1024

[dos]
keyboardlayout=RU
FILES=250

[autoexec]
mount c G:Ball
c:
Ball.exe
exit

При запуске программы ловлю ошибку:

Error while initializing DT-MAX expanded memory management:
EMM manager does not map enough pages for swapping

Обойти ошибку так и не смог, надеюсь на вашу помощь

Здравствуйте,
К сожалению, лично мне не приходилось сталкиваться с DOSEMU, с которым (судя по ошибке) у Вас возникла проблема. Но, может быть, под Ваши цели подойдет DOSBox?

Как раз в dosbox и запускаю. Отключение ems/xms в конфиге и загрузка с JEMMEX тоже не помогла

Извиняюсь, был введен в заблуждение ошибкой.

Пробовали менять стандартное значение размера оперативной памяти, выделяемой в DOSBox?
За это отвечает параметр memsize в секции [dosbox], т. е. я бы предложил попробовать:

Пробовал, и к сожалению никакого эффекта

Добрый день
Программа за пустилась, но она обращается к базе данных.
В DOS это решалось присвоением переменной значения каталога, например
set amber=c:progbasa (место куда обращается исполняемая программа)
А как подключить такую базу в DOSbox?

Как самый простой вариант:

Монтируем нужную директорию, как диск D:

И в конфиге вашего приложения прописываем путь к базе «на диске D».

Здравствуйте. Установил DOSBox-0.74-3. В каталоге F:test.DOSBox создал файлы,-
test.bat:

[dosbox]
language=»C:Program Files (x86)DOSBox-0.74-3russian.txt»
memsize=1024

[dos]
keyboardlayout=RU
FILES=250

[autoexec]
mount T F:test.DOSBox
T:
T:DN-DPMIDN.com

После запуска test.bat запускается пустое окно DOSBox и через некоторое время закрывается. Как говорит stdout.txt,-

DOSBox version 0.74-3
Copyright 2002-2019 DOSBox Team, published under GNU GPL.

CONFIG:Loading primary settings from config file F:test.DOSBoxtest.conf
Exit to error: MSG:Can’t load messages: F:test.DOSBox»C:Program Files (x86)DOSBox-0.74-3russian.txt»

Как исправить ситуацию? Спасибо.

А файл локализации был скачан? Судя по логу, программа просто не может его загрузить. Еще, желательно попробовать в конфиге указать просто название файла локализации, а не целый путь, т. е.:

Да, файл локализации имеется.

Согл. файла конфигурации, файл локализации должен браться с
language=»C:Program Files (x86)DOSBox-0.74-3russian.txt»
а DOSBox пытается взять его с F:test.DOSBox»C:Program Files (x86)DOSBox-0.74-3russian.txt»

У меня авторская досовская программа не открывается на windows 8. Что можно сделать?

Может быть, при этом пишутся какие-то ошибки? Сложно определить в чем проблема, особенно если речь идет о какой-то уникальной программе.

Дополняю (жаль, что нельзя здесь скриншот), в заголовке окна стоит:
DOSBox 0.74-3, Cpu speed 3000 cycles, Frameskip 0, Program: FOXPROL

С огромным уважением, Владимир Марциновский

Извините за вопрос! А где именно взять русскую локализацию? новичок, сильно не пинайте плииз 🙂

Всё разобрался сам спасибо! 🙂

Может немного тупой совет, но не ставьте пробелов в названии папки с игрой, иначе работать не будет. Думаю, те, кто впервые работает с DOS-системой могут этого не знать.

Можно ли увеличить размер окна, в котором
запускается DOS-программа?

Программа супер, но есть нюанс, при раскрытии окна на полный экран (Alt-Enter), размер отображения досовской программы остается прежний, хотя DosBox растягивается на весь экран (заливая черным оставшуюся часть окна). Есть ли возможность «растянуть» окно именно дос программы?

Попробуйте добавить в конфиг следующие строки:

У меня та же проблема, что и у Светланы из комментария:
«Светлана 19.12.2017 09:12
При запуске программы в DOSBOX выходит сообщение: «This program must be run under Win32″. Можно как то это победить? Стоит Windows7 x64.»
После установки DOSBOX я установила в него win3.11, но как воспользоваться win3.11 для запуска нужной мне программы не знаю. Может быть Вы знаете, как это сделать?

После запуска программы в каталоге создаются 2 файла
Stdout и stderr

Stderr.txt он пустой

Stdout с таким содержимым

Файлы эти создаются и при запуске foxpro и fox26x и отличаются только
строкой с предупреждением.
Где искать проблему?

Если вопрос о том, может ли DOS создать общую папку, то да, но для этого потребуется большое количество действий. Другое дело, что далеко не факт, что сама программа и её БД позволяет работать с собой сразу нескольким людям.

Warning: file creation failed: p:50507648.TMP
Что делать?

А такой файл существует? Убедитесь, что если он существует, то не имеет атрибутов «скрытый» или «только чтение».

Работать то должна, другое дело, что лично самому такой софт разворачивать мне не приходилось. Но на всякий случай покажите свой конфиг, может быть проблема в нем.

А диск «p:» то в досбоксе прописан?

Есть у вас на компе стоит, 64-ти разрядная Windows 8 или 10, то имеет смысл установить этот эмулятор DOS. Потому, что опытные компьютарщики знают, что «старые добрые» досовские программы, универсальные и среди них, есть такие которые, до сих пор нельзя заменить, аналогами для Windows

Recluse, подскажите пожалуйста как заставить программу dosbox работать с моим com1 (настоящий последовательный порт). На virtualbox я разобрался как «пробросить» Com1, а тут мне не понятно есть ли такая возможность вообще. Программа работает, но связи нет. Win10 X64 pro.

В конфиг нужно добавить:
serial1=directserial realport:com1
вместо directserial может быть dummy, modem, nullmodem, при этом для остальных значений параметр realport не нужен. Подробнее можно прочесть на английском языке тут.

Программа лежит на диске D:top. Конфиг:
[dosbox]
«C:Program Files (x86)DOSBox-0.74russian.txt»
[dos]
keyboardlayout=RU
[autoexec]
mount c D:top
c:
call top.exe
exit
Программа запускается, но не видит базу с настройками, которая лежит в d:topDB. Как пофиксить?

Возможно в программе есть какие-то настройки, которые стоит изменить для работы по новому пути?

Например, программа до этого была по пути C:top, но сейчас просто находится по адресу C:, и пытается обратиться по пути C:topDB.

В разделе [dosbox] указывать на файл настроек русского языка надо так:
language=«C:Program Files (x86)DOSBox-0.74russian.txt»
а не просто название файла.

Кажется, я нашел подходящий вариант.
Вместе с DOSBOX (для обеспечения работы программы) надо использовать SPRINT (для обеспечения печати). Конечно, некоторые формы выглядят не так, как задумывались или как привыкли пользователи на протяжении многих лет (есть эффект сжатия и сдвига налево, тогда как есть достаточно много места до низа страницы и правого края), но когда северный пушной зверек появится на пороге, сгодится и так.

2) Насчет распечатки. Программа, о которой я писал выше, может печатать и на LPT порт, и на USB. Но LPT принтеров уже нет, а при команде печатать на USB результат нулевой, оно и понятно, во времена DOS-а такого порта не было. Есть какой-то вариант непосредственной печати (кроме как сохранить файл и напечатать стандартными средствами Windows)?

Каким образом можно поставить максимальное быстродействие исполняемой программы (не игра)?

Ох, это очень тяжелый вопрос, так как с необходимостью печати из DOSBox мне не доводилось сталкиваться. Сохранение в файл, и печать из него действительно не вариант?

К сожалению, на этот вопрос я не могу дать квалифицированный ответ.

Спасибо! запустилась с первого раза! Много проблем отпало! Рулит на Windows 10 64 bit!

отличная статья, со второй попытки запустил ностальгический EOB1 😉
Единственно (но могу ошибаться), если в папке два исполняемых файла, то в conf надо вписывать их оба

При запуске программы в DOSBOX выходит сообщение: «This program must be run under Win32». Можно как то это победить? Стоит Windows7 x64.

Судя по всему вы пытаетесь запустить исполняемый файл, который предназначен для работы в Windows, а не в MS DOS. Попробуйте запустить программу прямо из под Windows, хотя не исключено, что под Windows 7, да и к тому же 64 разрядной, она нормально работать не будет.

А можно как-нибудь сделать, чтобы сама DosBox монтировалась не в диск Z:, а какой-нибудь другой? Дело в том, что в самой моей ДОС-программе базы прописаны именно на диске Z, а получается, что я его не могу смонтировать в файле conf, так как эта буква уже занята самой программой.

Без перекомпиляции исполняемого файла DOSBox такое проделать невозможно.

Большое спасибо. Все получилось.
В dosbox.conf добавил FILES=250,
и перед запуском программы, запускаю KEYRUS.COM.
Программа стала работать.

Юрий, каким ехе пользуетесь скачанным с офиц. сайта DosBox или по ссылке предложенной выше?

Доброго времени суток!
Программа СУБД написана на Foxpro 2.6 DOS.
Программа открывает много таблиц.
При запуске программы из-под DOSBOX
возникает ошибка «Too many files open» (Слишком много открытых файлов.).
При запуске программы в 32-х разрядной системы, без DOSBOX,
в C:WindowsSystem32config.nt
записывал files=250 и программа работала.
Где и как можно в DOSBOX указать количество открываемых файлов?

Спасибо огромное за файл!
Две недели искал решение, помог только ваш модифицированный файл.

А что внутри Uchet.bat?

Сложно сказать, что в вашем случае пошло не так, но если вы выложите содержимое файлов конфигурации и bat файла, то возможно я смогу вам помочь.

Все делал по инструкции, запускается Dosbox и тут же закрывается, в чем может быть проблема. система Win 7×64.

Подскажите что делать, если у запущенной программы в DOS поехали шрифты все, как их поменять?

А что подразумевается «поехавшие шрифты»? Если вместо русского языка отображаются различные загогулины, то в статье есть решение.

Пытаемся загрузить БД с перечнем людей, сделали все, что указанно в инструкции. Но при запуске эмулятора он выключается и ничего не происходит. Интерфейс этой БД очень похож на FAR Manager, вот и подумал, что он тоже может быть связан с запуском.

Уважаемый Recluse и остальные знающие, как заставить работать F1-10 клавиши?

Что пытаетесь запустить?
Если FAR Manager, то он не является MS-DOS программой.

Уважаемые знатоки! Сделал все по инструкции, но результата это не принесло. Вместо запуска голубого окна эмулятор просто закрывается. Что я делаю не так? Может ли программа MS-DOS запускаться через другую, FAR?

Попробуйте после строки

Подразумеваю, что у вас есть дисковод, которому в системе присвоена буква A (по умолчанию), и в него вставлена нужная дискета.

А мне тоже страсть как нужно запустить дос-прожку, но загогулина в том, что она записана на ключевой к дискете, к которой постоянно обращается в процессе работы. Как быть?

Ну не совсем всё работало. У меня на ХР х32 ДОС-программа напрямую запускалась, но ни мышь, ни клавиатура не работали и пришлось через досбокс.

Это очень странно, но я сомневаюсь, что проблема в самом DOSBox. Видит ли программа нормально саму базу? Находится ли файл базы в той же директории, что и сама программа? Желательно было бы еще и конфиг DOSBox посмотреть, который используется для работы с программой.

Здравствуйте, подскажите пожалуйста, в чем может быть проблема, DOS приложение нормально запускается через DosBox но при работе не функционируют часть кнопок, например в программе есть возможность индексации базы данных и при попытке выполнить индексацию ничего не происходит, так же при работе в базе данных не открывается некоторые окна. Никаких ошибок при этом не показывается. Есть ли какие нибудь настройки в DOSBox касающиеся работы с БД? Спасибо.

Покажите ту часть настроек/конфига, в которой прокидывается com порт из реальной системы в эмулируемую.

Может быть кто-то подскажет.
Программа для DOS работала через com-порт с медицинским прибором.
Запустить программу через Dosbox получилось (через графическую оболочку D-Fend Reloaded), доступ в архив программы есть, но получать данные с устройства не получается. Номер порта и прерывание установил вроде бы правильно. Система Windows XP 32-битная.
Очень извиняюсь, что не совсем соответствует теме.
Заранее огромное спасибо за помощь.

Если честно, то с трудом представляю, что могло пойти не так, так как вроде все в файлах указано верно.
Могу предложить выполнить в окне DOSBox следующие команды из файла st.conf:

mount c E:CHESS2
c:
CG3.exe

И посмотреть, запустится ли программа.

Здравствуйте, уважаемый Rrecluse!
Спасибо за Ваш быстрый ответ. Я скопировал путь из проводника и теперь после запуска bat файла открывается вот такое окно DOSBox (ссылка http://take.ms/iWGID ), но нужный мне DOS файл не запускается. Проверьте, пожалуйста, мои 2 файла.
Нужная мне программа CESS2 лежит на диске D, исполняемый файл CG3.exe.
Первый файл st.conf

Ниже bat файл Chess.bat

Надеюсь на Вашу помощь.
Спасибо

Всем привет! Эта программа и все процедуры будут действовать для 32-х разрядной системы? А то вроде все правильно, а в итоге все закрывается( Если нет то как мне быть кто подскажет.

Спасибо! Скопировала файлы russian.txt и dosbox.conf в папку с программой, которую нужно запустить и написала в файле conf

Все заработало. Еще раз спасибо.

Попробуйте в файле conf написать следующее (вместо того, что было в статье):

Ну и стоит убедиться в наличии файла russian.txt в папке DOSBox.

Добрый день! У меня почему-то не получается сделать русский язык. Все сделала как сказано. После добавления в conf-файл

открывается только черное окошко, программа не загружается и через несколько секунд окно закрывается.
Без этого открывается, но с иероглифами. Подскажите, пожалуйста, что не так.

Т. е. попробовать сделать ссылку с файлом/папки базы в ту директорию, которая монтируется в DOSBox.

Программа DOS пытается открыть базу данных из другого каталога и выходит ошибка о невозможности открыть данный файл. Если я правильно понял программа запускается в dosbox на вирт. диске и доступ к другим ресурсам получается недоступен. Как подключить внешние данные причем с сохранением пути?

Не совсем в курсе, что подразумевается под «BD», не могли бы вы поподробнее рассказать про это?

Как настроить загрузку необходимых BD, если они в другом каталоге?

У меня всё отлично заработало. Даже с CLS поэкспериментировал, чтоб удалять мусор из КС. Автор, спасибо за помощь. Ты отличный человек)
К сведению: Windows 7 ultimate 64x. Проблем не возникло.
Ребят проверяйте себя лучше. Вероятнее всего сами допустили ошибку.
Пишите, подскажу, если что alexxx.merc@gmail.com

Да, в статье была допущена небольшая ошибка. Попробуйте исправить свой bat файл на то, что сейчас в статье.

Та же ерунда, что и у предыдущего пользователя/

Здравствуйте!
При попытки запустить бат файл он пишет ошибку; Не удается найти «-conf». Проверьте, правильно ли указанно имя и повторите попытку.
Проверял правильность заполнения созданных мною файлов несколько раз и ошибок не увидел.

Источник

Запуск CREDO (версия DOS) под Windows XP, Windows 7

Несмотря на значительный прогресс, за прошедшие несколько лет, и выход версий программ комплекса “CREDO” под Windows, по разным причинам часто приходится пользоваться “устаревшими” версиями программ комплекса, написанных для работы в MS-DOS.

credo

Постараемся разобраться, как оптимизировать их работу и вообще запустить под новыми версиями Windows старые геодезические программы (не только “CREDO”).

Итак, корпорация Microsoft всеми правдами и неправдами избавляется от MS-DOS как устаревшей операционной системы, однако несмотря на это, оставляет возможность запуска в ней программ с помощью эмуляторов. Для Windows XP эмулятор DOS — командная строка “cmd.exe”:

1. Запуск программ комплекса “Credo” под windows XP

Для тех, кто знаком с операционной системой “MS-DOS”, — работа в командной строке windows почти ничем не отличается от работы в реальной операционной системе MS-DOS. Особенности здесь заключаются в том, что файлы настроек config.sys и autoexec.bat находятся по следующему пути: “c:windowssystem32” и имеют расширение *.nt. Здесь путь “c:windows” — путь, куда установлена ОС Windows XP.

Первое, что нужно сделать после установки программ CREDO, — нужно проверить свойства исполняемого файла credo.exe для этого в любом удобном файловом менеджере открываем свойства файла (Alt+Enter, или контекстное меню файла “свойства”)и проверяем поочерёдно каждую вкладку, настройки в них должны соответствовать вот этим:

Prop1

Prop2

Prop3Prop4Prop5

Следующий этап. В папке “c:windowssystem32” находим файлы Autoexec.nt и config.nt. Добавляем или исправляем в config.nt следующие строки:

Чтобы на экране не отображались “кракозябры” при запуске, — добавим поддержку русского языка в DOS-эмуляторе. Я пользуюсь чудесным vrun. Скопируем файл “vrun.com” в папку c:windowssystem32 и добавим автоматический его запуск, прописав в файле “autoexec.nt”:

Кроме всего, — в “autoexec.nt” должны быть активны (не закомментированы) следующие строки:

lh %SystemRoot%system32redir
lh %SystemRoot%system32dosx

Всё готово, можно работать!

2. Запуск программ комплекса “Credo” под Windows 7

В настоящий момент человеческого способа сделать это, не используя бесчеловечных методов, к сожалению, мною не обнаружено. Таким образом, — опишу метод бесчеловечный, для чего понадобится скачать и установить программу-DOS-эмулятор “Dosbox”, в настоящее время она доросла до версии 0,74. Этот способ также подходит для запуска программ комплекса “Credo” по Windows XP.

1. Устанавливаем «DosBox» на windows 7

При запуске эмулятора вы увидите окно, очень напоминающее окно MS-DOS. Поддерживаются практически все команды и программы, написанные для этой операционной системы.

При «голом» запуске dosbox, в нём вы увидите только один диск «Z». Для работы необходимо подключить другой диск, или рабочую папку. В этом ограничений нет, любой путь на вашем реальном компьютере (например, «c:work») для удобства можно подключать как диск (например, «D»). А путь, где лежит пакет программ CREDO, — например как диск «C». В будущем можно с помощью настроек dosbox сделать процедуру монтирования автоматической при каждом запуске.

2. Монтируем виртуальные диски в эмуляторе dosbox.

— монтируем каталог с программой: «mount c c:credo_dat»

— монтируем рабочую папку проектов credo «mount d d:work»

3.Русификация CREDO.

При первом запуске credo вы скорее всего увидите «кракозябры» — меню, которые должны быть на русском языке, — нечитаемы. Причина кроется в отсутствии поддержки русской кодировки в выводе на экран текста. Чтобы в credo нормально отображался русский язык, — необходимо загрузить программу-русификатор для DOS. Например чудесный небольшой vrun.com

Копируем его в папку с credo и оттуда же запускаем.

4. Делаем активной папку, в которой будет создаваться наш будущий проект credo dos:

должно получиться что-то вроде этого:

5. Запускаем программу credo:

Вуаля! Работаем! Есть несколько тонкостей по такой работе с credo в windows 7, возможно, о них напишу позже.

Также можно настроить все действия, что описаны мною выше, — автоматическими при каждом запуске dosbox

Источник


Windows 10, Windows 7, Windows 8, Windows Server, Windows Vista, Windows XP

  • 22.04.2015
  • 150 663
  • 125
  • 10.11.2019
  • 118
  • 118
  • 0

Запуск старых DOS программ под Windows x64

  • Содержание статьи
    • Установка и настройка
    • Добавление поддержки отображения русского языка
    • Доработка
    • Комментарии к статье ( 125 шт )
    • Добавить комментарий

В любой организации может оказаться так, что при обновлении старых компьютеров на новые можно столкнуться с таким фактом, что компьютеры новые, но необходимость использования старых программ никуда не отпала. А одной из старых программ вполне может оказаться какое-нибудь приложение, написанное в 90ые года под MS-DOS, которое напрочь отказывается запускаться на современных операционных системах. В таком случае очень помогает эмулятор MS-DOS под названием DOSBox, использованию которого и посвящена эта статья.

Установка и настройка

Скачиваем последнюю версию с официального сайта, после устанавливаем. Никаких необычных действий при установке программы не требуется.

Теперь ищем необходимую вам DOS программу. Допустим она располагается на диске D в папке Prog и называется Prog.exe. Переходим в эту папку, и создаем там текстовый файл с любым названием и расширением conf. В него пишем:

[autoexec]
mount c D:Prog
c:
Prog.exe
exit
  • mount c D:Prog — монтирует в эмулятор папку D:Prog как раздел жесткого диска С;
  • c: — осуществляет переход на раздел C жесткого диска;
  • Prog.exe — запускает нужную программу. Вместо exe файла могут быть так же файлы с расширением bat или pif.
  • exit — закрывает DOSBox после завершения работы программы. Работает ТОЛЬКО с exe файлами.

Если вам нужно, чтобы DOSBox закрывался после запуска bat файла, то вместо простого запуска prog.bat пишем:

call prog.bat

Теперь создаем еще один текстовый файл с расширением bat. В него пишем:

start "" "C:Program Files (x86)DOSBox-0.74DOSBox.exe" -conf "D:Progprog.conf"

Вместо «C:Program Files (x86)DOSBox-0.74» указываем тот путь, куда была установлена программа DOSBox. Вместо D:Prog указываем путь к нужной DOS программе, и вместо prog.conf указываем имя файла, созданного выше.
Сохраняем, и пробуем запустить. Если все прошло успешно, то появится окошко DOSBox, в котором запустится нужная программа.

norus

Добавление поддержки отображения русского языка

Впрочем, момент триумфа может омрачить полное отсутствие русского языка — но это дело поправимое.
Для начала скачиваем с официального сайта официальную локализацию — после чего распаковываем содержимое архива в каталог с программой. Теперь открываем созданный выше conf файл, и дописываем туда в самый верх следующее:

[dosbox]
language=russian.txt

[dos]
keyboardlayout=RU

Где «C:Program Files (x86)DOSBox-0.74russian.txt» — это путь к распакованному в папку с программой файлу russian.txt.

Если путь к файлу russian.txt содержит пробелы, обязательно закрываем его в кавычки, как в примере выше. Если же пробелов в пути нет, кавычки не нужны, и скорее всего DOSBox не будет корректно работать.

Сохраняем и пробуем запустить программу.

rus

Теперь русские символы отображаются и печатаются.

Переключение языка в DOSBox осуществляется с помощью одновременного нажатия левого Alt и правого Shift.

Доработка

Если при запуске программы смущает второе окошко DOSBox, которое открывается вместе с основным окном, то можно в bat файл дописать параметр -noconsole, в итоге bat файл для запуска приобритет следующий вид:

start "" "C:Program Files (x86)DOSBox-0.74DOSBox.exe" -conf "D:Progprog.conf" -noconsole

Страница 1 из 3

  1. Всем здравствуйте, 4 ядра по 2,5, 4 гб ОЗУ, Видео не слабая, windows 7 професиональная 64- разряда, пытался запустить установку D-Fend Reloaded 1.3.2 и не устанавливаеться таким образом и в режиме совместимости ручную…

    пишет либо: this program must be run under microsoft windows
    либо данная программа поддерживаеться 32 разрядной системой обратитеть к разроботчику за решением проблемы, помогите пожалуйста — уже не знаю что делать… интернет слабы а качать эмулятор виндовса по 3G модэму это ужас…:cry:

  2. SMArt
    Страшила мудрый


    SMArt

    Супер-модератор

    Регистрация:
    19 фев 2006
    Сообщения:
    2.778

    gamerofthebest, к сожалению, установщик Warlords III: Darklords Rising это 16-битное windows-приложение. Поддержка таких исполняемых файлов отсутствует в 64-битных операционных системах. D-Fend Reloaded тоже здесь не поможет, так как это оболочка для запуска эмулятора DOS, а тут мы имеем проблемы с Windows-приложением :(.

  3. SMArt
    Страшила мудрый


    SMArt

    Супер-модератор

    Регистрация:
    19 фев 2006
    Сообщения:
    2.778

    Здесь есть информация по запуску 16-битных инсталляторов InstallShield и им подобных. Если вкратце и конкретно по Warlords III: Darklords Rising, то рецепт следующий:

    1. Содержимое образа диска распаковываем во временную папку
    2. Скачиваем архив прикрепленный к этому сообщению
    3. Распаковываем файл setup32.exe в [временная папка]SETUP и запускаем
    4. …..
    5. PROFIT!!!1

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

    Вложения:

  4. SMArt, если эта штука универсальная — то, думаю, её надо в кратчайшие сроки выложить на сайт.

  5. SMArt
    Страшила мудрый


    SMArt

    Супер-модератор

    Регистрация:
    19 фев 2006
    Сообщения:
    2.778

    gamerofthebest, в любом случае необходимо установить патч до версии 1.02 — брать на странице скачивания игры. На исполняемом файле игры Darklord.exe нужно выставить совместимость с Windows XP (иначе игра будет тормозить). Если у вас, как и у меня, после запуска игры нарушена палитра: то есть видео, меню игры и все остальное отображается неправильно, воспользуйтесь утилитой DXWnd. Описание использования в файле readme.txt внутри архива с программой.

    kreol, по ссылке написано, что и как. У InstallShield 3.x файл setup.exe это не установщик, а так называемый Setup Launcher, то есть «запускальщик установщика» и является 16-битным. Сначала он распаковывает 32-битный установщик во временную папку системы, а уж потом его запускает. Файл setup32.exe из архива это и есть тот самый 32-битный установщик. В InstallShield 5.x файл setup.exe может быть как 16-битным, так и 32-битным. В случае, если он 16-битный, достаточно подменить сам setup.exe (смотри вложение к этому посту). Там еще про Microsoft ACMSetup написано, но игр с таким инсталлятором я не видел.

    PS Оказывается Microsoft кое-как позаботилась об этой проблеме. В 64-биных системах в папке WindowsSysWOW64 лежат исполняемые файлы для замены 16-битных Setup Launcher’ов 32-биными «на лету». Описание лежит в ветке реестра HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionNtVdm64. Посмотрев у себя, я увидел, что поддерживается ACMSetup разных версий и InstallShield 5.x. Вот такой вот костыль :)

    Вложения:

    Последнее редактирование: 17 дек 2012

  6. Тогда почему же установка игр прерывается с сообщением о несовместимости версий?

  7. SMArt
    Страшила мудрый


    SMArt

    Супер-модератор

    Регистрация:
    19 фев 2006
    Сообщения:
    2.778

    BrainRipper, видимо потому, что о поддержке InstallShield 3.x корпорация Microsoft не позаботилась.

  8. скачал патч с сайта, пропатчить не удалось пишет что не мог создать єтот файл… Type name of ‘Darklords Rising’ directory here

    с зависанием проблемі не решились, хотя очевидній прогресс: сделал 12 ходов и снес несколько героев противника:good:

    очень помогла програмка выше описанная dxwnd!!!:good:

  9. lordi


    lordi

    Регистрация:
    4 дек 2008
    Сообщения:
    247

    Win7-x64-SP1

    1. установил по вышеописанному методу в папку c:war3 (у меня давно к этой игре была пометка, что ставить именно в эту папку. причину не помню)
    2. в реестре «HKLMSOFTWAREWow6432NodeRed Orb EntertainmentWarlords III: Darklords Rising1.0» перенаправил пути с папки установки на образ
    3. пропатчил
    4. убил процесс «explorer.exe»
    5. запустил «darklord.exe -wincursor»

    результат: 24 хода на random-карте и 20 ходов в первой кампании прошли без зависаний. далее проверять не стал.


    6y3eJIok, SMArt и kreol нравится это.

  10. я не очень силен в этом а можно подетальнее пожалуйста как для чайника

    интересует следуещее:
    пункт 2 перенаправил на образ монтированный или же на сам образ?
    пункт 5 что такое «darklord.exe -wincursor»?

    ———- Сообщение добавлено в 17:54 ———- Предыдущее сообщение размещено в 17:48 ———-


    lordi, и еще как это убить процес «explorer.exe»???

  11. AxXxB
    неадекват


    AxXxB

    Хелпер

    Регистрация:
    13 ноя 2006
    Сообщения:
    1.647

    На букву эмулируемого привода, к которому примонтирован образ.Нужно создать ярлык для файла darklord.exe, находящегося в папке с игрой, затем щелкнуть по нему правой кнопкой мышки, выбрать «Свойства», и в появившемся окне в поле «Объект» поставить в конце пробел и написать -wincursor.http://www.kakprosto.ru/kak-96747-kak-zavershit-process-dispetchera-zadach
    http://www.softogen.ru/faqs/computer-questions/kill-process-by-name.html

  12. В общем ребята, все получилось:good: Благодаря lordi и AxXxB за разьяснение!!!

    правда у меня так и не получилось убить процесс «explorer.exe» но все работает как надо, спасибо:drink:

  13. lordi


    lordi

    Регистрация:
    4 дек 2008
    Сообщения:
    247

    варианты:
    1. вручную. заранее открой папку с игрой, нажми Ctrl+Alt+Del, Запустить диспетчер задач, среди процессов выбери «explorer.exe» и нажми «завершить процесс». запускай игру. как выйдешь из игры — снова в диспетчер задач, файл, новая задача (выполнить), набери explorer.exe, ok

    2. автоматически. распакуй файл

    Посмотреть вложение runme_win7_ekill.zip

    в папку с игрой (vbs-скрипт) и запусти его. он сам убьёт «explorer.exe», запустит игру с параметром «-wincursor», дождётся выхода из неё и снова запустит «explorer.exe».

    Последнее редактирование: 19 дек 2012


    gamerofthebest нравится это.

  14. DxWnd прекрасно запускает Warlords 3 DLR на любой системе безо всяких виртуальных машин.

    Если кому интересно, по ссылке — мой диалог с Ghotik, создателем программы:
    https://sourceforge.net/p/dxwnd/discussion/general/thread/d149fdba/
    (Прикреплённый к этому обсуждению файлик конфигурации W3DLR для DxWnd проверен мной лично на 100-процентную работоспособность на Win7-32 и Ghotik’ом на Win7-64, Win8 и Win10. На XP Тёмные Лорды идут и сами по себе прекрасно (с -wincursor, естественно). Таким образом, из эксперимента выпала только Виста, но, полагаю, и с ней не должно возникнуть проблем).

    Последнее редактирование: 3 июн 2017

  15. mix_step


    mix_step

    Регистрация:
    4 окт 2018
    Сообщения:
    5

    Уважаемые камрады! Не могу установить по способу камрада Smart-a, т.к. выскакивает окно с надписью:
    Stup requires _SETUP.DLL and ISRES.DLL (located in SETUP.LIB) in order to operate properly.
    Понятно, что просит перекинуть эти два файла в папку с установщиком, но второй файл ISRES.dll находится в SETUP.LIB, а как его оттуда вытащить подскажите, плз!

  16. @mix_step, не может такого быть. Нужно скопировать содержимое установочного диска в какую-нибудь папку на жестком диске с полными правами записи (читай, не Program Files). Потом в скопированном найти папку SETUP и поместить туда файл setup32.exe из архива @SMArt. Запустить именно его (setup32.exe) и подождать, пока запустится установка. Иногда ожидание может и десяток минут занять — по крайней мере, у меня так.

  17. mix_step


    mix_step

    Регистрация:
    4 окт 2018
    Сообщения:
    5

    Попробовал, результат тот же. Сдеать запись с экрана ,чтобы убедить Вас?)) Серьезно — не получается. Причем пробовал закидывать Setup32 как в папку Setup, так и в корневую с игрой (у меня на ноуте я назвал ее ВЛ3) — там тоже есть Setup

  18. @mix_step, я не в ошибку не верю, а сомневаюсь, что вы все правильно сделали. Вот заскринил содержимое папки setup на жестком диске уже со скопированным в нее файлом setup32.exe (панель справа). При его запуске установщик загружается. А если запускать, например, из пустого места (как папка слева на панели), то будет ошибка в точности как у вас.

    w3setup.png

    Подумайте, что может мешать установщику обнаружить свои собственные файлы и начать установку. Может какой-то хитрый контроль запуска недоверенных приложений от винды или антивируса?

Страница 1 из 3


Форум Old-Games.RU. Всё о старых играх

keyboarder


  • #1

В среде Delphi 7 было написано 3 версии программы(с нарастанием функционала и соответственно размера кода)
1-я и 2-я версии запустились без проблем на XP(у разработчика) и на Win7 64(у камрада-юзера).
Затем на 3-й версии возникла проблема у юзера, о чём он отписался:
< *** Не могу открыть последний вариант программы (см.скриншот).
Пробовал параметры безопасности менять – все равно не получается. *** >
В exe-файле Delphi 7 отметило, что <This program must be run under Win32>.
Версии программ и скриншот во вложении. Писать программы немного могу, а в таких вопросах я 0.
Наверняка запустить 32-битную программу в 64-битной Винде возможно, наооборот вряд ли ИМХО.
Камрады, подскажите кратчайший путь к счастью для юзера (впрочем и для меня тоже)…

keyboarder


  • #2

Мне кажется дело упрощается. Юзер сообщил, что дома на такой же Win7 64, как и на работе, все три версии работают. Дело в настройках безопасности ? Где это и как это для Win7 64, кто-нибудь возможно знает?

  • #3

там же прямо на мессидже есть ссылка на объяснение «Почему невозможно открыть эти файлы?» ;)

keyboarder


  • #4

Спасибо — попробую уточнить у юзера, пошто он там не посмотрел.

  • #5

Попробуйте правой кнопкой мыши по экзешнику и в меню «свойства->совместимоть» выбрать xp, и запускать из под администратора

  • #6

оно и под виндой 8.1 и без админских прав замечательно запускается — скорее всего на той машине ехе загружен из нета и заблокирован

keyboarder


  • #7

Пользуясь, случаем, что Знатоки всё-таки заглянули, хочется ещё кое-что уяснить. Итак:
1. Исходные версии программ готовятся и отсылаются одинаково — компиляция-архивация-пересылка почтой. За это я отвечаю.
2. По утверждению юзера он проделывает одни и те же действия: скачивание из почты — разархивация-запуск.
Вопрос: какое право имеет Винда 2 раза соглашаться на запуск, а на 3-й раз кочевряжиться?
Дополнительные скриншоты юзера прилагаю. Как я уяснил на домашнем компе с той же версией ОС всё замечательно запускается, а на рабочем компе не всё и не всегда. На работе у юзера имеется ещё локальная сеть, видимо она и клинит, по известным ей причинам, но не мне. Из скриншотов я сделал вывод, что некоторые узлы локальной сети считаются более, некоторые менее надёжными(с точки зрения ОС), оставим это на совести, вероятно, системного администратора. Т.е. скорее всего первые 2 раза размещение скаченного материала из почты и последующее разархивирование, видимо, попало в надёжные места(для ОС), а в 3-й раз в сомнительное-ненадёжное(так думает Винда), поэтому запуск 3-й версии программы нежелателен(для ОС) и блокируется. Следовательно, если просто сменить размещение на тоже самое, как в предыдущих двух случаях, проблема блокирования запуска исчезнет? Или возможен вариант, что всё равно результат будет разным? Неужели мистика в отдельно взятом случае возможна? Пока я этому не верю. Принятие решения программой(Виндой в данном случае) при одинаковых условиях должно быть одинаковым, если только только «хитрым и наглым» программистом не написан специальный кусок кода для введения в заблуждения пользователей его программы. Надеюсь на какое-нибудь разъяснение специалистов-камрадов.

  • 1.jpg

    633,4 KB
    Просмотры: 10

  • 2.jpg

    613,2 KB
    Просмотры: 10

  • 3.jpg

    437,6 KB
    Просмотры: 8

  • #8

ПКМ -> свойства — у того файла, который не запускается, должна быть кнопа «Разблокировать» (при этом в скрытых файловых потоках NTFS удалится атрибут, указывающий из какой зоны файл попал на эту машину)

keyboarder


  • #9

Спасибо. Почти всё понял, кроме ПКМ — что это такое?

keyboarder


  • #11

Аббревиатура — мать её…

  • #12

Если есть возможность втупую перекомпилять на более современной версии дельфи — с большой вероятностью может помочь.
Был случай, я был уверен в своем куске кода (он, правда, с OLE в основном работал, не знаю как у вас) и под хр шел, а под семеркой (тогда еще достаточно новой ОС)- нет. И перекомпиляция из под семерки под rad-studio 2007 втупую устранила эту проблему.

Понравилась статья? Поделить с друзьями:
  • This product was not designed for windows nt
  • This product cannot be installed on windows nt
  • This pc tweaker rus скачать для windows 10
  • This pc has already been prepared for windows technical preview перевод
  • This pc doesn t meet the minimum system requirements windows 11