Как запустить 16-битный установщик на 64-битной Win7?

Я пытаюсь установить элементы управления Sheridan (ActiveThreed 2.01) на 64-разрядную версию Win7, но, очевидно, это 16-разрядный установщик, поэтому он не запускается.

Что было бы лучшим способом обойти эту проблему?

Сообщение об ошибке

Может ли кто-нибудь прокомментировать, является ли http://homepage3.nifty.com/takeda-toshiya/msdos/index.html будет полезен?


person CJ7    schedule 02.02.2012    source источник
comment
Элементы управления кажутся 32-битными и устаревшими...   -  person Martin Samson    schedule 02.02.2012
comment
@MartinSamson: см. скриншот выше. Я считаю, что эта ошибка возникает, когда 16-разрядная программа пытается выполниться в Win7.   -  person CJ7    schedule 02.02.2012
comment
Ага. Я быстро погуглил ActiveThreed и увидел 32-битный ActiveX. Как говорит Коди Грей, вам, вероятно, следует обновить приложение, требующее элементов управления, ИЛИ запустить более старую ОС Windows на виртуальной машине.   -  person Martin Samson    schedule 02.02.2012
comment
См. также этот вопрос   -  person JimmyPena    schedule 03.02.2012
comment
@JP.: Я удалил добавленный вами тег vb6, потому что на самом деле он не имеет ничего общего с vb6. Это просто 16-битный установщик, пытающийся установить на 64-битную Win7.   -  person CJ7    schedule 03.02.2012
comment
Виноват. Я предположил VB6, потому что большинство ваших вопросов в последнее время были связаны с VB6, и вы упомянули VB6 в своем комментарии Коди Грею.   -  person JimmyPena    schedule 03.02.2012
comment
@linquize: вы имеете в виду виртуальную машину XP Mode? Нет, спасибо. Я хочу это в Win7.   -  person CJ7    schedule 23.02.2012


Ответы (7)


Я разместил некоторую информацию на форумах Infragistics для дизайнерских виджетов, которые могут помочь вам в этом. Вы можете просмотреть сообщение по следующей ссылке:
http://forums.infragistics.com/forums/p/52530/320151.aspx#320151

Обратите внимание, что ключи реестра будут разными для разных продуктов, и вам может потребоваться установка на 32-разрядную машину, чтобы увидеть, какие ключи вам нужны.

person alhalama    schedule 07.02.2012
comment
Я заработал, установив на 32-разрядную систему, а затем скопировав раздел реестра sheridan на 64-разрядную машину. - person CJ7; 26.12.2012

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

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

http://www.reactos.org/forum/viewtopic.php?f=22&t=10988

В моем случае программой установки была InstallShield 5.X. Проблема заключалась в том, что программа setup.exe, используемая InstallShield 5.X, является 16-разрядной. Сначала я извлек содержимое программы установки (изменил расширение с .exe на .zip, открыл и извлек). Затем я заменил исходный 16-разрядный файл setup.exe, расположенный в папке disk1, на 32-разрядную версию файла setup.exe от InstallShield (загрузите этот файл с сайта, указанного в приведенной выше ссылке). Затем я просто запустил новый 32-битный setup.exe на диске1, чтобы начать установку, и моя программа установилась и отлично работает в 64-битной Windows.

Вы также можете переупаковать эту модифицированную установку, чтобы ее можно было распространять как программу установки, используя бесплатную программу, такую ​​​​как Inno Setup 5.

person Betty N    schedule 12.04.2012
comment
Работал также! Большое тебе спасибо! - person amartynov; 08.08.2013
comment
Здорово! Я потратил много времени, пытаясь установить свой сканер на 64-битную Win7, даже устанавливал его в виртуальную машину и использовал специальную программу для отслеживания изменений реестра, и это все не помогло! И теперь он работает идеально! - person Anixx; 19.04.2014
comment
Еще один хороший обзор того, как это сделать: блог .ryankempt.com/2013/12/; другая ссылка для скачивания установочных файлов: toastytech.com/files/setup.html. - person mthomas; 05.12.2016
comment
Спасибо большое. Я мог бы добавить, что установщик (v3) все еще жаловался на отсутствующие файлы, пока я не изменил режим совместимости на Windows 95 и не настроил его для запуска от имени администратора. - person mickadoo; 25.01.2017
comment
Это помогло мне сегодня с Print Shop 6 от Broderbund (1998). Установщик был InstallShield 3. Большое спасибо за ссылку! - person A.Konzel; 30.09.2017

Вы не можете запускать 16-разрядные приложения (или компоненты) в 64-разрядных версиях Windows. Этот слой эмуляции больше не существует. 64-разрядные версии уже должны обеспечивать уровень совместимости для 32-разрядных приложений.

От поддержки 16-разрядной версии пришлось отказаться в конце концов, даже в культуре, где обратная совместимость имеет священное значение. Переход на 64-битную версию казался удачным моментом. Трудно представить себе кого-то, кто все еще использует 16-разрядные приложения и стремится перейти на 64-разрядные ОС.

Что было бы лучшим способом обойти эту проблему?

Если сам компонент 16-разрядный, то использование виртуальной машины под управлением 32-разрядной версии Windows — ваш единственный реальный выбор. VirtualBox от Oracle бесплатен и пользуется неизменной популярностью.

Если только установщик является 16-разрядным (и он устанавливает 32-разрядный компонент), вы можете использовать такую ​​программу, как 7-Zip, чтобы извлечь содержимое установщика и установить его вручную. Скажем так, это «решение» сопряжено с высоким риском, и у вас должно быть мало ожиданий, если они вообще есть.

Пришло время отказаться от 16-битных вещей, таких как Turbo C++ и элементы управления Sheridan. Мне еще не приходилось сталкиваться с чем-либо, что элементы управления Sheridan могут делать, чего не могут сделать встроенные элементы управления, и не могли делать со времен Windows 95.

person Cody Gray    schedule 02.02.2012
comment
Очки приняты, но техническое обслуживание этого продукта VB6 неизбежно. Замена элементов управления Sheridan на родные потребовала бы больших затрат человеко-часов. Простая разработка на 32-битной машине была бы лучшей альтернативой. Я хотел бы установить все на Win7 64-бит в идеале. - person CJ7; 02.02.2012
comment
Такой анализ затрат и выгод неизбежно превращает компании в динозавров. Убедитесь, что эта компания не затянет и вас в эту пропасть. - person Hans Passant; 03.02.2012
comment
@HansPassant: В защиту, одновременно работает проект по переписыванию продукта. - person CJ7; 03.02.2012

Я в основном публикую это на случай, если кто-то придет и не знает, что VB2005 и VB2008 имеют утилиты обновления, которые конвертируют старые версии VB в его формат. Тем более, что никто не удосужился указать на этот факт.

Очки приняты, но техническое обслуживание этого продукта VB6 неизбежно. Замена элементов управления Sheridan на родные потребовала бы больших затрат человеко-часов. Простая разработка на 32-битной машине была бы лучшей альтернативой. Я хотел бы установить все на Win7 64-бит в идеале. - CJ7

Пробовали ли вы использовать функцию обновления кода VB Express 2005+?

Если нет, 1. Сделайте копию своего кода - папку и все. 2. Импортируйте проект в VB Express 2005. Это активирует мастер обновления. 3. Отладьте и запустите приложение. 4. Создайте новый установщик с помощью бесплатного инструмента MS. 5. Теперь у вас есть 32-битное приложение с 32-битным установщиком.

Пока вы этого не сделаете, вы никогда не узнаете, насколько сложно или тяжело будет обновлять и модернизировать программу. Вполне возможно, что мастер обновит элементы управления Sheridan до элементов управления VB 2005. Опять же, вы не узнаете, работает ли он и насколько хорошо, пока не попробуете.

В качестве альтернативы используйте 32-разрядные версии Windows 7 и 8. У меня Windows 7 x64 и программа, которая не запускается. Однако программа будет работать в 32-разрядной версии Windows 7, а также в 32-разрядной версии Windows 8 RC. В Windows 8 RC 32 мне было предложено включить 16-битную эмуляцию, что я и сделал, после чего программа работала нормально.

person Scott Tovey    schedule 21.08.2012
comment
Количество строк в моей программе намного превышает максимально допустимое средство обновления в VS2005+. - person CJ7; 21.08.2012

У меня было 32-битное программное обеспечение с 16-битным установщиком, который я не мог разархивировать. Я решил это с помощью otvdm, который позволяет запускать Windows 1.x, 2.x, 3. программы на win64. Фактически, otvdmw позволяет вам выбрать программу для запуска (otvdm — это командная строка).

person noein    schedule 12.05.2021

16-битный установщик не будет работать в Windows 7, он больше не поддерживается win 7. Самая последняя поддерживаемая версия Windows, которая может запускать 16-битный установщик, — это 32-битная версия Vista, даже 64-битная версия Vista не поддерживает 16-разрядный установщик... ссылка http://support.microsoft.com/kb/946765

person Abdalla Mohamed Aly Ibrahim    schedule 10.10.2012
comment
Я почти уверен, что половина смысла 32-разрядной версии Windows 7 заключается в том, что 16-разрядные программы все еще работают? - person SamB; 11.09.2016

Итог вверху: приобретайте новые программы или приобретайте старый компьютер.

Решение простое. Это отстой, но это просто. Для старых программ держите старый компьютер включенным и работающим. Иногда вы просто не можете найти в новых играх тот же игровой опыт, что и в старых. Иногда есть программы, у которых нет новых аналогов, которые делают то же самое. У вас в основном есть 2 варианта на этом этапе. На светлой стороне. Старые компьютеры могут стоить от 20 до 100 долларов, и на них можно купить всю систему; монитор, башня, клавиатура, мышь и динамики. Если у вас есть терпение запускать старые программы, у вас должно хватить терпения, чтобы найти то, что вы ищете, в объявлениях о поиске. У меня работает 4 старых компьютера; 2 винда 98, 2 винда хп. У нас с женой компьютеры Win7.

person 42andrunning    schedule 16.07.2012
comment
Этот ответ не является конструктивным. В корпоративных системах вы работаете с тем, что у вас есть. Кроме того, этот вопрос был задан 5 месяцев назад, и автор, вероятно, либо ушел, либо нашел решение. В общем, решения «получить другой компьютер» весьма осуждаются, за исключением случаев, когда проблемы явно вызваны неисправностью оборудования. - person Wug; 16.07.2012
comment
@Wug: я согласен с первым пунктом, но не со вторым. Люди не уходят от проблем так быстро. Иногда проблемы откладываются на полку до тех пор, пока не будет найдено решение. - person CJ7; 21.08.2012