Поптобовал тут NSIS. Это такой компилятор для генерации виндовых инсталляторов. Хорош в первую очередь тем, что работает не только под виндами, т.е. собрав под Linux-ом программу кросскомпилятором, можно её тут же завернуть в инсталлятор и получить законченный продукт.
Язык для генерации инсталляторов там, конечно, что-то с чем-то. Авторы характеризуют его как "помесь PHP с ассемблером", но мне тамошние flow control конструкции скорее напомнили Fortran IV.
Но для простых случаев инсталляторы пишутся тривиально.
Помимо того что работает на удобной для работы системы, преимуществовм данного инструмента перед InstallShield является то, что получившиеся инсталляторы МАЛЕНЬКИЕ. InstallShield туда запихивает несколько мегабайт своего мусора. А с nsis у меня весь инсталлятор OpenSSL почти-что на дискетку уместился. (на 1.7).
За это, правда, ириходится платить тем, что некоторые тривиальные вещи вроде регистрации деинсталлятора в Add/Remove Programs
и прописывания переменных среды приходится делать на низком уровне, посредством операции WriteRegStr.
Язык для генерации инсталляторов там, конечно, что-то с чем-то. Авторы характеризуют его как "помесь PHP с ассемблером", но мне тамошние flow control конструкции скорее напомнили Fortran IV.
Но для простых случаев инсталляторы пишутся тривиально.
Помимо того что работает на удобной для работы системы, преимуществовм данного инструмента перед InstallShield является то, что получившиеся инсталляторы МАЛЕНЬКИЕ. InstallShield туда запихивает несколько мегабайт своего мусора. А с nsis у меня весь инсталлятор OpenSSL почти-что на дискетку уместился. (на 1.7).
За это, правда, ириходится платить тем, что некоторые тривиальные вещи вроде регистрации деинсталлятора в Add/Remove Programs
и прописывания переменных среды приходится делать на низком уровне, посредством операции WriteRegStr.
no subject
Date: 2008-02-14 10:32 am (UTC)no subject
Date: 2008-02-14 10:48 am (UTC)no subject
Date: 2008-02-14 09:10 pm (UTC)no subject
Date: 2008-02-14 11:43 am (UTC)no subject
Date: 2008-02-14 11:57 am (UTC)Винда - это не та система, где можно инсталляторы делать неподумавши. И чем лучше подумает автор, тем меньше придется думать юзеру. А вместо bat-файлов лучше писать на vbscript или jscript.
no subject
Date: 2008-02-14 09:12 pm (UTC)Ни реестра, ни контрольной панели - простое копирование.
Если под такие задачи делать инсталляторы, то их можно делать простыми.
А если приложения писать без реестра - тоже никому плохо не будет по-моему.
no subject
Date: 2008-02-15 07:30 am (UTC)Наверняка это делается просто. Но неочевидно.
(а почему работа с реестром должна быть сложной? Сам реестр, допустим, сложен, но, если человек юзает реестр, то, наверное, знает, как он устроен. Главное, чтобы автор инсталлера не изобретал своих сущностей вроде языка скриптования для стандартных вещей.)
no subject
Date: 2008-02-15 08:24 am (UTC)no subject
Date: 2008-02-15 08:46 am (UTC)Во-вторых, как показала практика, в 98 винде этой утилиты нет.
В-третьих, я не призывал регистрировать библиотеки через реестр, скорее наоборот, хотел, чтобы для этого часто выполняемого действия был в инсталляторе какой-то специальный пункт. И (если такой пункт есть) чтобы его реально можно было легко найти, а не чесать репу "как я проглядел", когда покажут на него.
no subject
Date: 2008-02-15 09:19 am (UTC)А сколько вообще скриптовых языков ты знаешь? То что язык виндового шелла ты не знаешь, я уже вижу. По многочисленным упоминаниям слова bat и полному отсутствию слова cmd.
InnoSetup?
Date: 2008-02-14 03:09 pm (UTC)Re: InnoSetup?
Date: 2008-02-14 03:22 pm (UTC)Re: InnoSetup?
Date: 2008-02-14 05:40 pm (UTC)Re: InnoSetup?
Date: 2008-02-14 05:53 pm (UTC)Re: InnoSetup?
Date: 2008-02-14 06:03 pm (UTC)Re: InnoSetup?
Date: 2008-02-15 07:12 am (UTC)Плюс внутри для нестандартных действий вместо "помеси PHP с ассемблером" есть диалект паскаля.
no subject
Date: 2008-02-14 04:13 pm (UTC)И потому под виндами я сделал выбор в пользу InnoSetup, который декларативно скриптуется и имеет минимум две GUI-морды к себе, которые позволяют сляпать простой сетап за пять минут. Что обычно и требуется.
Да, вот ещё что...
Date: 2008-02-14 04:26 pm (UTC)