Кому-нибудь удалось запустить Visual Studio 2003 на Windows 7?

Да, я знаю ... Я мог бы настроить виртуальную машину под управлением XP. К сожалению, наша среда сборки такова, что нам нужно запускать VC2003, 2005 и 2008 одновременно, и было бы намного удобнее, если бы я мог запускать 2003 изначально на Windows 7 для тех немногих проектов, которые у нас есть, которые этого требуют.

Я понимаю, что некоторые вещи могут быть недоступны в IDE, но я смог запустить 2003 под Windows Vista, и если бы я мог получить такой же базовый уровень функциональности под Windows 7, я был бы очень счастлив.

Прямо сейчас я получаю сообщение об ошибке при открытии файла * .pdb при компиляции после переключения vc2003 на запуск от имени администратора в режиме совместимости с XP SP 2.

Спасибо!


person Jeremy White    schedule 18.05.2009    source источник
comment
Я знаю, что у Visual Studio 2005 есть некоторые проблемы с Windows Vista, поэтому я знаю, что в 2003 было бы больше проблем.   -  person Daniel A. White    schedule 18.05.2009
comment
Похоже, настоящая проблема - это ваша среда разработки: O   -  person womp    schedule 18.05.2009
comment
Да, я уверен, что он понимает, что окружающая среда - проблема, но не каждый может просто обновить или перенастроить. Мне также приходится запускать VS2003 из-за некоторых устаревших приложений, которые не могут быть обновлены до более новой версии из-за корпоративной бюрократии.   -  person alanquillin    schedule 18.05.2009
comment
@womp: Или базовая ОС. VS 2003 не поддерживается ни в Vista, ни в Windows 7. Таким образом, если это важно для моего процесса сборки, я всегда буду использовать XP / 2003, чтобы не тратить свое время на неожиданные проблемы.   -  person Dirk Vollmar    schedule 18.05.2009
comment
@divo - Ага, я мог бы это сделать. Но будет очень сложно отладить проблемы, которые возникают у наших клиентов при запуске 7, если я даже не могу запустить на нем компилятор. В лучшем случае это будет праздник отладки окна сообщений.   -  person Jeremy White    schedule 18.05.2009
comment
Чтобы уточнить, эти библиотеки, возможно, составляют 20% усилий по разработке. Остальное компилируется под Visual Studio 2005.   -  person Jeremy White    schedule 18.05.2009
comment
@ Джереми: почему бы просто не запустить виртуальную машину? Вы можете выполнять отладку на виртуальной машине точно так же, как и на реальной машине. Вы даже можете использовать удаленный отладчик.   -  person John Saunders    schedule 18.02.2010
comment
В моей компании есть похожая проблема. Мы преобразовали большинство наших активных проектов в Visual Studio 2010. Для наших устаревших проектов, которые не разрабатываются активно, но все еще нуждаются в исправлении, у нас есть полная среда разработки, настроенная на виртуальных машинах. Итак, у нас есть отдельная виртуальная машина для vs2003, vs2005 и vs2008. Возможно, это не идеальное решение, но оно работает для нас.   -  person skajfes    schedule 08.06.2011
comment
Я не уверен насчет Windows 7, но, по крайней мере, инструменты VC ++ отлично работают в Windows 10 x64 1903 - единственное, что я заметил, - это пустое окно в центре экрана, которое исчезает после минимизации и восстановления VS2003 один раз.   -  person Ray    schedule 23.05.2019
comment
@RayKoopa, какие шаги вы предприняли, чтобы VS2003 заработал? Я установил VS2003 с помощью параметра / NO_BSLN_CHECK, но это привело к частично работающему пользовательскому интерфейсу, где мастера проекта не работают, а в существующих проектах есть проблемы с отображением страниц свойств. Затем я попытался установить .NET 1.1 SP1 со скользящим потоком, думая, что это исправит ситуацию, но это полностью сломало VS2003.   -  person Tom Lint    schedule 02.07.2019
comment
@TomLint Я просто установил его с настройкой на ISO-образах MSDN en_vs.net_2003_prereq.iso, en_vs.net_2003_pro_cd1.iso и en_vs.net_2003_pro_cd2.iso - я не уверен, что если бы я запустил mu_vsnet2003sp1.exe потом, не помешало бы просто запустить его потом и проверить, можно ли его применить.   -  person Ray    schedule 02.07.2019
comment
@RayKoopa Мне удалось исправить большинство проблем, удалив испорченную версию .NET 1.1 и установив необходимые компоненты VS2003, как вы сказали. Теперь у меня остались нефункциональные мастера на основе HTML.   -  person Tom Lint    schedule 02.07.2019
comment
@TomLint Не уверен в этом, насколько я могу судить, здесь все работало нормально. Может быть, попробуйте использовать установочный носитель на чистой виртуальной машине, чтобы исключить проблемы с конфигурацией вашего рабочего компьютера?   -  person Ray    schedule 02.07.2019


Ответы (16)


Попробуйте режим XP, если у вас не получается запустить его изначально.

http://www.microsoft.com/windows/virtual-pc/download.aspx

person Wayne Hartman    schedule 18.05.2009
comment
Это не было бы родным для Windows 7, как то, о чем он просил. - person mockobject; 18.05.2009
comment
@ m0ck0bject, значит, вы неправильно понимаете режим XP. Уникальная виртуальная среда может предлагать «достаточно естественные» функции, чтобы выполнить то, что он желает. - person Wayne Hartman; 18.05.2009
comment
Я слышал, что режим XP аналогичен запуску в исходном режиме, и для большинства пользователей это будет неприемлемо. Это не значит, что вам нужно раскручивать целую виртуальную машину. Я пытаюсь смоделировать запуск приложения как собственного и убрать ощущение виртуальной машины. Это очень хорошее предложение. - person alanquillin; 18.05.2009
comment
Я не могу запустить его на этом ящике. Процессор не поддерживает виртуализацию. Но - возможно, стоит купить другую коробку, если будет показано, что это решение работает. - person Jeremy White; 18.05.2009
comment
XP Mode - это просто новый виртуальный компьютер под управлением XP, плюс некоторая добавленная интеграция с рабочим столом, где гостевые окна появляются прямо на рабочем столе хоста, а хост-система автоматически монтируется в гостевой системе. Это все еще виртуальная машина в том же смысле, в каком VMware. - person Pavel Minaev; 03.12.2009
comment
@ Джереми Уайт: Вы всегда можете использовать VirtualBox или одну из бесплатных редакций VMWare: они поддерживают как аппаратную, так и программную виртуализацию, и у них также есть бесшовные режимы (хотя и не так хороши, как в XP Mode). - person danielkza; 03.12.2009
comment
@Jeremy - последняя версия загрузки XP Mode VirtualPC больше не требует аппаратной виртуализации, встроенной в ЦП. Ссылка на историю в The Register от марта 2010 г .: channelregister.co.uk/2010/ 22 марта / Сообщение в блоге группы разработчиков MS Windows: windowsteamblog.com/windows/b/windows7/archive/2010/03/18/ - person Eight-Bit Guru; 19.05.2010

Я написал запись в блоге об этом недавно, которую вы можете проверить - http://technikhil.wordpress.com/2010/01/12/visual-studio-2003-and-windows-7-can-get-together-really/

Единственное, на чем я сейчас застрял, - это на функции глобального поиска VS 2003 - приложение зависает. Мое решение - использовать поиск Windows 7 :-). В остальном - пока все хорошо ...

Обновление: у меня тоже заработал поиск, отключив функцию Aero - я обновил свой запись в блоге с подробностями ...

person Nikhil    schedule 12.03.2010
comment
Было бы лучше, если бы у вас была подробная информация о том, как решить проблему здесь, помимо ссылки на свой блог. - person Jay Elston; 08.03.2013

(Во многом это повторяет то, что уже было написано выше.)

Мне нужно запустить VS2003 в качестве администратора под 64-разрядной версией Win7, чтобы поддерживать устаревшие проекты (например, те, которые работают на исходной Xbox). Для старого XDK требуется VS2003, поэтому обновление невозможно. Я мог бы запустить WinXP, но предпочитаю Win7.

VS2003 официально не поддерживается в Win7, и попытка сделать это создает пару довольно неприятных проблем:

Поиск в файлах вызывает зависание VS2003. Связывание не удается из-за утечки дескриптора файла PDB. Зависание Find-in-files решается с помощью «Отключить визуальные темы». Перейдите к ярлыку VS2003 (Пуск -> Microsoft Visual Studio .NET 2003), щелкните правой кнопкой мыши, чтобы открыть контекстное меню, выберите вкладку «Совместимость», панель «Параметры» и установите флажок «Отключить визуальные темы».

Ошибка компоновщика (LNK1201) происходит, когда вы запускаете программу через отладчик, останавливаете ее, изменяете файл и строите. Ошибка заключается в том, что Visual Studio хранит дескриптор файла PDB, в то время как компоновщик пытается записать в этот файл. Вы можете остановить и перезапустить VS2003, чтобы обойти проблему. Работает, но раздражает.

Вы также можете использовать служебную программу «handle.exe» Microsoft SysInternals, чтобы найти, а затем закрыть дескрипторы, удерживаемые процессом в конкретном файле. Напишите сценарий для вызова handle.exe и настройте проект VS2003 для запуска этого сценария в качестве события перед сборкой. (См. эту ветку. ) Но handle.exe требует запуска от имени администратора.

Вы можете гипотетически изменить handle.exe для запуска от имени администратора, используя обычные шаги (например, в качестве настройки совместимости), но тогда handle.exe (по-видимому) запускается во вложенной оболочке, и тогда текст stdout не попадает в вызывающий скрипт.

Вы можете запустить VS2003 от имени администратора, и в этом случае сценарий предварительной сборки также запускается от имени администратора, следовательно, и handle.exe, и это работает.

Остающийся трюк - заставить файлы VS2003 SLN открываться должным образом. Если вы просто заставите VS2003 запускаться от имени администратора автоматически, то селектор версии VS не сможет запустить VS2003. Не знаю почему, но это так.

Вы можете связать файлы SLN для открытия с помощью VS2003 devenv.exe вместо VSLauncher.exe. Это работает, но все новые файлы SLN (2005, 2008, 2010, 2012, ...) не открываются.

Итак, последний шаг - запустить VSLauncher.exe от имени администратора. Это не работает с KB2492386, поскольку это поток указывает. Удаление этого обновления было последним шагом в этой саге, чтобы все заработало.

person Michael J. Gourlay    schedule 21.12.2012

ПАТЧ СЕЙЧАС ДОСТУПЕН
После некоторого реверс-инжиниринга я обнаружил неправильно пересчитанный COM-объект, ответственный за утечку (он был отключен на 1), и разработал стабильный патч и соответствующую статью с описанием исправления. Это решает проблемы, возникающие при использовании Windows 7 - Windows 10. Подробная информация и загрузка доступны по адресу:

http://bytepointer.com/articles/vs7.1_handle_product_vs7.1_handle_pacticles/vs7.1_handle_pacticles/vs7.1_href=

Если вы хотите выполнить исправление вручную, эти сведения также включены.

ПРИМЕЧАНИЕ. Обходной путь инструмента SysInternals Handle не работал для файлов в общей сетевой папке. .PDB не был полностью разблокирован, хотя инструмент Handle утверждал, что он был закрыт. Мое исправление устраняет проблему раз и навсегда и избегает каких-либо побочных эффектов.

person byteptr    schedule 06.07.2016

Запустите эту установку. Вам нужно запустить его из установочного каталога, setup.exe в корне компакт-диска работать не будет.

D: \ setup \ SetUp.exe / NO_BSLN_CHECK

person Morgan    schedule 08.06.2011
comment
Спасибо! Это был единственный трюк, который мне понадобился для его установки. - person kakyo; 11.07.2014

Решение, которое я нашел в Интернете, помогло: для вашей визуальной студии используйте совместимость приложений = windows vista SP2, а НЕ WinXP SP3

person Codeguard    schedule 25.10.2009

У меня есть действительно грязный и жалкий способ решения проблемы pdb.

Загрузите и запустите Sysinternals-ProceXP, нажмите CTRL-F, введите имя pdb (smt like ($ ProjectName) .pdb), которое не может быть создано при связывании. Дважды щелкните, когда он будет найден. (Если он не может быть найден, запустите процедуру с правами администратора)

Затем вы увидите, что файл .pdb выделен в нижней части главного экрана. Щелкните его правой кнопкой мыши и выберите Close Handle. Когда вы попытаетесь построить свое решение, оно не вызовет ошибку.

Я не знаю, можно ли написать это решение, но это, по крайней мере, лучше, чем перезапуск Visual Studio.

person rahan    schedule 10.10.2009

Я использую Visual Studio 2003 на win7 с момента выхода самой первой версии RC: S Почему у людей возникают проблемы?

person kaos    schedule 17.02.2010

Я попытался установить VS2003 в 64-разрядной версии Windows 7 с помощью функции Virtual Windows XP. Я вполне уверен, что это будет успешно. Проблема, с которой я столкнулся, заключается в том, что установщик хочет, чтобы IIS был установлен, а установка XP, предоставляемая Virtual XP, не имеет этого по умолчанию.

Если вы перейдете в раздел «Добавить / удалить компоненты» и попытаетесь добавить его, он попросит диск, которого у меня не было под рукой. Как только я получу диск, я почти уверен, что он будет работать нормально.

Если вы не пробовали использовать его для других приложений, функция Virtual XP действительно удобна ...

person Christopher    schedule 02.07.2009

У меня такая же проблема; devenv.exe оставляет файлы pdb открытыми после запуска проекта. Я сделал командный файл, чтобы обойти это, он закрывает все файлы .pdb, открытые devenv.exe:

handle.exe .pdb | awk "/devenv.exe/ { split($4, fd, \":\"); system(\"handle.exe -c \" fd[1] \" -y -p \" $3)}"

Вам понадобится handle.exe от sysinternals и awk от gnu на вашем пути, чтобы он работал.

Используйте на свой страх и риск. Закрытие дескрипторов может вызвать нестабильность приложения или системы.

person QuiOui    schedule 03.12.2009

В Windows 7 в свойствах исполняемого файла есть режим совместимости. откройте: C: \ Program Files \ Microsoft Visual Studio .NET 2003 \ Common7 \ IDE \, затем щелкните правой кнопкой мыши файл devenv.exe и выберите свойства. На вкладке совместимости выберите «Запускать в режиме совместимости» и выберите «Windows XP» в раскрывающемся списке.

Попробуйте, я не уверен, работает ли это, но попробовать стоит.

person alanquillin    schedule 18.05.2009
comment
К сожалению, я уже пробовал это. IDE работает хорошо, но что-то не так с тем, куда сохраняются файлы сборки. - person Jeremy White; 18.05.2009
comment
Возможно, вам потребуется изменить свойства всех исполняемых файлов, поставляемых с VS2003. IDE просто запускает компилятор командной строки и фиксирует вывод, верно? - person jmucchiello; 02.07.2009
comment
Да, и я испортил все свойства, которые смог найти. Тем не менее, у исполняемого файла, похоже, возникла проблема с разрешениями во временном каталоге. Я все думаю, что должен быть какой-то рецепт, который будет работать, по крайней мере, для компиляции. Как бы то ни было, я могу продвигать каждое решение, как только что-то сломается, что является достаточно важной причиной для повторного тестирования. Такими темпами все будет с 2005 по 2011 :) - person Jeremy White; 09.07.2009

У меня нет проблем с Visual Studio 2003 на 64-битной Windows 7.

  1. Перейдите к VS2003 devenv.exe (вероятно, C: \ Program Files (x86) \ Microsoft Visual Studio .NET 2003 \ Common7 \ IDE \ devenv.exe)
  2. Щелкните правой кнопкой мыши и выберите Свойства.
  3. На вкладке «Совместимость» установите флажок «Запускать эту программу в режиме совместимости для:» и выберите «Windows XP (Service Pack 3)».
  4. Установите флажок «Запускать эту программу от имени администратора».
person Alex Roebuck    schedule 19.05.2010

Я получил Visual Studio .NET 2003. Работает отлично на моей рабочей станции HP EliteBook 8760W с процессором I7 и 12 ГБ ОЗУ под управлением 64-разрядной версии Windows 7 Professional, выполнив некоторые дополнительные действия. Они идут следующим образом:

  1. Установите серверные расширения FrontPage 2002 для IIS 7.0.
  2. Установите Visual Studio .Net 2003. Просто пропустите команду установщика, чтобы настроить серверные расширения Frontpage 2002.
  3. Установите .Net Framework 1.1 Service Pack 1 (скачать здесь).
  4. Перейдите в Панель управления> Администрирование> Диспетчер информационных служб Интернета (IIS). Выделите свой компьютер, затем дважды щелкните Ограничения ISAPI и CGI. Измените настройку для ASP .NET v1.1.4322 на Разрешено.

Тогда он всегда будет показывать предупреждение со следующим сообщением

У этой программы есть проблемы с совместимостью ...

просто игнорируйте это. Кроме того, не переводите его в режим совместимости в свойствах среды IDE.

person RetroDev    schedule 22.06.2017

Мне удалось установить VS2003 на 32-разрядную версию Windows 7. Однако мне пришлось проделать некоторые трюки с IIS, чтобы запустить свой проект ASP.NET. При установке VS2003 компонент веб-разработки не может быть выбран. По сути, вам нужно перетащить VS2003 ASP.NET v1.1 в C: \ inetpub \ wwwroot \ project_name и сначала заставить его работать самостоятельно как автономный веб-портал. Вот шаги, которые я сделал.

  1. Установить IIS в Windows 7

введите описание изображения здесь

  1. Скопируйте свой проект VS2003 в C: \ inetpub \ wwwroot \ project_name. Щелкните правой кнопкой мыши имя вашего проекта и выберите "Преобразовать в приложение". Следующей была моя нестандартная проблема, которая не работала, пока я не включил проверку подлинности Windows, даже если у меня не было связанных настроек в моем web.config. Выберите имя проекта ›Аутентификация› включите как анонимную аутентификацию, так и аутентификацию Windows.

введите описание изображения здесь

  1. Включите ASP.NET 1.1 в ограничениях ISAPI и CGI и убедитесь, что ASP.NET добавлен в фильтры ISAPI < img src = "https://i.stack.imgur.com/FtiFh.png" alt = "введите описание изображения здесь" />  введите описание изображения здесь
  2. Как только я смогу запустить свой проект ASP.NET в браузере, продолжайте и откройте проект из вашего местоположения проекта, в моем случае это C: \ inetpub \ wwwroot \ MHSScoreOrg \ MHSScoreOrg.sln. Я смог запустить свой проект только тогда, когда он был полностью интегрирован в IIS.
person Serge Voloshenko    schedule 17.07.2020

Извините, ваша среда сборки требует одновременной работы VC 2003, 2005 и 2008? Готов поспорить, что ваши усилия будут лучше потрачены на простую консолидацию среды сборки в одну среду.

person Paul Sonier    schedule 18.05.2009
comment
Очевидно, вы не работаете на клиента, который диктует, как будут выполняться дела. Я согласен - было бы неплохо отказаться от устаревшего кода, но в настоящее время это не вариант. К сожалению, они в конечном итоге поймут, что им следовало вложить время и деньги, чтобы оставаться в курсе, когда их продукт не будет работать в доступной в настоящее время операционной системе. - person Jeremy White; 18.05.2009
comment
Я понимаю ваше затруднительное положение, действительно понимаю. На самом деле, я просто говорю, что в какой-то момент вам нужно сказать своему клиенту, что что-то просто не работает, и потребуется больше времени, чтобы сделать это по-своему, чем исправить. Обычно клиенты понимают, что такое деньги, и когда вы говорите им, что исправление займет в 5 раз больше времени, чем исправление, они поймут суть. - person Paul Sonier; 18.05.2009

Рассматривали ли вы возможность обновления своих решений до vs2005, используя MSBEE для таргетинга на .net 1.1?

person Gabe Moothart    schedule 18.05.2009
comment
Это не.net-приложения (приложения 2003 года). Я бы с удовольствием обновил их до 2005 года, но это старые устаревшие приложения, которые показали странное поведение при компиляции под vc2005 (помимо ошибок компоновщика, которые я могу исправить). Проще говоря, я не могу оправдать для клиента усилия, необходимые для переписывания некоторых сложных математических алгоритмов только для того, чтобы компилировать под vc2005. - person Jeremy White; 18.05.2009