![]() |
Установка Delphi 7/2006 на Windows VistaИсточник: gunsmoker Dr.Bob.
Подписчики MSDN уже могут скачать и установить Windows Vista (я установил Vista Business на свой ноутбук, на котором теперь стоят аж четыре операционки: Windows 2000, Windows XP, Windows 2003 Server, а теперь и Windows Vista "Business"). В отличие от Windows XP и Windows 2003, которые визуально отличаются от Windows 2000 в основном службой Themes (которая отключена по умолчанию в Windows 2003), в Windows Vista внешний вид пользовательского интерфейса значительно изменился. Я пишу внешний вид, потому что содержимое осталось практически тем же самым. Нельзя сказать, что это совершенно новый мир: мне не составило труда найти все нужные и знакомые места (хотя деталей и возможностей было изменено достаточно). Одной из важных новых возможностей Windows Vista является так-называемый User Account Control (UAC), который представляет из себя добавку к безопасности, которая следит за тем, что конкретно разрешено выполнять каждому приложению на вашей машине. Приложениям следует работать по принципу минимально возможных прав и привилегий (и очень редко - с правами администратора), чтобы избежать потенциального ущерба. С UAC все пользователи становятся обычными пользователями (без администраторских прав), с возможностью добавить (временно) приложениям больше привилегий, когда они необходимы. UAC усиливает защиту против вирусов и spyware, но иногда надоедает, когда дело касается приложений, которым можно доверять. Например, запись в папку Program Files по-умолчанию запрещена - мы увидим это, когда будем запускать Delphi на Vista. Поскольку я в основном использую Delphi 7 (для Win32) и Delphi 2006 (для Win32 и .NET), я начал процесс установки этих версий Delphi на релизную версию Windows Vista для проверки совместимости как Delphi, так и приложений Delphi Win32 (и .NET) под Windows Vista. Нижеследующее должно быть применимо к любым версиям Delphi до 7-ки включительно, а также ко всем версиям C++ Builder до версии 6 включительно. Информацию по Delphi/C++ Builder 2006 см. ниже (прим. пер.: Delphi/C++ Builder 2007 и выше поддерживают Vista изначально). Во-первых, когда я попытался установить Delphi 7 на Windows Vista, я получил диалог мастера совместимости программ, сообщающего, что эта программа имеет проблемы совместимости с Windows Vista:
После установки При запуске установленной Delphi 7 я снова получил сообщение мастера совместимости программ с первого рисунка выше. В этот раз я отметил галочку "Больше не показывать это сообщение" ("Don't show this message again") и нажал "Запуск программы" ("Run program"). Delphi запустилась, но пожаловалась на то, что не может (т.е. у неё нет прав) переименовать файл delphi32.$$$ в delphi32.dro:
Очевидно причина в том, что приложению Delphi32.exe запрещено писать в папку Delphi7\Bin. Изменение разрешений Чтобы исправить это, нам нужно разрешить обычным пользователям машины изменять содержимое этой папки. Прим. переводчика : Вместо изменения прав на папки можно также установить Delphi 7 в любую другую папку, которая не требует админских прав для записи (а не в умалчиваемую Program Files). Этот вариант тоже приемлем, если вас не волнует расползание программ по разным папкам. Как изменить права - показано на следующем рисунке:
Снимок экрана ниже показывает запущенную Delphi 7 в Windows Vista с открытым новым проектом VCL:
Delphi 2006 Кроме установки и работы с Delphi 7 на Windows Vista, я также хотел использовать Delphi 2006 - последнюю версию Delphi (прим. пер.: ко времени написания оригинала статьи). Замечу, что Delphi 2006 поддерживает как Win32, так и .NET 1.1, и требует для работы .NET Framework версии 1.1, которую нам надо установить отдельно. Установочный диск Delphi 2006 запускает установщик, который предлагает следующие опции:
Замечу, что после установки .NET 1.1 SP1 вас попросят сделать перезагрузку. А после перезагрузки вам сообщат, что приложение netfxsetup.exe было заблокировано - вы можете разрешить его выполнение используя иконку в трее. После этого запустится настоящий установщик Delphi 2006 и установит Delphi без каких-либо проблем.
Ключевыми словами здесь является "Access is denied." ("В доступе отказано"):
Эти ошибки связаны с User Account Control (UAC), который я упоминал выше, а в частности с тем фактом, что BDS IDE не разрешено писать в под-папку Borland\BDS\4.0\Bin папки Program Files. Простейшим обходным путём для этой проблемы, что я нашёл, явилось разрешение записи для обычных пользователей в папку Borland\BDS\4.0\Bin:
Прим. пер.: папка с проектами BDS 2006 теперь находится в папке Мои документы, так что для неё уже не нужно менять права. Update #2 Когда Delphi 2006 установилась, вы можете захотеть установить Update #2 (а также Hot Fixes из так называемого HotFix Rollup) и любые другие обновления, которые могут выйти позже. Однако когда вы попытаетесь запустить msp файл Update 2, обновление будет жаловаться на неверную версию Borland Developer Studio (это бред, но реальная причина в том, что обновление не может получить доступа к БД установщика).
msiexec /update bds2006_en_arch_upd2.msp Части "en" и "arch" у вас могут быть другими - они зависят от языка и редакции вашей версии Delphi 2006. Эта команда запустит установщик Update #2, после работы которого вы также сможете применить HotFix Rollup. Примечание: на некоторых машинах с Windows Vista достаточно просто запустить файл bds2006_en_arch_upd2.msp в режиме "Run as Administrator", а msiexec сам позаботится об остальном. Заключение Хотя Windows Vista была выпущена позже Delphi 2006, приятно осознавать, что установка и работа старых версий Delphi 2006 на Windows Vista не является существенной проблемой. Вам нужно играть по обновлённым правилам, если вы хотите писать приложения для Windows Vista, но это история для другого дня. В заключение - напоминание из pre-Vista эры: Delphi 2006 About Box, который не способен распознать Windows Vista, и пишет сообщает версию ОС как Windows 2000 (Build 6000): |