Конференция "Прочее" » Распостранение приложений .NET
 
  • stas © (30.10.08 10:34) [0]
    Пишем приложение на VS, в приложении используются компоненты сторонних разработчиков, которые поставляются в исходниках и длл.
    Для работы моего приложения необходим ряд этих самых dll, т.е. чтобы перенести приложение на другой комп за ним нужно тянуть все dll!!!

    Нашел утилиту от microsoft которая может собрать все в 1 exe, но собирает все что внутри dll т.е. используешь ты у себя класс не используешь он будет у тебя в exe. В итоге exe получается 10 мб!!!

    Отсюда вопросы:
    1. Тоже самое и в Delphi .NET ?
    2. Зачем так все усложнили, помоему это шаг назад?
    3. Или я не правильно все понял???
  • boa_kaa © (30.10.08 10:42) [1]
    действительно... шаг назад...
    и почему это дотнет не работает без необходимых библиотек
    и вообще нафига его ставить, почему он сразу не работает, это ж скачок НА ЗАД!
  • Kerk © (30.10.08 10:44) [2]
    А в чем сложность распространять вместе с приложением и нужные DLL? Или у тебя нужные DLL - это .Net Framework? Ну тогда покажи юзерам ссылку где скачать, да и есть он сейчас у многих уже.
  • KSergey © (30.10.08 10:49) [3]
    А для вашего приложения виндовс случайно не требуется? Или этот факт вас не удивляет? А ведь оно поболе 10 мб будет. Еще и денег стоит, к стати. (в этом плане меня особо умиляют разработчики под аксес, который "есть на всех компах")

    PS
    Пользуйтесь возможностью делать инсталляторы приложений и не насилуйте сами себя.
  • stas © (30.10.08 10:54) [4]
    Требуются библиотеки дополнительных компонентов.
    В общей сложности они занимают более 500 мб.
    А если разработчики обновят версию компонентов, опять всем переставлять dll ?
    Вот в Delphi 7 установил компоненты при наличии исхордников или dcu компилятор выбрал классы которые необходимо собрал в exe получился компактный exe, и ничего не требует.
  • b z (30.10.08 10:57) [5]
    Прочитайте про Setup Projects, ClickOnce deployment  и т.д.
  • b z (30.10.08 10:59) [6]
    Прочитайте про Setup Projects, ClickOnce deployment  и т.д.
  • KSergey © (30.10.08 11:13) [7]
    > stas ©   (30.10.08 10:54) [4]
    > Требуются библиотеки дополнительных компонентов.
    > В общей сложности они занимают более 500 мб.

    мдя.... вы уверены, что они все вам нужны? :)
    Впрочем, если надо - значит резать компашки и раздавать. Себестоимость копеечная.

    Короче, не майтесь с этом моментом, это не страшно. Просто научитесь делать хороший инсталлятор, умеющий корректно апдейтить продукт (что не очень просто ввиду "особой умности не к месту" виндового инсталлятора, надо изучить грабли (ну или понаступать на них), много косяков вылазит, надо обязательно тестировать тщательно апдейт).
    К стати, флешки гиговые - 200 руб (у нас в городе). Тоже вполне себе носитель, копечный.
  • KSergey © (30.10.08 11:17) [8]
    И к стати, волбшество в этом моменте с одной стороны расслабляет ("что надо - само соберет"), но для серьезной поддержки продукта - вредно очень так раслабляться, т.к. после пары-тройки апдейтов у клиента обязательно всплывут совершенно чудесатые косяки, причиной которых будет недообновление, и чтобы в них разобраться - надо будет точно знать какие именно файлы и каких версий должны оказаться у клиента для каждой версии продукта.
    Так что очень советую тщательно с этим разобраться. Рассказываю по собственному опыту.
  • Anatoly Podgoretsky © (30.10.08 11:42) [9]
    Читать инструкцию, по распространению конкретного приложения, если автор его ты, то ты должен знать, что куда и как. Восспользуйся штатным инсталятором.

    А принципы работы .NET ты видимо не понял.
  • stas © (30.10.08 13:15) [10]
    KSergey ©   (30.10.08 11:13) [7]
    Тут вопрос вот в чем.
    У нас предприятие, около 700 пользователей работают в системе. До недавнего времени система разрабатывалась на D7, и состот она из системных dll и модулей (exe).
    Обновление системы проходит в автозагрузке (обновляется небольшая по объему папка только с содержанием системных dll и только различающихся), обновление производится с открытой на чтение папки на сервере, в которую разработчики складывают новые версии dll и модулей.
    А каждый модуль обновляется перед его запуском.
    В таком случае никого не волновало изменение версии компонент, версия изменилась собралась в exe, и нормально жили проекты с новой версией компонент и старой.
    Теперь же придетсявсем юзерам расставить используемые библиотеки в vs и если вдруг понадобится в каком-то модуле изменить версию компонент, нужно будет перекомпилить все проекты и всем юзерам обновить dll этих компонент.
    Это я расписал в моем понимании, надеюсь я ошибаюсь?
  • KSergey © (30.10.08 13:28) [11]
    > stas ©   (30.10.08 13:15) [10]
    > версию компонент, нужно будет перекомпилить все проекты
    > и всем юзерам обновить dll этих компонент.
    > Это я расписал в моем понимании, надеюсь я ошибаюсь?

    В части "и всем юзерам обновить dll этих компонент." - нет, не ошибаетесь.
    Но методы, безусловно, надо пересмотреть. Опять же используя уже разработанные именно для этого технологии Windows Installer + соответствующие Windows Domain Policy
    Кроме того, в .NET обещано гарантированное отсутствие dll-hell, почитать Рихтера про .NET.

    В общем у вас огромное поле для ознакомления с уже давно имеющимися (и весьма витиеватыми!) технологиями от MS, предназначенными ровно дял ваших задач и самим же MS в том числе успешно используемыми.
  • stas © (30.10.08 13:46) [12]
    KSergey ©   (30.10.08 13:28) [11]
    Спасибо буду разбираться.
  • Eraser © (30.10.08 14:27) [13]
    чем был мотивирован выбор в пользу .NET при выборе платформы?
  • stas © (30.10.08 16:33) [14]
    Eraser ©   (30.10.08 14:27) [13]
    1. Требуется писать еще и web приложения, (ну здесь пока притензий не имею)
    решили все писать в одной среде.
    2. Все новые среды разработки пишуться под .NET, отставать не хочется
    3. Ну естественно не знали что столкнемся с такими проблемами.
  • stas © (13.11.08 11:12) [15]

    > Anatoly Podgoretsky ©   (30.10.08 11:42) [9]
    > Читать инструкцию, по распространению конкретного приложения,
    >  если автор его ты, то ты должен знать, что куда и как.
    > Восспользуйся штатным инсталятором.А принципы работы .NET
    > ты видимо не понял.

    Тоже так думаю.
    Объясните пожалуйста почему именно так? чего в этом хорошего?
  • Petr V. Abramov © (13.11.08 11:20) [16]

    > Windows Installer

    нафига?

    в профиле настроил копировать dll, и не париться


    > stas ©   (30.10.08 10:54) [4]
    > Требуются библиотеки дополнительных компонентов.
    > В общей сложности они занимают более 500 мб.

    это чтож за компоненты такие???
    и все 500 мб одной сборокой идут? выкинуть!
    у меня devexpress, дистр занимает 100+ мегов, для приложения нужно dll`ей мегов на 20.
  • stas © (13.11.08 11:27) [17]
    devexpress 8.xx
    Можно выбирать конечно только те что используются, но неизвестно какой модуль появится завтра на этой машине, поэтому лучше сразу устанавливать все.
  • Petr V. Abramov © (13.11.08 11:43) [18]

    > stas ©   (13.11.08 11:27) [17]


    > поэтому лучше сразу устанавливать все.

    ну и устанавливай, раз лучше. А можно по референсам и по мере необходимости.
  • stas © (13.11.08 11:48) [19]
    Petr V. Abramov ©   (13.11.08 11:43) [18]
    Непонятно почему так сделано в vs. Почему не сделать так как в delphi ?
  • Petr V. Abramov © (13.11.08 11:53) [20]

    > stas ©   (13.11.08 11:48) [19]

    а чем vs отличается от дельфи с рантайм-пакетами???
    почему не вкомпилировать все в exe - а потому что поставил один раз фрейворк, и все им пользуются, а венда разруливает, кто на какие версии фреймворка ссылается
  • Anatoly Podgoretsky © (13.11.08 11:56) [21]
    В обще, что за проблема, 500 мб влазит на CD
  • stas © (13.11.08 12:06) [22]
    Anatoly Podgoretsky ©   (13.11.08 11:56) [21]
    >stas ©   (30.10.08 13:15) [10]
  • stas © (13.11.08 12:10) [23]
    Petr V. Abramov ©   (13.11.08 11:53) [20]
    Ну, так в delphi я захотел вкопилил пакет в exe, причем не весь, а только используемые классы, не захотел - сделал отедльно.

    Хочу обратить внимание, я не пытаюсь доказать что NET это фуфло, а дельфи это супер. Хочу разобраться почему именно так.
  • stas © (13.11.08 12:11) [24]
    Под delphi в данном случае следует понимать delphi 7.
  • Anatoly Podgoretsky © (13.11.08 12:12) [25]
    > stas  (13.11.2008 11:48:19)  [19]

    Исторически так сложилось, что бы VBшники могли хвастаться размерами.
  • Petr V. Abramov © (13.11.08 12:15) [26]

    > stas ©   (13.11.08 12:10) [23]


    > Хочу разобраться почему именно так.

    идея в следующем: вот есть api для рисования окошек, соотв. функционал является частью системы, все довольны. Вот только разобраться с том апи могут только ЮрийЗотов да Игорь Шевченко. Тепепрь сделали оболочку над этит всем, такую, что в ней может разобраться среднего ума человек, и эта оболочка тоже является частью системы
  • Anatoly Podgoretsky © (13.11.08 12:24) [27]
    > Petr V. Abramov  (13.11.2008 12:15:26)  [26]

    А теперь и вася пупкин тоже захотел и ему дали эту возможность и идея погибла, стали появляться монстры криво сконструированые. Борланд тоже руку к этому приложил в его .NET
  • Petr V. Abramov © (13.11.08 23:43) [28]

    > А теперь и вася пупкин тоже захотел и ему дали эту возможность
    > и идея погибла

    формально да, а реально дельфя ввеля понятие рынок компонент, дельфовых было дофига от Васи с его доплатой, .Net-овские - все коммерческие.
  • stas © (03.12.08 11:17) [29]
    У меня вот еще вопрос возник, могу ли я DLL, хотя бы собственной разработки помещать в любую папку указав к ней путь?
    или они должны обязательно находится либо в папке с программой либо в стандартной для них папке?
  • clickmaker © (03.12.08 11:23) [30]
    > [29] stas ©   (03.12.08 11:17)

    лучше в папку с программой или в одну из ее подпапок.
    Если она используется более чем одним приложением, и есть уверенность, что не будет конфликта версий, можно зарегистрировать в GAC
 
Конференция "Прочее" » Распостранение приложений .NET
Есть новые Нет новых   [134446   +39][b:0][p:0.001]