Сегодня я бы хотел затронуть процесс установки старых версий Microsoft Visual Studio на Windows 10. Пригодится тем, кто уже успел пересесть на “десятку” или купил ПК/ноутбук, где она была предустановлена. Если не хотите читать всю историю и ищете готовое решение проблемы – просто прокрутите страницу в самый низ, рабочее решение там.
Зачем устанавливать старую версию, спросите вы? Отвечу так: у каждого проекта свои задачи, потребности, идеи, и проблемы, для решения которых может потребоваться установка именно версии 2013 года, например. В работе над обновлением Celestia мне помогает один иностранец. Он до сих пор пользуется Windows XP и позволил себе апгрейд только до MS Visual Studio 2013. Поэтому и мне пришлось эту версию, поскольку в 2017-й его проекты не компилируются (уж больно тонко он заточил их именно под 2013).
Я скачал замечательную раздачу MS Visual Studio 2013 Ultimate и, не ожидая никаких подводных камней, монтировал ISO образ, запустил установку и … обломался. Установщик выдал сообщение с заголовком Setup Blocked и текстом “Windows Program Compatibility mode is on. Turn it off and then try Setup again” (скриншот в начале поста). Я человек разбирающийся, поэтому сразу полез в процессы и службы, чтобы найти что либо похожее. В итоге в службах я нашел “Служба помощника по совместимости программ”.
Я остановил его в службах (Диспетчер задач), а в компоненте Службы вообще полностью отключил. Перезагрузив ПК, я понял что установщик MS Visual Studio 2013 все равно выдает ту же ошибку. После поиска на англоязычных ресурсах, я узнал несколько любопытных вещей, например, что Windows Program Compatibility проверяет по стандартным (оригинальным) именам пакетов установки Microsoft и для решения проблемы достаточно переименовать файл установщика, например дописав ему суффикс “(1)”. После распаковки ISO в папку, пришлось искать дальше, потому что это тоже не помогло.
Но решение все же нашлось! Не знаю почему, но 100% работает имя установщика wdexpress_full.exe
То есть просто переименовываем стандартный установщик vs_ultimate.exe в wdexpress_full.exe и все прекрасно установится. Этот способ работает и для других устаревших продуктов Microsoft. Надеюсь эта информация кому-то пригодится.
To install the language pack for vs 2013, it made things worse.
The error message «window program compatibility mode is on. turn it off and then try setup again.»
Simple way to solving, and change the file name to install vssdk_full.exe.
Another problem apart from this other one that can happen installing Visual Studio 2012 language packs to try your extension with other languages is the following:
“Windows Program Compatibility mode is on. Turn it off and the try Setup again”
The error message is misleading: I have found that it happens if you rename the setup file from the original name “vs_langpack.exe” to something else, such as “vs_langpack_english.exe”, etc. (for example, to have all the language packs in the same folder).
Notes:
- The problem doesn’t happen with Visual Studio 2013 language packs, though.
- I am using Windows 8.1 RTM. It could be that the problem doesn’t happen on other Windows versions.
- Apparently the same happens to VS 2012 (not a language pack) if not named correctly, according to this bug report on Microsoft Connect. Microsoft says it’s a bug of Windows 8.1 RTM.
VS SDK, packages, add-ins, macros and more…
Режим совместимости программ Windows 10 позволяет запускать ПО на компьютере, которое нормально работало только в предыдущих версиях Windows, а в последней ОС программа не запускается или работает с ошибками. В этой инструкции о том, как включить режим совместимости с Windows 8, 7, Vista или XP в Windows 10 для исправления ошибок запуска программ.
По умолчанию, Windows 10 после сбоев в программах предлагает автоматически включить режим совместимости, однако только в некоторых из них и не всегда. Ручное же включение режима совместимости, которое раньше (в предыдущих ОС) выполнялось через свойства программы или ее ярлыка, теперь доступно не для всех ярлыков и иногда требуется использовать специальное средство для этого. Рассмотрим оба способа. На сайте также присутствует отдельная инструкция про использование режима совместимости в Windows 11, в которой есть один дополнительный метод — редактор реестра, применимый и для Windows 10.
Включение режима совместимости через свойства программы или ярлыка
Первый способ включить режим совместимости в Windows 10 очень просто — кликните правой кнопкой мыши по ярлыку или исполняемому файлу программы, выберите пункт «Свойства» и откройте, если таковая обнаружится, вкладку «Совместимость».
Все, что останется сделать — задать параметры режима совместимости: указать версию Windows, в которой программа запускалась без ошибок. При необходимости, включите запуск программы от имени администратора или в режиме меньшего разрешения экрана и пониженной цветности (для совсем старых программ). Затем примените сделанные настройки. В следующий раз программа будет запущена с уже измененными параметрами.
Как включить режим совместимости программ с предыдущими версиями ОС в Windows 10 через устранение неполадок
Чтобы запустить настройку режима совместимости программ, потребуется запустить специальное средство устранения неполадок Windows 10 «Выполнение программ, предназначенных для предыдущих версий Windows».
Сделать это можно либо через пункт панели управления «Устранение неполадок» (панель управления можно открыть через правый клик по кнопке Пуск. Чтобы увидеть пункт «Устранение неполадок» вверху справа в поле «Просмотр» должно стоять «Значки», а не «Категории»), либо, что быстрее, через поиск в панели задач.
Запустится средство устранения проблем с совместимостью старых программ в Windows 10. Имеет смысл использовать пункт «Запуск от имени администратора» при его использовании (это позволит применить параметры к программам, находящимся в папках с ограниченным доступом). Нажмите «Далее».
После некоторого ожидания, в следующем окне будет предложено выбрать программу, с совместимостью которой есть проблемы. Если вам нужно добавить собственную программу (например, в списке не будут отображаться portable-приложения), выберите пункт «Нет в списке» и нажмите «Далее», после чего задайте путь к исполняемому exe файлу программы.
После выбора программы или указания ее расположения, будет предложено выбрать режим диагностики. Для ручного указания режима совместимости с конкретной версией Windows, нажмите «Диагностика программы».
В следующем окне будет предложено указать проблемы, которые были замечены при запуске вашей программы в Windows 10. Выбираем «Программа работала в предыдущих версиях Windows, но не устанавливается или не запускается сейчас» (или другие варианты, по ситуации).
В следующем окне потребуется указать, с какой версией ОС включить совместимость — Windows 7, 8, Vista и XP. Выберите свой вариант и нажмите «Далее».
В следующем окне, чтобы завершить установку режима совместимости, требуется нажать «Проверить программу». После ее запуска, проверки (которую вы выполняете сами, необязательно) и закрытия, нажмите «Далее».
И, в завершение, либо сохраните параметры совместимости для этой программы, либо используйте второй пункт, если ошибки остались — «Нет, попытаться использовать другие параметры». Готово, после сохранения параметров программа будет работать в Windows 10 в выбранном вами режиме совместимости.
Если у вас остались какие-либо вопросы, относящиеся к работе режима совместимости и вообще программ в Windows 10, задавайте, постараюсь помочь.
