Здравствуйте, Kluev, Вы писали:
K>Здравствуйте, aka50, Вы писали:
A>>Здравствуйте, Kluev, Вы писали:
K>>>Это утешение для слабых умов. Когда каждая прога лежит в отдельном каталоге то никакие dpkg-query не нужны. A>>Предлагаю "сильным умам" объяснить, как будет выглдить установка программы,которая использует ms office api. Все dll от ms office должны лежать в каталоге этой проги?
K>Это зависит от того как эта прога позиционируется. Если это плагин к оффису то ей надо лежать в каком нибудь из подкаталогов оффиса. А если она использует оффис то длл-и оффиса следует положить в каталог программы. (Для простоты будем считать что оффис работает не через COM, а через статический апи в в длл). И это правильный путь потому что в противном случае dll-hell тебе всю плешь проест. Например ты ставишь более новый оффис с которым тебе удобно работать самому, но с ним плохо совместима эта прога и наоборот.
Для борьбы с этим придуманы суффиксы и не надо никакого dll hell... К стати, когда офис обновиться, что будет с dll-ками? Ведь они могут как-то общаться с офисом... не замучаешься по всем программам искать эти dll-ки?
K>В качестве позитивного примера можно привести VLC который все кодеки содержит на борту в подкаталоге в виде плагинов (и запускается из любого каталога), что гораздо удобнее и правильнее чем MPC который юзает системные DirectShow кодеки. MPC круче работает с сабами, но codec-hell меня уже достал, на каждый чих и пук CCCP codec pack переустанавливать.
Не поверишь, я ничего не переустанавливаю, за всем следит package manager...
K>А это не играет особой роли т.к. пути берутся не абсолютные, а относительные. Из GetModuleFileName получаем полный путь к экзешнику, а из него мы можем получить путь к каталогу с файлами программы напр. exe_path + "\data\my_file.bla-bla-bla". В линуксе же модно хардкодить пути прямо в исполняемы файлы поэтому программы ищут файло по жестко зашитим абсолютным путям типа /etc/dummt.conf отсюда и необходимость в костылях типа chroot поскольку без этого програму скопированную в другой каталог просто не запустишь.
Нормальные программы имеют ключик -c или -f и хоть обзапускайся (еще и пути в конфиге можно менять либо что-то вроде MY_PROG_HOME выставить), так что проблема надуманна.
Не понимаю, почему программу надо копировать? Почему не указать ей другой конфиг?