Бок о бок манифест, горячий или падающий с изяществом?
В последнее время мы сталкивались с некоторыми проблемами с адом.dll для наших клиентов, поэтому мне было интересно, является ли SxS-установка требуемых.dll и.ocx хорошей идеей. Я читал об этом и преуспел в развертывании нашего приложения, когда, по крайней мере, некоторые из его зависимостей были обработаны с помощью манифеста, но это все еще рекомендуемый способ развертывания, или это причуда последних нескольких лет, и теперь постепенно от него отказываются?
2 ответа
Я не понимаю, почему это было бы модно. Проблема в VB6 заключается в том, что никогда не было обновления инструментов для его прямой поддержки, хотя VB6 SP6 улучшил поддержку, а XP SP2 обеспечил более полную реализацию.
Мы используем его здесь все время, хотя мы обнаружили, что некоторые сторонние элементы управления написаны неправильно и не могут с ним работать. Например, многие вещи в vbAccelerator, похоже, "сломаны".
Это редкий случай, когда мы не развертываем с помощью reg-free COM сейчас, даже когда мы заключаем все это в пакет MSI. Изолироваться от плохих инсталляторов других продуктов (источник большого количества DLL Hell) - большой плюс, и Windows становится лучше в отношении защиты себя с точки зрения системных компонентов, что само по себе очень помогает.
Хитрость заключается в том, чтобы найти хорошую поддержку инструментов. У меня никогда не было терпения работать с применением отрывочной поддержки Microsoft с помощью инструментов SDK, но я думаю, что у других есть. Для такого рода вещей есть по крайней мере один коммерческий продукт. Мы используем наши собственные инструменты, разработанные собственными силами.
Причуда? Мы считаем это конкурентным преимуществом. Это также облегчает производство портативного программного обеспечения в VB6! В отличие от некоторых инструментов загрузки и взлома библиотеки времени выполнения, которые мы видели из немецкого источника, вам не нужно добавлять много кодов fiddley в свои программы. Просто старые старые программы VB6 работают нормально.
Другая вещь, которую он включает, - это развертывание для каждого пользователя, что упрощает создание пакетов MSI, которые устанавливаются для пользователя без прав повышения прав. Мы в первую очередь не занимаемся производством стелс-программ, но клиенты иногда сталкиваются с высокими стенами в своей организации, и это позволяет им устанавливать предлагаемые нами продукты и выполнять свою работу. Поскольку мы не затрагиваем реестр или защищенные области файловой системы, отрицательные отзывы от администраторов были практически нулевыми. Windows 7 улучшил это:
Создание отдельного пакета для контекста установки для пользователя или компьютера в Windows 7
Та же самая техника работает в Vista, хотя вы не получаете функциональность одного пакета. Создание изолированных приложений делает процесс еще проще.
Конечно, SxS означает гораздо больше, чем регулярный COM и изоляция, но в терминах VB6 это, вероятно, то, о чем вы говорили. DotNet использует его, ОС использует его. Я не уверен, почему это может выглядеть как "причуда". Возможно, многие люди замолчали на эту тему из-за разочарования в инструментах, перехода от VB6 к чему-то другому или потому, что экономика сейчас очень конкурентоспособна.
Я экспериментировал с SxS в прошлом, но прекратил использовать его после того, как столкнулся с проблемами на определенном проценте компьютеров с Windows XP, на которых должно было работать приложение.