-
Пишем приложение на VS, в приложении используются компоненты сторонних разработчиков, которые поставляются в исходниках и длл.
Для работы моего приложения необходим ряд этих самых dll, т.е. чтобы перенести приложение на другой комп за ним нужно тянуть все dll!!!
Нашел утилиту от microsoft которая может собрать все в 1 exe, но собирает все что внутри dll т.е. используешь ты у себя класс не используешь он будет у тебя в exe. В итоге exe получается 10 мб!!!
Отсюда вопросы:
1. Тоже самое и в Delphi .NET ?
2. Зачем так все усложнили, помоему это шаг назад?
3. Или я не правильно все понял???
-
действительно... шаг назад...
и почему это дотнет не работает без необходимых библиотек
и вообще нафига его ставить, почему он сразу не работает, это ж скачок НА ЗАД!
-
А в чем сложность распространять вместе с приложением и нужные DLL? Или у тебя нужные DLL - это .Net Framework? Ну тогда покажи юзерам ссылку где скачать, да и есть он сейчас у многих уже.
-
А для вашего приложения виндовс случайно не требуется? Или этот факт вас не удивляет? А ведь оно поболе 10 мб будет. Еще и денег стоит, к стати. (в этом плане меня особо умиляют разработчики под аксес, который "есть на всех компах")
PS
Пользуйтесь возможностью делать инсталляторы приложений и не насилуйте сами себя.
-
Требуются библиотеки дополнительных компонентов.
В общей сложности они занимают более 500 мб.
А если разработчики обновят версию компонентов, опять всем переставлять dll ?
Вот в Delphi 7 установил компоненты при наличии исхордников или dcu компилятор выбрал классы которые необходимо собрал в exe получился компактный exe, и ничего не требует.
-
Прочитайте про Setup Projects, ClickOnce deployment и т.д.
-
Прочитайте про Setup Projects, ClickOnce deployment и т.д.
-
> stas © (30.10.08 10:54) [4]
> Требуются библиотеки дополнительных компонентов.
> В общей сложности они занимают более 500 мб.
мдя.... вы уверены, что они все вам нужны? :)
Впрочем, если надо - значит резать компашки и раздавать. Себестоимость копеечная.
Короче, не майтесь с этом моментом, это не страшно. Просто научитесь делать хороший инсталлятор, умеющий корректно апдейтить продукт (что не очень просто ввиду "особой умности не к месту" виндового инсталлятора, надо изучить грабли (ну или понаступать на них), много косяков вылазит, надо обязательно тестировать тщательно апдейт).
К стати, флешки гиговые - 200 руб (у нас в городе). Тоже вполне себе носитель, копечный.
-
И к стати, волбшество в этом моменте с одной стороны расслабляет ("что надо - само соберет"), но для серьезной поддержки продукта - вредно очень так раслабляться, т.к. после пары-тройки апдейтов у клиента обязательно всплывут совершенно чудесатые косяки, причиной которых будет недообновление, и чтобы в них разобраться - надо будет точно знать какие именно файлы и каких версий должны оказаться у клиента для каждой версии продукта.
Так что очень советую тщательно с этим разобраться. Рассказываю по собственному опыту.
-
Читать инструкцию, по распространению конкретного приложения, если автор его ты, то ты должен знать, что куда и как. Восспользуйся штатным инсталятором.
А принципы работы .NET ты видимо не понял.
-
KSergey © (30.10.08 11:13) [7]
Тут вопрос вот в чем.
У нас предприятие, около 700 пользователей работают в системе. До недавнего времени система разрабатывалась на D7, и состот она из системных dll и модулей (exe).
Обновление системы проходит в автозагрузке (обновляется небольшая по объему папка только с содержанием системных dll и только различающихся), обновление производится с открытой на чтение папки на сервере, в которую разработчики складывают новые версии dll и модулей.
А каждый модуль обновляется перед его запуском.
В таком случае никого не волновало изменение версии компонент, версия изменилась собралась в exe, и нормально жили проекты с новой версией компонент и старой.
Теперь же придетсявсем юзерам расставить используемые библиотеки в vs и если вдруг понадобится в каком-то модуле изменить версию компонент, нужно будет перекомпилить все проекты и всем юзерам обновить dll этих компонент.
Это я расписал в моем понимании, надеюсь я ошибаюсь?
-
> stas © (30.10.08 13:15) [10]
> версию компонент, нужно будет перекомпилить все проекты
> и всем юзерам обновить dll этих компонент.
> Это я расписал в моем понимании, надеюсь я ошибаюсь?
В части "и всем юзерам обновить dll этих компонент." - нет, не ошибаетесь.
Но методы, безусловно, надо пересмотреть. Опять же используя уже разработанные именно для этого технологии Windows Installer + соответствующие Windows Domain Policy
Кроме того, в .NET обещано гарантированное отсутствие dll-hell, почитать Рихтера про .NET.
В общем у вас огромное поле для ознакомления с уже давно имеющимися (и весьма витиеватыми!) технологиями от MS, предназначенными ровно дял ваших задач и самим же MS в том числе успешно используемыми.
-
KSergey © (30.10.08 13:28) [11]
Спасибо буду разбираться.
-
чем был мотивирован выбор в пользу .NET при выборе платформы?
-
Eraser © (30.10.08 14:27) [13]
1. Требуется писать еще и web приложения, (ну здесь пока притензий не имею)
решили все писать в одной среде.
2. Все новые среды разработки пишуться под .NET, отставать не хочется
3. Ну естественно не знали что столкнемся с такими проблемами.
-
> Anatoly Podgoretsky © (30.10.08 11:42) [9]
> Читать инструкцию, по распространению конкретного приложения,
> если автор его ты, то ты должен знать, что куда и как.
> Восспользуйся штатным инсталятором.А принципы работы .NET
> ты видимо не понял.
Тоже так думаю.
Объясните пожалуйста почему именно так? чего в этом хорошего?
-
> Windows Installer
нафига?
в профиле настроил копировать dll, и не париться
> stas © (30.10.08 10:54) [4]
> Требуются библиотеки дополнительных компонентов.
> В общей сложности они занимают более 500 мб.
это чтож за компоненты такие???
и все 500 мб одной сборокой идут? выкинуть!
у меня devexpress, дистр занимает 100+ мегов, для приложения нужно dll`ей мегов на 20.
-
devexpress 8.xx
Можно выбирать конечно только те что используются, но неизвестно какой модуль появится завтра на этой машине, поэтому лучше сразу устанавливать все.
-
> stas © (13.11.08 11:27) [17]
> поэтому лучше сразу устанавливать все.
ну и устанавливай, раз лучше. А можно по референсам и по мере необходимости.
-
Petr V. Abramov © (13.11.08 11:43) [18]
Непонятно почему так сделано в vs. Почему не сделать так как в delphi ?