|
|
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
Пробовал кто-нибудь создавать инсталляционные пакеты так, что бы все системные dlls ,нужные вам, писались в ту же директорию, где и сама апликация? Ну там можно их в отдельный подфолдер выделить. У кого есть такой опыт, поделитесь пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 18:32 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
Ну? А в чем проблема то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 18:34 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
Просто спрашиваю, делает ли так кто-либо, или все так делают, или никто, и какие в этом могут быть минусы. (Плюсы очевидны). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 18:45 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
Минус в том, что у пользователя может собраться набор из одноименных dll разных версий. С другой стороны, если пользователь поставит себе другую программу, которая использует ту же самую dll, но другой версии, ты будешь уверена что твое приложение будет по прежнему работать с длл правильной версии. Либо - инсталляция твоей программы не поломает уже существующие на компе юзера программы если они жестко привязаны к версии dll. В общем, на мой взгляд плюсов чуть больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 19:22 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
авторМинус в том, что у пользователя может собраться набор из одноименных dll разных версий Как это? в одной поддиректории, которую я им выделю? Разве они при инсталляции не перепишутся поверху? А вы конкретно такое делаете или теоретически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 20:02 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
мадама авторМинус в том, что у пользователя может собраться набор из одноименных dll разных версий Как это? в одной поддиректории, которую я им выделю? Разве они при инсталляции не перепишутся поверху? А вы конкретно такое делаете или теоретически? Есть такое понятие как "Хорошая практика программирования". Если каждый начнет складывать все библиотеки в свою папочку, то у юзеров будут полные винты мусора. Правильный инсталятор при установке проверяет версию файла юзера и ставит только в случае более старой версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 20:43 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
Магнус, я ждала вашего ответа! авторЕсли каждый начнет складывать все библиотеки в свою папочку "Каждый" меня абсолютно не волнует. Меня волнует, что б моя программа не запорола им компьютер, потому как она посылается на CD и юзер её инсталирует сам. В процессе инсталяции пойдут вопросы, типа найден новее файл, заменять? Не в моей власти, что юзер ответит. В прошлом году я хранила DLLs в системном фолдере, а в этом году, чёто мне жалко их (юзеров) и я стала задумываться о более гуманном подходе к ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 21:31 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
мадама авторМинус в том, что у пользователя может собраться набор из одноименных 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%) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 21:56 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
Magnus23Есть такое понятие как "Хорошая практика программирования". Если каждый начнет складывать все библиотеки в свою папочку, то у юзеров будут полные винты мусора.В данном случае, это не практика хорошего программирования, это практика вежливой инсталляции :) А полные винты мусора... Ну во первых, при объеме современных винтов это уже не так уж и важно. А во вторых, если я на 99% уверен что юзер не будет иметь у себя на машине еще одной программы которая использует... ну например xmlparse.dll и xmltok.dll которые составляют старинную библиотеку expat одну из первых для работы с xml. Но вот я ее люблю и меня воротит работать с Msxml2.DOMDocument. И куда кроме как в мой собственный каталог эти две дллки класть? Magnus23Правильный инсталятор при установке проверяет версию файла юзера и ставит только в случае более старой версии.Это само собой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 22:05 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
White Owl , а все dlls не пробовали присовокупить "в корень программы" или хотя бы в сабфолдер? Я говорю только об этом конкретном случае. Поймёт программа где они или всё равно пойдёт искать системные в системном фолдере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 22:10 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
мадамаWhite Owl , а все dlls не пробовали присовокупить "в корень программы" или хотя бы в сабфолдер? Я говорю только об этом конкретном случае. Поймёт программа где они или всё равно пойдёт искать системные в системном фолдере?эээ? Я думал тут этический вопрос, а вы сударыня, еще в практике плаваете :) С точки зрения программы, все dll равноправны. Ты можешь даже user32.dll со своей программой рассылать и если ты ее положишь в текущий каталог своей программы то и использоваться будет именно твоя копия а не общий для виндов user32.dll В подкаталогах dll никто без явной команды искать не будет. Читай описание WinAPI функций LoadLibrary и SearchPath. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 22:22 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
авторэээ? Я думал тут этический вопрос, а вы сударыня, еще в практике плаваете :) Все мы в чём-то плаваем. А за ответ спасибо, в принципе является подтвержденим моих мыслей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 20:13 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
White OwlВ данном случае, это не практика хорошего программирования, это практика вежливой инсталляции :) М-да конечно :). Долго думал как лучше обвернуть Best Practices, в результате таки обвернул неточно:). Плюс еще к тому я скрипты инсталяции обычно писал сам на паскале :) а исполнялись они в Inno Setup Extentions. White OwlА полные винты мусора... Ну во первых, при объеме современных винтов это уже не так уж и важно. Это для обычных пользователей. А вот если клиент - какая нибудь компания где в офисах может стоять что угодно с очень старыми форточками, то рекомендую все-таки оглядываться. ^ White OwlА во вторых, если я на 99% уверен что юзер не будет иметь у себя на машине еще одной программы которая использует... ну например xmlparse.dll и xmltok.dll которые составляют старинную библиотеку expat одну из первых для работы с xml. Но вот я ее люблю и меня воротит работать с Msxml2.DOMDocument. И куда кроме как в мой собственный каталог эти две дллки класть? Особые случаи всегда есть :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 21:25 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
Magnus23 White OwlА полные винты мусора... Ну во первых, при объеме современных винтов это уже не так уж и важно. Это для обычных пользователей. А вот если клиент - какая нибудь компания где в офисах может стоять что угодно с очень старыми форточками, то рекомендую все-таки оглядываться. Как правило, в крупных компаниях на одной машине стоит несколько различных систем (как вариант - 1С, Парус, Консультант и еще до десятка тому подобных). Плюс пару десятков обычных сторонних программ. И все это в одном отделе может жить под XP с 2003-м офисом, в другом - под NT 4.0 и 97-м офисом, а в третьем - под Win98 с вообще-непойми-чем. Я лично видел, как Очень крупная организация с помощью специалистов из Майкрософта пыталась подобрать такой набор библиотек, который подошел бы подо все вариации ОС и офиса, и при этом все установленные у них информационные системы работали. Скажу сразу - им это не удалось. Пришлось напрягать еще и разработчиков тех самых информационных систем, чтобы они адаптировали свои продукты под конкретный набор библиотек. Так что, мадама, аккуратнее надо быть с библиотечками. Это вам не дотнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 09:50 |
|
||
|
Dlls в одной директирии с аппликацией.
|
|||
|---|---|---|---|
|
#18+
мадамаWhite Owl , а все dlls не пробовали присовокупить "в корень программы" или хотя бы в сабфолдер? Я говорю только об этом конкретном случае. Поймёт программа где они или всё равно пойдёт искать системные в системном фолдере? Путь к зарегистрированным ActiveX компонентам прописан в реестре. Потому от складирования их в папочку программы толку нет вообще. А вот если ActiveX не зарегистрирован то он ищется в папке программы - благодаря этому я и создаю CD которые могут работать без установки чего либо на компьютер пользователя. По хорошему инсталлятор не спрашивает заменять файл или нет - он просто обновляет компонент на его новую версию (впрочем и это может задаваться в его настройках). Нормально разработанные компоненты имеют бинарную совместимость - старая версия программы будет работать с новым компонентом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 12:10 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34297638&tid=2164583]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 401ms |

| 0 / 0 |
