Решил отказаться на время от старых привычек и написать приложение на Visual Studio 2005. Написал процентов на 30, решил показать заказчику.
Пришёл. Запускаю на Windows 2000 Rus .Net Framework 2.0.
Он мне говорит - я встану, но сначала поставь Windows Installer 3.0.
У меня с собой было.
Ставлю Windows Installer 3.0.
Он говорит - я встал бы, но тут сервисный пакет меньше 3-го, мне б хотя бы 3-й.
У меня с собой было.
Поставил 4-й.
Перезагрузился.
Поставил Windows Installer 3.0.
Перезагрузился.
Запустил .Net Framework 2.0.
Он говорит - я встал бы, но мне места нужно 252 МБ.
А тут только 80 свободных.
Очистил диск.
Запустил .Net Framework 2.0.
Он зависает на регистрации ASP.Net - видимо потому, что на машине нет IIS.
Ну не ссука, а?
Так приложение и не поставил.
http://hdrummer.livejournal.com/40015.html
Что характерно, .Net содержит механизмы, придумананые, чтобы избавиться от dll-hell, а на деле все стало только хуже. В отличие от линукса, где для разрешения несовместимостей можно каждой проге свое окружение сделать, виндовс ничго не дает.
> Дык всё верно. В линуксе надо - берешь, и доставляешь. А в винде надо с бубном ещё прыгать, и не факт что всё получится.
Правда случается оно почти никогда в виндах и постоянно в линуксе, вот в чём дело. Вот честно, за несколько лет в виндах столкнулся с зависимостями только один раз - когда свежий ACID Pro стал требовать dotNET. В линуксе возьми почти любую прогу не из репозитория - 20 библиотек, которые зачастую довольно увесистые, требуют сборки и которые ещё на что-то перекинуты... Забыть как страшный сон. Лучше раз в полгода пляски с бубном чем "правильный" трах и гимор каждый день.
> Правда случается оно почти никогда в виндах и постоянно в линуксе, вот в чём дело.
Это да, когда ты ставишь прогу - а когда пишешь, и собираешь её чтобы поставить на другой комп - то тогда надо помучатся, чтобы все необходимые либы, и именно тех версий, с какими собирал прогу, были у клиента. Неасилил я это волшебство - раньше перешел на UNIX программить.