Сегодня я бы хотел затронуть процесс установки старых версий 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. Надеюсь эта информация кому-то пригодится.