.net, мать его.
Сложностей особых нет – надо всё сделать по инструкции на КАЖДОЙ машине и всё будет работать. В тот же момент стояла задача о разработке продукта для 89 регионов России и работать он должен был в гос.учреждениях. Применение же такой технологии привело бы к краху проекту, т.к. настроить DCOM на каждой машине, в каждом округе Российской федерации просто НЕРЕАЛЬНО. Мы (как разработчики) на места установки не поедем, а на местах настройкой и установкой комплекса обычно занимается тот же кто и пользуется им, т.е. неквалифицированный пользователь компьютера. 🙂
Так о чём это я… Таки беру я откомпилированное тестовое приложение и запускаю у себя – гуд. Всё фурыкает и работает. Копирую на сервер и пытаюсь запустить там через Remote Console – ошибка. Проблема раз: надо поставить vcredist_xYY.exe, где YY это или 86 или 64, что соответствует не разрядности установленной операционной системы, как подумалось изначально, а разрядности запускаемого приложения! Ну ладно, с кем не бывает, надо – так надо.
И это несмотря на то, что .NET третьей версии как бы стоит. Зачем потребовались еще библиотеки (DLL), как я понимаю, для работы с .NET объектами из С++ приложений? Почему нельзя статически прилинковать эти обвязки при создании приложения, тем более, что они должны быть в той разрядности, что и приложение?
Т.е. получается какое-то неравноправие: напиши я на C# и моя программа запустилась бы с полпинка, а если на C++, то надо еще что-то “доставить”. Бред. Но это решается тем, что в требованиях к программе можно указать, кроме необходимой версии .NET еще и наличие vcredist.
Пока я разбирался что да как, выползла вторая проблема: оказывается я не могу запустить программу с сетевого диска! Абалдеть. На своей же машине я её запускаю и даже могу отлаживать, а если его скопировать или даже скомпилировать на сетевой диск – то прав у меня недостаточно! А права-то у меня есть, т.к. скомпилированная программа без CLR великолепно запускается. Беда.
Читаю решение проблемы: надо выполнить тра-ля-ля на ВСЕХ компьютерах, с которых вы будете запускать данную программу!
Нет слов. DCOM вернулся.
Как объяснить пользователю ПК поневоле, что надо что-то выполнить в командной строке для того, что бы приложение заработало? Оно ему нужно? Он пойдет и купит программу у конкурента.
Page 2 of 2 | Previous page