powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Dlls в одной директирии с аппликацией.
15 сообщений из 15, страница 1 из 1
Dlls в одной директирии с аппликацией.
    #34297340
мадама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал кто-нибудь создавать инсталляционные пакеты так, что бы все системные dlls ,нужные вам, писались в ту же директорию, где и сама апликация? Ну там можно их в отдельный подфолдер выделить. У кого есть такой опыт, поделитесь пожалуйста.
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297352
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну? А в чем проблема то?
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297380
мадама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто спрашиваю, делает ли так кто-либо, или все так делают, или никто, и какие в этом могут быть минусы. (Плюсы очевидны).
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297449
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минус в том, что у пользователя может собраться набор из одноименных dll разных версий.
С другой стороны, если пользователь поставит себе другую программу, которая использует ту же самую dll, но другой версии, ты будешь уверена что твое приложение будет по прежнему работать с длл правильной версии. Либо - инсталляция твоей программы не поломает уже существующие на компе юзера программы если они жестко привязаны к версии dll.
В общем, на мой взгляд плюсов чуть больше.
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297507
мадама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМинус в том, что у пользователя может собраться набор из одноименных dll разных версий

Как это? в одной поддиректории, которую я им выделю? Разве они при инсталляции не перепишутся поверху?
А вы конкретно такое делаете или теоретически?
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297550
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мадама авторМинус в том, что у пользователя может собраться набор из одноименных dll разных версий

Как это? в одной поддиректории, которую я им выделю? Разве они при инсталляции не перепишутся поверху?
А вы конкретно такое делаете или теоретически?

Есть такое понятие как "Хорошая практика программирования". Если каждый начнет складывать все библиотеки в свою папочку, то у юзеров будут полные винты мусора.
Правильный инсталятор при установке проверяет версию файла юзера и ставит только в случае более старой версии.
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297599
мадама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Магнус, я ждала вашего ответа!

авторЕсли каждый начнет складывать все библиотеки в свою папочку
"Каждый" меня абсолютно не волнует. Меня волнует, что б моя программа не запорола им компьютер, потому как она посылается на CD и юзер её инсталирует сам. В процессе инсталяции пойдут вопросы, типа найден новее файл, заменять? Не в моей власти, что юзер ответит. В прошлом году я хранила DLLs в системном фолдере, а в этом году, чёто мне жалко их (юзеров) и я стала задумываться о более гуманном подходе к ним.
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297617
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мадама авторМинус в том, что у пользователя может собраться набор из одноименных dll разных версий
Как это?От разных программ.
мадамаА вы конкретно такое делаете или теоретически?да, я такое делаю.
Но я еще различаю "системные dll" разных уровней :)
dll от Микрософта (mdac или directx например) всегда идут в виндовый системный каталог
dll от третьих фирм кладутся так как эта самая третья фирма предлагает. Например я работаю с Сайбезовскими базами данных, ну и все dll которые нужны для коннекта к ним, кладутся в "C:\Program Files\Sybase\SQL Anywhere 9\win32\".
Но еще есть фриварные dll, которые я где-то когда-то нашел на просторах интернета и мои собственные dll, общие для нескольких моих проектов... Вот с ними уже становится интересно.
Дело в том, что они, по сути являясь системными, не имеют коммерческой поддержки и они самые часто изменяемые. Поэтому они обычно идут в \Program Files\%mydir%\shared либо кладутся прямо в корень программы (\Program Files\%mydir%\%currentproject%)
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297632
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23Есть такое понятие как "Хорошая практика программирования". Если каждый начнет складывать все библиотеки в свою папочку, то у юзеров будут полные винты мусора.В данном случае, это не практика хорошего программирования, это практика вежливой инсталляции :)
А полные винты мусора... Ну во первых, при объеме современных винтов это уже не так уж и важно. А во вторых, если я на 99% уверен что юзер не будет иметь у себя на машине еще одной программы которая использует... ну например xmlparse.dll и xmltok.dll которые составляют старинную библиотеку expat одну из первых для работы с xml. Но вот я ее люблю и меня воротит работать с Msxml2.DOMDocument. И куда кроме как в мой собственный каталог эти две дллки класть?

Magnus23Правильный инсталятор при установке проверяет версию файла юзера и ставит только в случае более старой версии.Это само собой :)
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297638
мадама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl ,
а все dlls не пробовали присовокупить "в корень программы" или хотя бы в сабфолдер? Я говорю только об этом конкретном случае. Поймёт программа где они или всё равно пойдёт искать системные в системном фолдере?
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34297653
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мадамаWhite Owl ,
а все dlls не пробовали присовокупить "в корень программы" или хотя бы в сабфолдер? Я говорю только об этом конкретном случае. Поймёт программа где они или всё равно пойдёт искать системные в системном фолдере?эээ? Я думал тут этический вопрос, а вы сударыня, еще в практике плаваете :)
С точки зрения программы, все dll равноправны. Ты можешь даже user32.dll со своей программой рассылать и если ты ее положишь в текущий каталог своей программы то и использоваться будет именно твоя копия а не общий для виндов user32.dll
В подкаталогах dll никто без явной команды искать не будет. Читай описание WinAPI функций LoadLibrary и SearchPath.
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34300390
мадама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторэээ? Я думал тут этический вопрос, а вы сударыня, еще в практике плаваете :)
Все мы в чём-то плаваем. А за ответ спасибо, в принципе является подтвержденим моих мыслей.
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34300476
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВ данном случае, это не практика хорошего программирования, это практика вежливой инсталляции :)
М-да конечно :). Долго думал как лучше обвернуть Best Practices, в результате таки обвернул неточно:). Плюс еще к тому я скрипты инсталяции обычно писал сам на паскале :) а исполнялись они в Inno Setup Extentions.

White OwlА полные винты мусора... Ну во первых, при объеме современных винтов это уже не так уж и важно.

Это для обычных пользователей. А вот если клиент - какая нибудь компания где в офисах может стоять что угодно с очень старыми форточками, то рекомендую все-таки оглядываться.
^

White OwlА во вторых, если я на 99% уверен что юзер не будет иметь у себя на машине еще одной программы которая использует... ну например xmlparse.dll и xmltok.dll которые составляют старинную библиотеку expat одну из первых для работы с xml. Но вот я ее люблю и меня воротит работать с Msxml2.DOMDocument. И куда кроме как в мой собственный каталог эти две дллки класть?

Особые случаи всегда есть :).
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34301060
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23
White OwlА полные винты мусора... Ну во первых, при объеме современных винтов это уже не так уж и важно.
Это для обычных пользователей. А вот если клиент - какая нибудь компания где в офисах может стоять что угодно с очень старыми форточками, то рекомендую все-таки оглядываться.

Как правило, в крупных компаниях на одной машине стоит несколько различных систем (как вариант - 1С, Парус, Консультант и еще до десятка тому подобных). Плюс пару десятков обычных сторонних программ. И все это в одном отделе может жить под XP с 2003-м офисом, в другом - под NT 4.0 и 97-м офисом, а в третьем - под Win98 с вообще-непойми-чем.
Я лично видел, как Очень крупная организация с помощью специалистов из Майкрософта пыталась подобрать такой набор библиотек, который подошел бы подо все вариации ОС и офиса, и при этом все установленные у них информационные системы работали. Скажу сразу - им это не удалось. Пришлось напрягать еще и разработчиков тех самых информационных систем, чтобы они адаптировали свои продукты под конкретный набор библиотек.
Так что, мадама, аккуратнее надо быть с библиотечками. Это вам не дотнет.
...
Рейтинг: 0 / 0
Dlls в одной директирии с аппликацией.
    #34301720
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мадамаWhite Owl ,
а все dlls не пробовали присовокупить "в корень программы" или хотя бы в сабфолдер? Я говорю только об этом конкретном случае. Поймёт программа где они или всё равно пойдёт искать системные в системном фолдере?

Путь к зарегистрированным ActiveX компонентам прописан в реестре. Потому от складирования их в папочку программы толку нет вообще. А вот если ActiveX не зарегистрирован то он ищется в папке программы - благодаря этому я и создаю CD которые могут работать без установки чего либо на компьютер пользователя.

По хорошему инсталлятор не спрашивает заменять файл или нет - он просто обновляет компонент на его новую версию (впрочем и это может задаваться в его настройках). Нормально разработанные компоненты имеют бинарную совместимость - старая версия программы будет работать с новым компонентом.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Dlls в одной директирии с аппликацией.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]