metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-09-29 05:00 pm

Инсталляция окамла под виндой

Занимаюсь типичным местным вудуизмом - ставлю прогу из инсталлятора в виртуальной машине, проверяю, что она вообще работает, а потом пытаюсь ее запустить в стиле "xcopy deployment", т.е. копирую инсталлированную папку программы на другой комп и изучаю, что нужно для запуска.

Вообще подобная практика, конечно, сомнительна, особенно в свете толкаемых [livejournal.com profile] zelanton уверений, что во низкоуровневых внутренностях прикладным программистам разбираться запрещено. Но таким образом я набрал уже приличную коллекцию виндовых (а особенно портированных с линукса) программ, которые переживают без переинсталляций любые пертурбации с компами, переустановку виндов и железа, переезды между разными рабочими местами, носимые винты, итд

Так вот в окамле в таком случае оказалось, что там, мало того что пути пишутся в реестр, так еще и переменная окружения используется для поиска либ. С ходу не вижу, почему бы не сделать при отсутствии оных переменных и ключей реестра использование дефолтных значений вроде "папка_с_exe\..\lib\".
Т.е. что под виндами, что в линуксе авторы софта как-то очень уж надеются на стандартную инсталляцию. В некоторых особо сложных случаях это допустимо, но я обычно стараюсь делать прогу запускаемой, даже если психи ее просто скопировали, так проще жить как самому, так и пользователям.

[identity profile] gds.livejournal.com 2010-09-29 05:23 pm (UTC)(link)
надо использовать native code: не понадобится писать пути в реестр (не нужны, чтобы найти .exe), не требуется OCAMLLIB для поиска слинкованного, а нужные .dll (если линкуется не статически) нужно класть рядом с готовой программой. Я так распространяю юзерам-дебилам, все довольны.

[identity profile] zelanton.livejournal.com 2010-09-29 05:24 pm (UTC)(link)
ребе, а вот не надо пожалуйста, я не говорил "запрещено"

[identity profile] dimitrykakadu.livejournal.com 2010-09-29 05:32 pm (UTC)(link)
Так вроде переменные среды можно проставлять в батниках перед запуском непосредственно ехе файла? Или нет?

[identity profile] oldmann.livejournal.com 2010-09-29 05:43 pm (UTC)(link)
ребе, увидеть, что инсталлятор ставит, можно в любом uninstall-manager, без дрочки вручную.

[identity profile] fas-tm.livejournal.com 2010-09-29 06:09 pm (UTC)(link)
Это правильно. Я в реестр максимум могу записать настроенные юзером положения окошек и панелек если это GUI. Все остальное должно работать без переменных среды и прочих ахтунгов.

[identity profile] hshhhhh.livejournal.com 2010-09-29 07:52 pm (UTC)(link)
то есть по-твоему конфиги надо хранить в .ini файлах, а не в реесте? еретик.

[identity profile] avnik.livejournal.com 2010-09-30 07:01 am (UTC)(link)
Ребе, когда в вашей винде уже изобретут пакетный менеджер?