Делая замену для 16-битного установщика, программе нужны короткие имена файлов? - PullRequest
1 голос
/ 15 октября 2010

У меня есть старая игра (компакт-диск Westwood Monopoly), в которой есть только 16-битный установщик, поэтому она не будет работать на моей Windows 7 x64.Чтобы обойти это, я решил использовать Inno Setup, чтобы сделать новый установщик.Сама игра является 32-битной, но не поддерживает LFN и будет работать в Vista / 7, однако игра вылетит, если установщик, созданный мной с помощью Inno Setup, не будет запущен с проверенной совместимостью с Windows 95.различия между файлами или атрибутами между папкой, созданной при включенном режиме совместимости, и папкой, созданной без проверки параметров совместимости.Однако игра будет запускаться только в папке, установленной в режиме совместимости, в самой исполняемой игре (Monopoly.exe) не может быть включена опция режима совместимости или игра завершается, когда вы пытаетесь сохранить, загрузить или выбрать один из компьютеров.файлы проигрывателя.Если для Monopoly.exe включен режим совместимости для 95 в папке, созданной без режима совместимости, установленного для установщика, игра загрузится, но не будет воспроизводиться по указанным выше причинам.

Я предполагаю, что Windows 95установка заставляет создавать короткие имена файлов, в то время как без этого игра не может найти свои файлы, потому что нет информации о коротких именах файлов.Установка режима совместимости для установщика не является идеальным решением, поскольку мне нужно иметь возможность копировать другой exe-файл в зависимости от обнаруженной версии Windows (Aero приводит к обрезанию части экрана, поэтому я использую exe-файл в шестнадцатеричном формате сбольший размер по умолчанию).

Поэтому мой вопрос таков: есть ли способ заставить Inno setup создавать информацию о коротком имени файла при копировании, или есть способ добавить это с помощью команды после ее завершения(т.е. восстановить поврежденную папку, чтобы игра могла найти ее файлы)?

1 Ответ

1 голос
/ 21 октября 2010

Насколько мне известно, проблема в том, что более новая версия установщика Windows и сама Windows больше не поддерживают использование коротких имен. Это свойство было выведено из употребления, а с (AFIK) Vista оно полностью не используется. Большинство современных инсталляторных технологий выдадут вам ошибку, если вы попытаетесь их включить. Вы пробовали смотреть на DosBox ? Это также может позволить вам запустить его без необходимости специального установщика.

...