|
|
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Неделю разбирался с инсталляторами NSIS и Inno Setup. NSIS вроде попродвинутей на первый взгляд, но и Inno хорош: прост и легко расширяется, скриптовый язык - почти Delphi. Лично мне нравится больше Inno (проще). Нужно сделать окончательный выбор. Помогите, ОК? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 20:28 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
неделю разбирались с чем? что нужно от дистрибутива (есть ситуации, когда ни один из названных задаче соответствовать не будет)?.... просто упаковать и сжать? вауля рар или зип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 20:42 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Альтнеделю разбирались с чем? Со всем. Всю неделю. :) Альт что нужно от дистрибутива (есть ситуации, когда ни один из названных задаче соответствовать не будет)?.... просто упаковать и сжать? вауля рар или зип Так и было вначале. Потом выяснилось, что в разных WinХХ не все нужные библиотечки есть. Т.е., в зависимости "от", нужно проверять и инсталлить соответствующие недостающие части. Кроме того, выяснилось, что есть масса клиентов с Win98, в которой сервисы не заюзаешь. Пришлось не только программку, но и ее инсталлятор. Короче, в дополнение к self - exe - RAR - архиву вырос солидный exe - шник, все это отслеживающий. В общем, пришел к выводу, что делать это нужно, но нормальными срествами, не размазывая по Delphi-RAR-*.bat-... Вот такие вот пироги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 20:51 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Сомневающийся в...Вот такие вот пироги. Бери NSIS и не парься. Проверен. А что не "идеен", так то пусть M$ пишет жалобы в ООН. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 21:01 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
да это что... вдруг вам понадобится вин.сертификат на по... и придется делать msi, а это еще и не факт, что запустится на клиентах и придется таскать до кучи дистрибутивы инсталляторов инсталляторов ... всякое в жизни бывает... выбирайте любой, к какому душа лежит (зы: Inno мне тоже ближе... да и распаковывается он закрытый тоже хорошо))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 21:02 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Поработал я сегодня с NSIS. Не подумайте плохого, но вот что я вам сейчас скажу: Ненавижу goto! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 20:52 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
А как ч/з NSIS установить для сервиса действия при сбоях? (ну, те, что в sc.exe задаются как: sc failure My_Service reset= 0 actions= restart/1000 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 21:29 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ч/з NSIS управляют сервисами с помощью нескольких плагинов. Ни один из рассмотренных мной плагинов ничего не знает о функции ChangeServiceConfig2, т.е., придется писать API - вызов самостоятельно. Либо ч/з SC.EXE, включив эту программульку (менее 50 кб) в дистрибутив. Посему рекомендую заюзать Inno: там работа с API более "родная" для дельфистов. Никакого скриптового "бейска", норамальный скриптовый Паскаль. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 21:10 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Вставлю свое слово. Мое мнение. Inno Setup. Долой всякие конструкции типа pup, push! Разработчик должен думать о задачах, а не о стеке. Потому как сроки и премии. :) А функционала, котрого не хватает, можно и самому дописать. В Delphi например. Так то вот. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 21:27 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
maloi_alexВставлю свое слово. Мое мнение. Inno Setup. Долой всякие конструкции типа pup, push! Разработчик должен думать о задачах, а не о стеке. Потому как сроки и премии. :) А функционала, котрого не хватает, можно и самому дописать. В Delphi например. Так то вот. ;) 1. pop/push - это жесть. 2. goto - это жесть дважды. Я "морщил моск", разбираясь в метках Inno. Читабельность типа хуже, если сложный скрипт. 3. А какого функционала в Inno не хватает(по сравнению с NSIS), если не секрет? ИМХО, если "сложности" решаются с привлечением скрипта, то пофиг, что юзать. Только что скрипт на паскале поближе к народу, владеющему Delphi. ИМХО. Возникла мысль: реализовать "вкомпиляцию" поставляемых файлов в exe-модуль несложно на самом Delphi, используя загрузку ресурсов. Надо будет покурить это. Как только все дела переделаю, сяду и пойму, что мне нечем заняться. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 00:20 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
grexhide Кстати, ты давай, не увиливай, расскажи-ка про свои терабайты и десятки тысяч пользователей. Сколько у тебя того и другого. Просим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 04:52 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
дело вкуса :) яб выбрал инно ну нравиться он мне и все тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 23:24 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
давно пользуюсь Inno Setup, функциональности вполне хватает ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2008, 23:49 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Паскаль в Inno Setup, это, конечно, гуд, но: - при обращении к API - функциям нельзя создать структуры с указателями. Что довольно часто бывает нужно. Приходится писать внешние плагинчики. Напримеро, свои dll - ки. В обязательном порядке. - например, динамическом при создании списков задач (etc) нельзя воспользоваться встроенными средствами: набор задач (etc) определяется во время компиляции. - при незначительном изменении дистрибутива чаще всего патчики получаются не меньше исходного дистрибутива. ... А так да, просто и удобно. Если что-то не очень сложное - то Inno Setup самое то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2008, 14:53 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
...а еще (IMHO) Inno плохо подходит для "больших" инсталляций. "Больших" - это когда о-о-о-чень много компонентов, вложенных друг в друга ("компонент" в Inno == "секция" в NSIS): ветви дерева компонентов в INNO не сворачиваются. Атас полный получается, а не видок у инсталлятора. ... правда, у NSIS труднее реализовать сложную логику зависимостей компонентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 02:14 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NSIS вата полная уже 10 раз убеждал себя в этом... Inno намного удобнее и меньше багает, пока проверяешь сборку... Разработчики NSIS придумали новый велосипед и на этом велосипеде ещё както умудрились написать примеры, которые как с козла - молока. Справка в НСИС ни о чём =). Справка же в Инно Сетап настолько информативна, что дурак разберётся... Инно рулеЗ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2008, 16:54 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Пользуюсь Inno уже пару лет - рекомендую. Еще могу посоветовать GUI к нему - ISTool. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2008, 17:19 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
К600NSIS вата полная уже 10 раз убеждал себя в этом... Inno намного удобнее и меньше багает, пока проверяешь сборку... Разработчики NSIS придумали новый велосипед и на этом велосипеде ещё както умудрились написать примеры, которые как с козла - молока. Справка в НСИС ни о чём =). Справка же в Инно Сетап настолько информативна, что дурак разберётся... Инно рулеЗ! 1. NSIS ничуть не сложнее INNO. 2. Справка в обоих для дурака рассчитана (проверено на себе. ) 3. Примеров для NSIS столько, что действительно, недолго растеряться. Еще более обширная база примеров есть на сайте разработчика. Зато в этих примерах есть практически все. 4. Из лично замеченных недостатков NSIS могу отметить разве что несколько более сложную систему выбора вложенных компонентов (выражаясь на языке INNO, а на языке NSIS - секциями и их группами) 5. С NSIS идет дикое количество плагинов - и для мат расчетов, и для API, и для более удобной обработки условий. 6. Гуй для NSIS есть, и очень удобные. Это и Eclipse с плагинами, и Notepad++ (с плагином), и много чего еще. IS Tools тоже хорош, но полная лажа по сравнению. Я использую очень удобный инструмент - Venus (бесплатен для личного испоьзования). 7. И Inno, и NSIS просты, бесплатны, оба являются компиляторами инсталляторов из скриптов - сценариев, а еще у Inno скриптовый язык - паскаль, что есть гут. Но паскаль с сильными ограничениями, что не гут, например, при работе с API (иногда). В Inno скрипт можно подгружать извне и интерпретировать по мере надобности, в NSIS все компилится сразу. Зато у NSIS все (ну, почти все) ошибки в скрипте проверяются в момент компиляции. 8. У NSIS масса скинов. И легко добавить свой. Фигня, конечно, но иногда бывает нужно. 9. Инно рулез, ОК. ИМХО, его быстрее освоить. 10. Но для создания инсталлятора в режиме "как пожелает моя левая нога" все же удобнее NSIS. У Inno слишком много ограничений (кроме отмеченного выше, я не нашел ограничений). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2008, 18:10 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManнапример, при работе с API (иногда)не замечал, честно... пока все устраивало... NextManУ Inno слишком много ограниченийнапример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2008, 23:42 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ну пардон... NSIS мне уже 3тий день мозги полоскает. А с Inno проблем пока не было. Если же в Inno без разницы как распологаются секции кода и др. ([Code], [Files], ...), он их просто напросто жуёт и всё верно собирает. ТО! в NSIS грабли на граблях. Во-первых: не знаешь куда засунуть той или иной пример из справки, потом если же каким-то чудом он это прожуёт, то ещё нет вероятности, что это заработает. В пример приведу такое вот шаманство с VersionInfo инсталлятора - сначала просто скопировал и вставил после инсертов диалогов код с инфой, результат - написал что таких функций нет. Ладно едем дальше. Наткнулся на пример как раз с VersionInfo, скопипастил в свой проект и о чудо всё заработало! (хотя все названия функций и параметры точь-в-точь как в примере). Ну это ещё полбеды. Решил навести кое-какую последовательность (вот тут то самое интересное) и получил крякозябры в свойствах ехе файла инсталлятора, во вкладе "Версия". Да и под конец меня додолбало то, что нельзя никак изменить надпись Nullsoft Install System vX.XX. Она либо вообще скрывается, либо 0 реакции на сообщение WM_SETTEXT. А вот насчёт справки никак не соглашусь, что в NSIS она такая же, как у Inno. В справку по NSIS смотришь и тупо смотришь дальше =). Ещё самый улёт когда ты ищешь описание функции, тебе потом показывается офигенно киллометровая страница и вот на ней уже нужно самому искать, листая скроллингом =). А ещё нахрена в справке нужны версии всех релизов со списком исправленных косяков, тупо сделано, иногда ищешь что-то, вылезает весь список этих версий и среди них запрятана золотая строчка, которую изначально искал. Пробовал сделать инсталлятор который бы качал файлы из сети (чисто вот только из-за этого и решил попробовать сделать инсталлятор в NSIS, так то инсталлятор на Inno уже написан), просто не хотелось писать свой плагин для Inno. Ну в общем добрался до плагина NSISdl и приехал =). Сколько я его не мурыжил так он и не качает файлы (resolving host и ещё какая-то ошибка была). Видимо снова нужно с бубном побегать пока не произойдёт чудо и NSIS не соизволит скомпилиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 08:28 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
K600 K> Ещё самый улёт когда ты ищешь описание функции, тебе потом показывается K> офигенно киллометровая страница и вот на ней уже нужно самому искать, K> листая скроллингом =). Чего крутить-листать ? Поиск есть же. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 08:34 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ну поищи к примеру "Branding", затем выбери "Instructions" и ... приходится листать искать )))) а ты говоришь поиск =). Бывает что много выделено на странице и можно шустро прокрутить и найти эту кучку выделенных. Поиск то всё норм работает, просто Нуллсофтовцы туповато справку написали, кучку функций засунули на одну страницу и назвали её "Instructions" ))). В Inno каждая функция описана с примерами, с параметрами и каждый из них описан. п.с. сейчас вставил пример с этой страницы http://nsis.sourceforge.net/Download_Using_Mirrors , так установщик при запуске вообще пишет такое вот: "Дистрибутив повреждён: недопустимый код". В общем хотите инсталлятор с фичами* - используйте NSIS. Хотите простоты и удобства - используйте Inno Setup. *Фича - трудно исправимые баги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 11:32 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
FlyD NextManнапример, при работе с API (иногда)не замечал, честно... пока все устраивало... Пример: для вызова функции API нужно передать структуру, один из элементов которой ссылается на другую структуру. Встроенная версия Паскаля не позволяет такие вольности. Да и вообще нет возможности работать с указателями. Приходится писать dll-ку на Delphi. Не очень, но иногда напряжно. FlyD NextManУ Inno слишком много ограниченийнапример? Уже выше вроде писал: - Нет возможности запуска в silent - режиме без явного указания в командной строке. (уже знаю как обойти, грязным хаком ). Ладно, мелочь - но иногда нужно! - Нет возможности в рантайме определить набор компонентов (определяемый, например, набором вспомогательных файлов). Можно, конечно, строить кастом-странички, но потом непросто скрестить с ними "встроенную" в Inno систему деинсталляции. (Возможно, сложно только для меня). Это мне точно нужно. - Нет возможности компактно отображать болшое дерево зависимых компонентов (для отображения используется вовсе не TreeView, поэтому свернуть/развернуть ветви нельзя). У меня, к примеру, демка включает несколько десятков элементов инсталляции - в Inno выглядела жутко. Кто-то скажет - "финифлюшки". Может быть, но внешний вид тоже немаловажная вещь. Можно обойти, построив "настоящее" дерево самому, но не очень приятно и трудно совместить с деинсталлятором. - Сложно делать апдейт-инсталляции (можно, но много ручной работы). Да, я ленив. - Сложнее кастомизация предопределенных страниц (знаю-знаю, даже есть инструменты, но все "левые", много приходится "напильником" доделывать). Это точно ограничение. - Ну, размер ядра (и прочие мелочи вроде скинов, прозрачных иконок и т.д.) - это не особо интересно.... - Еще что-то по мелочам (но мелочи иногда доволно раздражающие). Язык в NSIS, конечно, не такой красивый, как Pascal, но зато компилится сразу: нет нужды отлавливать трудно доступные ветви в алгоритме инсталляции. (Как-то раз было, что при компиляции дистрибутива на Inno вышло, что ветка для инсталляции под Win98 оказалась вообще написана с синтаксическими ошибками. Компилятор Inno съел, т.к. скриптовая система интепретируемая. Сами виноваты, конечно, но NSIS просто такого не пропускает. Впрочем в интепретируемой системе тоже есть свои плюсы). Кроме того, уже встроенные в "стандартную" поставку NSIS плагины неплохо расширяют язык, так что по гибкости язык оставляет Паскаль позади (но не по привычной Дельфистам наглядности, конечно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 11:45 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
K600Ну пардон... NSIS мне уже 3тий день мозги ... 1. Хи-хи. 2. Такая уж наша боярская доля... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 11:52 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
K600 K> Ещё самый улёт когда ты ищешь описание функции, тебе потом показывается K> офигенно киллометровая страница и вот на ней уже нужно самому искать, K> листая скроллингом =). Ну, е-мое... Юзай Venus (и проч), писал же уже. Там сбоку такой "браузер", в нем все секции/подсекции и функции. Клацнул мышом - и сразу в код попал: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 11:55 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
авторКроме того, уже встроенные в "стандартную" поставку NSIS плагины неплохо расширяют язык, так что по гибкости язык оставляет Паскаль позади (но не по привычной Дельфистам наглядности, конечно). Хоть они и идут в поставке, а толку никакого. Лучше бы написали примеры использования плагинов, которые 100% работают и не так, что их нужно было бы смотреть на сайте. Кстати: я попробовал расширить NSIS - ничего не вышло. И Inno тоже можно расширить плагинами. Вызов функций из dll хорошо описан в справке. Остаётся дело за малым, написать свою библиотеку. (Этим я и займусь скоро, буду писать свой плагин скачивания файлов из сети) - Сложнее кастомизация предопределенных страниц (знаю-знаю, даже есть инструменты, но все "левые", много приходится "напильником" доделывать). Это точно ограничение. Не знаю чего тут сложного, если программер, то всё легко пишется ручками (можно юзать и форм дизайнер, но он не совсем удобный), в принципе как и в NSIS, только в нём сначала нужно диалог очистить от компонентов. Дурдом в общем. В NSIS самое главное ограничение - непонятность что куда пихать и как это использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 12:20 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan помоги мне плиз. Если ты так хорошо разбираешься в NSIS, напиши простенький инсталлятор, который качал бы 2 или 3 файла с сайта (любого). Напишешь мне сюда, ок? Заранее спасибо =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 14:26 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Всё уже не нужно ))) Хотя не.. лучше напиши, вдруг кому-нибудь будет полезно узнать. Нашёл такую штуку ISTool, в ней есть библа которая умеет качать файлы и будет покучнее библы NSISdl. Кстати в Inno есть режим /SILENT и /VERYSILENT. В справке написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 15:07 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
K600... Кстати в Inno есть режим /SILENT и /VERYSILENT. В справке написано. Ключи запуска , а не "режимы". А ты говоришь, что справка понятная. Заставку они не отключают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 19:41 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan... Ключи запуска , а не "режимы". Тьфу ты. Не "ключи запуска", а параметры запуска инсталлятора для командной строки. Так вот, без явного задания этих ключей silent режим не-воз-мо-жен. Так сделано с целью и т.д. (см. выше). Блин, уже третий раз одно и то же повторяю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 19:46 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManТак вот, без явного задания этих ключей silent режим не-воз-мо-жен. Думаю, не один инсталлер не сможет. Разве, что инсталлер изначально не заточен под батч установку ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:11 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
K600...простенький инсталлятор, который качал бы 2 или 3 файла с сайта (любого)... C:\Program Files\NSIS\Docs\NSISdl\ReadMe.txt NSISdl 1.3 - плагин NSIS для HTTP загрузки --------------------------------------------- Копирайт (C) 2001-2002 Ярослав Файбишенко и Жюстин Френкел Данный плагин может быть использован в NSIS для загрузки файлов ч/з http. Для подключения к интернету используйте плагин Dialer. ПРИМЕНЕНИЕ ------------ NSISdl::download http://www.domain.com/file localfile.exe Для задания таймаута (в миллисекундах) можете указать /TIMEOUT: NSISdl::download /TIMEOUT=30000 http://www.domain.com/file localfile.exe Возвращаемое значение будет помещено в стек: "cancel" - если хрень "success" - если ОК В случае ошибки - строка, описывающая ошибку. Если вы не хотите смотреть на прогрессбар в процессе загрузки, используйте NSISdl::download_quiet. Пример: NSISdl::download http://www.domain.com/file localfile.exe Pop $R0 ;Получаем возвращаемое значение StrCmp $R0 "success" +3 MessageBox MB_OK "Фик вам: $R0" Quit Прочие примеры можно найти в директории с примерами, файл waplugin.nsi. ПРОКСИ ------- NSISdl поддерживает только базовые конфигурации прокси. Он не поддерживает прокси, которые требуют аутентификацию, скрипт автоматического конфигурирования и т.д. NSISdl читает конфигурацию прокси из Internet Explorer - ского ключа реестра: HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings. Читается и разбирается информация в ProxyEnable и в ProxyServer. Если вы не хотите, чтобы NSISdl использовал настройки Internet Explorer-ра, используйте флаг /NOIEPROXY. Флаг /NOIEPROXY должен быть после флагов /TRANSLATE и /TIMEOUT. Например: - если вам нужно сконфигурировать прокси самостоятельно, используем флаг /PROXY: NSISdl::download /NOIEPROXY http://www.domain.com/file localfile.exe NSISdl::download /TIMEOUT=30000 /NOIEPROXY http://www.domain.com/file localfile.exe NSISdl::download /PROXY proxy.whatever.com http://www.domain.com/file localfile.exe NSISdl::download /PROXY proxy.whatever.com:8080 http://www.domain.com/file localfile.exe ПЕРЕВОД СООБЩЕНИЙ --------------------- Для перевода сообщений NSISdl в строку вызова добавляем нужные значения: /TRANSLATE2 downloading connecting second minute hour seconds minutes hours progress Значениями по умолчанию являются: downloading - "Downloading %s" connecting - "Connecting ..." second - " (1 second remaining)" minute - " (1 minute remaining)" hour - " (1 hour remaining)" seconds - " (%u seconds remaining)" minutes - " (%u minutes remaining)" hours - " (%u hours remaining)" progress - "%skB (%d%%) of %skB @ %u.%01ukB/s" Старый ключ /TRANSLATE все еще можо юзать, (оставлен для совместимости с предыд. версиями). /TRANSLATE downloading connecting second minute hour plural progress remianing Значениями по умолчанию являются: downloading - "Downloading %s" connecting - "Connecting ..." second - "second" minute - "minute" hour - "hour" plural - "s" progress - "%dkB (%d%%) of %ukB @ %d.%01dkB/s" remaining - " (%d %s%s remaining)" Ключи /TRANSLATE и /TRANSLATE2 должны до флага /TIMEOUT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:13 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev Думаю, не один инсталлер не сможет.... NSIS может: NSIS user manual 4.9.14.16 SetSilent silent | normal Sets the installer to silent mode or normal mode. See SilentInstall for more information about silent installations. Can only be used in .onInit. Т.е. реализуем коллбэк - функцию .onInit так: .onInitFunction .onInit SetSilent silent FunctionEnd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:19 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManNSIS может Соглашусь, но с тем, что тихая установка нужна, как часть другой итерактивной установки. Может быть возможностей не хватает для интеграции нескольких инсталляторов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:26 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev Соглашусь, но с тем, что тихая установка нужна, как часть другой итерактивной установки. Соглашусь, но с тем, что у разработчика должен быть выбор просто при наличии желания... :) Dmitry ArefievМожет быть возможностей не хватает для интеграции нескольких инсталляторов ? Пардон, не понял вопроса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:32 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
K600... ...нельзя никак изменить надпись Nullsoft Install System vX.XX. Она либо вообще скрывается, либо 0 реакции на сообщение WM_SETTEXT. ... NSIS User Manual 4.8.1.6 BrandingText /TRIM(LEFT|RIGHT|CENTER) text Задает значение текста (по умолчанию "Nullsoft Install System vX.XX") , которое показывается в нижней части окна инсталляции. Установка пустого значения ("") возвращает к значению по умолчанию; чтобы убрать сообщение совсем, используем " " (пробел)... ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:49 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev> Соглашусь, но с тем, что тихая установка нужна, как часть другой итерактивной установки. Чего-чего? А что, там так много вариантов? Dmitry Arefiev> Может быть возможностей не хватает для интеграции нескольких инсталляторов ? А вот с этим всегда было (и в общем-то еще долго будет) туго. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 22:51 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan K600... ...нельзя никак изменить надпись Nullsoft Install System vX.XX. Она либо вообще скрывается, либо 0 реакции на сообщение WM_SETTEXT. ... NSIS User Manual 4.8.1.6 BrandingText /TRIM(LEFT|RIGHT|CENTER) text Задает значение текста (по умолчанию "Nullsoft Install System vX.XX") , которое показывается в нижней части окна инсталляции. Установка пустого значения ("") возвращает к значению по умолчанию; чтобы убрать сообщение совсем, используем " " (пробел)... ... да толку то... прбовал уже ... NSIS пишет что нет такой функции и всё, говорю же не понятно что куда писать в этом инсталляторе - грабли на граблях. п.с. мне не нужен копипаст примера использования библиотеки NSISdl (я его находил и пробовал использовать, но при запуске никакой реакции, обычная установка и никакого скачивания), мне нужен рабочий проект инсталлятора, который работал бы. п.с.с скрытый режим редко нужен, если только ты не хакер и не инсталлируешь вирусы))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 09:38 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
К600NSIS пишет что нет такой функции и всё, говорю же не понятно что куда писать в этом инсталляторе - грабли на граблях. Безусловно, если вам что-то не понятно, то это грабли Нсис :) К600п.с.с скрытый режим редко нужен, если только ты не хакер и не инсталлируешь вирусы))) Скрытый режим очень даже удобен для развертывания программного комплекса. Особенно, когда разработка отдельных его частей ведется разными отделами (которые могут находится даже в разных странах). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 18:13 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
К600 да толку то... прбовал уже ... NSIS пишет что нет такой функции и всё, говорю же не понятно что куда писать в этом инсталляторе - грабли на граблях. п.с. мне не нужен копипаст примера использования библиотеки NSISdl (я его находил и пробовал использовать, но при запуске никакой реакции, обычная установка и никакого скачивания), мне нужен рабочий проект инсталлятора, который работал бы. п.с.с скрытый режим редко нужен, если только ты не хакер и не инсталлируешь вирусы))) Ну что ты, в самом деле... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 22:15 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ну вот, инсталлятор, который грузит NSIS последней (от 29 марта) версии. Плюс исходник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 00:30 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Неплохой GUI к NSIS, с исходниками http://hmne.sourceforge.net/ Только что-то давно не обновлялся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2008, 14:28 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
ReNoiZerНеплохой GUI к NSIS, с исходниками http://hmne.sourceforge.net/ Только что-то давно не обновлялся... IMHO, слишком уж старый. Если по каким-то причинам религия запрещает Venus , то Notepad++ . Он отлично работает с NSIS - скриптом (в т.ч. фолдинг, подсветка, автоподстановка и проч.) /* А еще он неплохо понимает и Inno - script */ Очень удобен SciTe (как и упомянутый выше hmne , он позволяет работать с проектами .) А уж как приятно работать с NSIS проектами ч/з PsPad ... (отмечу, что для Inno он подходит ничуть не меньше). Так что выбор есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 02:29 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
П о моему эти оба инсталлятора весьма хороши! Пользуюсь обоими! У них у каждого есть свои плюсы и минусы. Новичкам посоветовал бы начать с NSIS, в inno закопаетесь с тоннами кода для простеньких функций. И зучил Inno токлько потому что там можно полностью изменять вид окна установочника, да м иузыку можно вставлять в mp3. А вот БГраунд картинками чтобы нормально сделать приходется комбинировать BMP и Jpg. Это наверно самая не продуманная часть inno т.к. реализуется через... вообщем вы поняли. Еще этот обязательно мелькающий синий фон окна с картинкой на заднем плане... Но зато есть возможность сделать изменение картинок по времени и прогрессу установки в %! =) Но нельзя как в NSIS вставить ее после извлечения определенного файла или групп не добавив еще пол тонны кода. З .Ы.: Для NSIS есть неплохой форум: http://nsis.narod.ru/forum/ . Там уже расписаны основные функции и приемы в основном применяемые. Мои посты тож есть). Для Inno пользуюсь только поиском по инету... на их форуме можно закопаться с ушами! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 02:55 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManТак что выбор есть. Конечно есть. Far Manager, Internal Editor ;) И на кой хрен там впились специализированные редакторы? Вся прелесть NSIS в том, что это правильный скриптовый тулз, который не способствует разжижению мозга в неравной борьбе с оконцами (вроде Install Shield... Express). А ещё есть vi. Он хоть и имеет всего два режима (бибикает и все портит), но всяк забавный зверек, если копнуть чуть поглубже. Вроде альтернативных впечатлений (ну там, секса с тремя таиланками, прыжки банги и т.д.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 21:18 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Заранее извиняюсь если кого-то обижу, но тут много раз повторяли - то одно NSIS не может, то другое, то у них что-то не получается и в итоге Inno рулит. Года три сижу на NSIS и с полной уверенностью, подтверждённой практикой, могу сказать что он умеет абсолютно всё и является лучшим из всех существующих инсталляторов. Вывод о кривизне своих ручек каждый делает сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 16:31 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Проходил мимо и ляпнул... Года три сижу на NSIS и с полной уверенностью, подтверждённой практикой, могу сказать что он умеет абсолютно всё Да. Мое самое последнее ИМХО: используем NSIS. Проходил мимо и ляпнул...и является лучшим из всех существующих инсталляторов... Ну, все существующие инсталляторы мы не видели... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 20:04 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan Так вот, без явного задания этих ключей silent режим не-воз-мо-жен. Dmitry ArefievДумаю, не один инсталлер не сможет. Возможен!, в инно silent режим можно сделать без ключей. Проходил мимо и ляпнулГода три сижу на NSIS и с полной уверенностью, подтверждённой практикой, могу сказать что он умеет абсолютно всё Он много не умеет того что умеет инно. Как по мне НСИС хорош тем что у него маленький инсталляционный модуль и возможность вешать на деинсталлятор иконку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2008, 02:23 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Говорят, самый модний инсталятор, это когда запускаеш прогу, а она сама рищыт поставлено ли все для нее, а чего нет то сама доставляет, таким образом можно полностью отказаться от инсталяторов, я так поступил и покамись не жалею) -- мой скромный сайт http://mmm.ho.com.ua ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2008, 02:27 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
MMM_CorpГоворят, самый модний инсталятор, это когда запускаеш прогу, а она сама рищыт поставлено ли все для нее, а чего нет то сама доставляет, таким образом можно полностью отказаться от инсталяторов, я так поступил и покамись не жалею) И откуда она берёт файлы которые "сама доставляет"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2008, 12:55 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Avtech MMM_CorpГоворят, самый модний инсталятор, это когда запускаеш прогу, а она сама рищыт поставлено ли все для нее, а чего нет то сама доставляет, таким образом можно полностью отказаться от инсталяторов, я так поступил и покамись не жалею) И откуда она берёт файлы которые "сама доставляет"? Как не крути, а минимум что надо, это скопировать и запустить инсталятор, тогда какая разница? Что копировать и запускать странный инсталятор или прогу, которая проверит все компоненты, а потом чего не будет хватать доставит, конечно файлы с ничего не висосет, ну а кто сказал что нельзя их тоже таскать гдето рядом с прогой?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2008, 14:25 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
а удалять ее потом как? а виста коли ее как инсталлятор не распознает, и позасовывает файлы не туда куда ты хотел, а в виртуальные папки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2008, 15:37 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
chpashaа удалять ее потом как? а виста коли ее как инсталлятор не распознает, и позасовывает файлы не туда куда ты хотел, а в виртуальные папки? В инете полно примеров как удалять самого себя, про виртуальные папки впервые слишу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2008, 11:53 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Да, давайте каждый придумает себе программу, которая будет выглядеть как инсталлятор, выполнять все функции инсталлятора, но называть ее инсталлятором ни-ни :) Простые программы, имхо, вполне можно делать и без инсталлятора. При первом запуске такая программа выполняет инициализацию, возможно запрашивает у пользователя какие-то данные, необходимые для работы. При вызове определенной команды (из меню или командной строки) программа удаляет себя с машины пользователя. Но включать в основной код кучу объемных функций, которые будут выполняться 2 раза в жизни программы, имхо, непрофессионально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2008, 14:02 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
MMM_Corp chpashaа удалять ее потом как? а виста коли ее как инсталлятор не распознает, и позасовывает файлы не туда куда ты хотел, а в виртуальные папки? В инете полно примеров как удалять самого себя как пользователь будет твою программу удалять? рыскать в program files? или ты в ней самой реализуешь механизм прописывания в реестре и занесения себя родимой в список uninstall? (и какой в этом тогда смысл, продублировать то, что делают инсталляторы? легче самому код накатать чем разобраться с существующим?) MMM_Corp про виртуальные папки впервые слишу... я вот почему-то так сразу и подумал. ну почитай, что такое виртуализация в Виста и куда попадут твои файлы (которые как ты думаешь будут писаться в Program Files) из-за того, что виста научена узнавать строго ограниченное число инсталляторов, и твоя программа в этот список не входит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2008, 15:25 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Avtech... Он много не умеет того что умеет инно. Примерчик будет? Avtech...Как по мне НСИС хорош тем что у него маленький инсталляционный модуль и возможность вешать на деинсталлятор иконку. Дас ист фантастиш... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2008, 20:25 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan К примеру изменение размеров и положение формы в любой угол экрана когда идёт показ слайд-шоу или видеоролика, для этого нужно использовать плагины (если они есть) или же править ресурсы, а также создание CustomForm. Может я и ошибаюсь но этого нигде не нашёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2008, 21:21 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Avtech К примеру изменение размеров и положение формы в любой угол экрана когда идёт показ слайд-шоу или видеоролика, для этого нужно использовать плагины (если они есть) или же править ресурсы, а также создание CustomForm. Может я и ошибаюсь но этого нигде не нашёл. 1. Есть встроенная функция SendMessage (зачем плагины или править ресурсы). 2. Ну вот люди делали свои диалоги. А вам то чего не хватало в стандартных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 01:24 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
sqllex 2. Ну вот люди делали свои диалоги. А вам то чего не хватало в стандартных? Эти диалоги в инно встроены, я имел ввиду формы которые можно по-своему строить и обрабатывать разные события через код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 02:42 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
AvtechЭти диалоги в инно встроены Вообще то они берутся из самодельной DLL. Avtechя имел ввиду формы которые можно по-своему строить и обрабатывать разные события через код. Например, для чего? Если так необходима необычная и мощная функциональность, делайте DLL и используйте все, что в нее напихали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 09:01 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
sqllex Например, для чего? Если так необходима необычная и мощная функциональность, делайте DLL и используйте все, что в нее напихали. Я не проверял но эта DLL использует системные диалоги, в инно они есть и без DLL. sqllex Если так необходима необычная и мощная функциональность, делайте DLL и используйте все, что в нее напихали. Наверно проще форму в скрипте написать чем сделать DLL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 15:11 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
спорят... такие... а ведь они одинаковые ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 15:34 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
AvtechНаверно проще форму в скрипте написать чем сделать DLL. Слив засчитан. Начинали с невозможности, закончили удобством. А примера так и не привели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 16:55 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
sqllexНачинали с невозможности, закончили удобством. А примера так и не привели.Тоесть чтобы удовлетворить все возможности в нсис то нужно подключить кучу библиотек, количество и размер которых вполне может превысить саму устанавливаемую программу. А вы не задумывались почему для нсис существует так много библиотек? Меня когда-то заинтересовал инсталятор Light Alloy где на странице выбора установки было несколько чекбоксов для создания ярлыков, а именно заинтересовала возможность создания контролов на стандартных страницах штатными средствами, но когда скачал скрипт Light Alloy то слегка огорчился тем что этого нельзя сделать не вмешиваясь в ресурсы программы. По поводу примеров смотрите в пакпе Examples в каталоге инно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 18:45 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Avtech...Тоесть чтобы удовлетворить все возможности в нсис то нужно подключить кучу библиотек Dll можно использовать. В большинстве случаев достаточно использоватль встроенный язык. В т.ч. и в описанных вами случаях. В Inno же встроенного Pascal недостаточно из-за его ограничений. Примеры - читаем тему с начала. Avtech...количество и размер которых вполне может превысить саму устанавливаемую программу. а) Привидите пример. б) Ну и что, даже если это так? в) Размер дистрибутива меня мало волнует г) Вроде бы у NSIS размер дистрибутива обычно меньше? :) Avtech...А вы не задумывались почему для нсис существует так много библиотек? Популярность. Avtech...По поводу примеров смотрите в пакпе Examples в каталоге инно. Пустые слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 21:40 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Inno Setup рулит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 22:23 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
По поводу custom forms не знаю, как можно было не найти. NSIS Users maual, 1.3 Features list. А уже идущие в поставке, "неотъемлимые" палагины? 2.6 Plug-insThe NSIS distribution already included many plug-ins. InstallOptions is a popular plug-in that allows you to create custom pages , in combination with the NSIS Page commands (See Pages). А макросы Modern UI? ... А еще - дизайнеры форм, например: Startup GUI Generated Sample Code Embedded StringList-Editor Runtime-Mode Preferences-Dialog ... Это отсюда. ... По поводу перемещения окна инсталлятора. ... Avtech...<пурга>... Гонишь по всем пунктам, короче. Ничего ты не искал и help не читал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2008, 22:23 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManВ Inno же встроенного Pascal недостаточно из-за его ограничений. Примеры - читаем тему с начала. Например? По поводу API (с этим у меня пока слабовато) я не думаю что проблема в инно. По поводу скинов то они в инно тоже есть: 1) Поддерживается NSIS_SkinCrafter_Plugin.dll но в нём много багов так как не расчитан для инно. 2) Поддерживается http://isskin.codejock.com/ в нём используются как стандартные темы (.cjstyles) так и темы оформления винды (.msstyles). 3) Corona Skin]http://victor-dobrov.narod.ru/InnoSetup_CoronaSkin_and_SystemTest.7z от Виктора Доброва , в нём помимо скина реализовано много интересных идей. 4) Через секцию [Code] можно самому скины рисовать. NextManПопулярность.Скорей для того чтобы не исчезла эта "Популярность". NextManПо поводу custom forms не знаю, как можно было не найти. Я знаю про дизайнеры форм с помощью которых содаются CustomPage, я говорил про формы а не страницы. NextManГонишь по всем пунктам, короче. Ничего ты не искал и help не читал. Пустые слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2008, 00:36 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
а можно делать инсталлер чтоб на несколько дисков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 19:17 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
В NSIS вроде бы ограничение на объем инсталлера == 2Гб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2008, 15:52 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Хехе, я в NSIS баг нашел. Переменная $DOCUMENTS под Вистой возвращает пустое значение когда папка с документами перемещена в корневой каталог на отдельный раздел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2008, 17:25 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Sh1td0wnа можно делать инсталлер чтоб на несколько дисков? NSIS не умеет, Inno - умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2008, 23:05 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan Sh1td0wnа можно делать инсталлер чтоб на несколько дисков? NSIS не умеет, Inno - умеет. В NSIS для этого есть CABSetup plug-in. И это правильно, имхо. В наше время редко нужен этот функционал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2008, 01:01 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Народ, кто - нибудь знает, как рантайме менять/запрещать опцию запуска приложения на финишной стричке (MUI2)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2008, 02:01 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ага, для того, чтобы изменить параметры запуска, нужно в качестве параметров соотв. макросов (MUI_FINISHPAGE_RUN/MUI_FINISHPAGE_RUN_TEXT) использовать не константы, а переменные. Ну и определить перед страничкой функцию FinishPageShow: !define MUI_PAGE_CUSTOMFUNCTION_SHOW FinishPageShow в которой менять значением переменных. А вот как дизейблить запуск? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2008, 02:05 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
А вот как дизейблить запуск? Вот чё нарыл: в той же функции настройки странички меняем чек-бокс на "анчекед", и вообще дизейблим чекбокс. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. Прикольно, теперь к контралам можно по-людски, по именам переменных обращаться... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2008, 02:12 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Народ, а кто как строит деинсталлятор? Ну, предствьте себе, что долбаные юзеры первый раз запустили инсталлятор, инсталлировали два компонента (секции) из шести, потом снова запустили, и инсталлировали еще два других, но установили в другую папку установки, потом запустили еще раз полную инсталляцию, но в ту же папку, куда была выполнена первая инсталляция... Потом несколько раз инсталлировали патчики, которые подменяли нужные файлы и т.п.... Ну, а потом запустили деинсталлятор. Который должен весь этот бред вычистить, кроме элементов, помеченных как "не деинсталлировать никогда"... Как делаем? ... ... Ну, вот я за основу взял http://nsis.sourceforge.net/Talk:Uninstall_only_installed_files - но такая мутотень вышла, атас полный: Типа, при первой инсталляции в реестре фиксируется место, куда пишем денсталляционный лог, а потом его только дополняем. Но не так, как в ссылке (там просто дописываем), а типа .INI - файла, в котором добавляются несуществующие ключи и модифицируются их значения (напр., признак "не деинсталлировать" и т.п.). Потом деинсталлер парсит этот .ini, и выполняет деинст - операции... Муторно, но работает вроде бы... Ну вот, лог - файл получается в худшем случае двадцать - тридцать килобайт весом (т.е. небольшой), в связи с чем подумал: а не хранить ли все деинсталляционные логи просто в ветке реестра? Народ, поделитесь соображениями/опытом, пжалста... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2008, 21:37 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Пардон, правильная ссылка вот: http://nsis.sourceforge.net/Uninstall_only_installed_files ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2008, 21:38 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan Ну вот, лог - файл получается в худшем случае двадцать - тридцать килобайт весом (т.е. небольшой), в связи с чем подумал: а не хранить ли все деинсталляционные логи просто в ветке реестра? Вот чего бы не делал, так именно этого. Пусть лог хранится там, куда инсталится ПО. Его оттуда замечательно можно достать и процедура установки обновление|новая очень понятна и прозрачна. Директория установки является естественным разделителем ветки в алгоритме установки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2008, 01:28 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
sqllex NextMan Ну вот, лог - файл получается в худшем случае двадцать - тридцать килобайт весом (т.е. небольшой), в связи с чем подумал: а не хранить ли все деинсталляционные логи просто в ветке реестра? Вот чего бы не делал, так именно этого. Пусть лог хранится там, куда инсталится ПО. Его оттуда замечательно можно достать и процедура установки обновление|новая очень понятна и прозрачна. Директория установки является естественным разделителем ветки в алгоритме установки. Ну, так все и есть сейчас. ... А почему - "не делал бы"? Реестр Windows есть священная корова? Или другие соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2008, 02:11 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan А почему - "не делал бы"? Реестр Windows есть священная корова? Или другие соображения? В реестр лазят другие прграммы, которые могут его "удачно" почистить. Плюс восстановление системы. Через "ини" (как отдельный файл) проще отладка и последующее сопровождение. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2008, 13:11 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Блин, незадачка... :( Некоторые файлы содержат по два идущих подряд символа $: 'File$$.EXP' Команда NSIS "File" позволяет использоваать такие имена, а при попытке записать их в ini - файл два $$ схлопываются в один, в соотв. с правилами представления строк. Т.е., к примеру: Код: plaintext 1. 2. 3. Рррр! & ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 01:18 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
sqllex NextMan А почему - "не делал бы"? Реестр Windows есть священная корова? Или другие соображения? В реестр лазят другие прграммы, которые могут его "удачно" почистить. Плюс восстановление системы. Через "ини" (как отдельный файл) проще отладка и последующее сопровождение. ИМХО. Это-то да... Но вот сегодня размер секции превысил допустимый размер буфер для фукнции GetPrivateProfileSection (32767 байт)... И песец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 15:46 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan Это-то да... Но вот сегодня размер секции превысил допустимый размер буфер для фукнции GetPrivateProfileSection (32767 байт)... И песец. Ну так GetPrivateProfileSection - 16-битная WinAPI функция. А чего же ты умыдрился напихать туда, что в 32к не поместилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 18:52 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Список файлов для последующей денсталляции... Причем, если в WinNT писать ini файлы можно любого размера (читать, естественно, "ручками" - см. выше), то в Win9x больше 64к файлики и не создаются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 21:00 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManСписок файлов для последующей денсталляции... Полные пути? Заменить на относительные. Маски нельзя использовать? А какое кол-во файлов в одной секции и что собой представляет название секции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2008, 10:21 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
1. sqllex NextManСписок файлов для последующей денсталляции... Полные пути? Заменить на относительные. Маски нельзя использовать? Полумеры. 2. sqllex А какое кол-во файлов в одной секции и что собой представляет название секции? Разное количество, большое или маленькое, в зависимости от пожеланий заказчика. Название секции - слово. "Files", "ComServers", "Directories" и т.д. 3. Переделано на использование реестра. Полет нормальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2008, 19:04 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NSIS говно, высранное каким-то недоноском, помешанном на ссах и ссах с крестами. это чмо ниасилило нормальный скриптовый язык? за один стековый язык этот котях должен быть выброшен в биореактор. это поделие под висту может инсталяты нормальные делать, а? InnoSetup может, а эта хуета нет. Так что тут нечего и думать, однозначно Inno лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2008, 22:36 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Глупыш, все там есть - и структурный язык (правда, в виде расширения - см. Logiclib), и поддержка Vista. В обоих присутствует наличие отсутствия легко настраивать интерфейс пользователя "на лету", но в MUI2 и это стало простым делом. Ну, еще Inno попроще дельфятнику освоить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2008, 22:56 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Советовать категорично что-то тут не получится. У каждого свой взгляд на удобство инсталлера. Дельфятнику Inno точно лучше. Особенно хорош для дистрибутивов своих компонентов, когда нужно на лету инсталлить их, предварительно собрав пакеты. Также, как ни странно, Inno лично мне неплохо подошел и для C#-проектов. Наличие готовых скриптов, например, закачивающих Framework из Интернет, а также готовых проектов для дистрибуции компонентов - несомненный плюс Inno. А так - на вкус на цвет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2008, 23:09 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
nelson mandellaОсобенно хорош для дистрибутивов своих компонентов, когда нужно на лету инсталлить их, предварительно собрав пакеты. Также, как ни странно, Inno лично мне неплохо подошел и для C#-проектов. Наличие готовых скриптов, например, закачивающих Framework из Интернет, а также готовых проектов для дистрибуции компонентов Т.е. эти 2 действия у тебя не получилось сделать с помощью NSIS? А в чем проблемы то были? Detect and download the .NET framework Installing the Microsoft .NET Framework How to Automatically download and install a particular version of .NET if it is not already installed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 11:51 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Народ, кто-нибудь знает, как внутри секции определить, что это за секция? :) Задача в том, что есть некоторый универсальный макрос, который делает разные вещи в зависимости от того, в какой секции он находится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2008, 14:09 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
...пошлым образом завел переменную, которую инициализирую в начале каждой секции ее индексом... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2008, 03:31 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Сегодня сын из пачки с "несквиком" достал компакт-диск с игрой. Ну, приз, типа. Так вот, там прикольный инсталлятор: небольшой Setup.exe и .jar - архив на 500 мегабайт. Первый создает "на лету" jre, и раскручивает второй. А во втором - что хочешь, с любой логикой (ява, типа)... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2008, 19:52 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManНарод, кто-нибудь знает, как внутри секции определить, что это за секция? :) Задача в том, что есть некоторый универсальный макрос, который делает разные вещи в зависимости от того, в какой секции он находится. Параметр section_index_output ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2008, 11:43 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
sqllexNextManНарод, кто-нибудь знает, как внутри секции определить, что это за секция? :) Задача в том, что есть некоторый универсальный макрос, который делает разные вещи в зависимости от того, в какой секции он находится. Параметр section_index_output ? Хм. "А я что спросил?" -(c) Код: plaintext 1. 2. 3. Т.е., например, для такого объявления: Код: plaintext 1. 2. 3. 4. !define var_index 0 Для другой секции придется использовать другое имя для section_index_output, иначе получим отлуп в виде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Вот так вот. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2008, 16:38 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan Т.е., например, для такого объявления: Код: plaintext 1. 2. 3. 4. Может быть я чего-то не понимаю, но Код: plaintext 1. 2. Если нужна функция, в которой нужно обработать значение по имени var_index , то ее тело должно быть ниже по тексту скрипта. Либо передавай значение var_index в функцию перед вызовом через стек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2008, 17:57 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
sqllex Либо передавай значение var_index в функцию перед вызовом через стек. Ну привет... Весь вопрос и состоит в том, чтобы узнать, чему равен индекс. Если я буду знать, что передать, то мне и функция не нужна. Смотри: Определяем макрос без параметров : Код: plaintext 1. 2. 3. 4. 5. Далее, берем ЛЮБУЮ секцию, вставляем в нее этот макрос: Код: plaintext 1. 2. 3. 4. 5. Задача состоит в том, чтобы макрос напечатал либо имя секции "Любая секция", либо значение ее индекса sect_index. Андырстэнд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2008, 22:14 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
А из хелпа пример не пойдет? Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2008, 23:50 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
GoodMind, господи боже, ну откуда же я узнаю значение индекса, чтобы получить имя? Ну как бы так еще сказать... Короче - нужен аналог "this" контекста текущей секции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2008, 23:58 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ну так используй глобальную переменную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2008, 00:07 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ну так и использую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2008, 00:34 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
GoodMindНу так используй глобальную переменную Индекс секции - это и так глобальная переменная. NextMan, а можно привести текст макроса. Я, хоть убей, не могу понять, что же тебе нужно. В каком контексте ты используешь индекс секции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2008, 00:38 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ребята, вы здесь все специалисты. Быть может подскажете в чем может быть проблема с NSIS. Конкретно интересует конструкция: !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP Из хелпа: For the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu folder: !insertmacro MUI_STARTMENU_GETFOLDER page_id $R0 Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk" Проблема в том, что MUI_STARTMENU_GETFOLDER не присваивает $ICONS_GROUP изменного значения STARTMENU. От сеюя хочется добавить, что весьма сложно разбраться с NSIS. Даже нет толкового описания синтаксиса. Приходится каждую буковку выковыривать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2009, 17:35 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextMan интересные вещи говорил, полезно почитать его посты. А насчет проблемы с !insertmacro MUI_STARTMENU_GETFOLDER пришлось сырцы глянуть. Оказывается в !insertmacro MUI_PAGE_STARTMENU Application $Переменная_измененной_группы нужно не только устанавливать MUI_STARTMENUPAGE_REGISTRY_ROOT MUI_STARTMENUPAGE_REGISTRY_KEY MUI_STARTMENUPAGE_REGISTRY_VALUENAME для сохранения в реестре изменнной STARTMENU группы($Переменная_измененной_группы), но также еще и дополнительно прописывать ID к чему это все хозяйство относится: !insertmacro MUI_STARTMENU_WRITE_BEGIN Application !insertmacro MUI_STARTMENU_WRITE_END и лишь затем получать группу (например в Unstaller): !insertmacro MUI_STARTMENU_GETFOLDER Application $Переменная_измененной_группы Примеры NSIS слабенькие, многие просто не доведены до конца: тот же StartMenu (NSIS\Examples\StartMenu\) - группу создают, но не удаляют. В чем и есть весь прикол, т.к. тема MUI_STARTMENU_GETFOLDER мягко обойдена вниманием - типа е..тесь как хотите сами ;) Вопросов масса. Например, как в background window (BGFont, BGGradient) сделать разбиение текста на две и более строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2009, 21:13 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Бобик2... Примеры NSIS слабенькие, многие просто не доведены до конца: тот же StartMenu (NSIS\Examples\StartMenu\) - группу создают, но не удаляют. ... Удаляем обычными операциями с файлами/директориями. ... Имхо, в примерах мало внимания уделено процессу деинсталляции. В Инно это как бы все "само собой", а здесь - ты должен понимать, что делаешь. И, соответственно, проектировать инсталляцию с учетом будущей деинсталляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:48 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 17:39 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Пипец...вот написал так написал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 10:17 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NextManНарод, кто-нибудь знает, как внутри секции определить, что это за секция? :) Задача в том, что есть некоторый универсальный макрос, который делает разные вещи в зависимости от того, в какой секции он находится. ${__SECTION__} ${__SECTION__}Defined as the section name, without any prefixes, in section scope. Аналогично: ${__FUNCTION__}Defined as the function name, without any prefixes, in function scope. ${__PAGEEX__}Defined as the page type in PageEx scope. ${__UNINSTALL__}Defined in section, function or PageEx scopes of the uninstaller. Источник: NSIS user manual, chapter 5.2 "Predefines". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2010, 14:56 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Может быть, кому понадобится. Если нужна условная компиляция в зависимости от разных внешних условий (наличе/отсутствие файла, например), то используем директиву !system. Вещь очевидная, описана в примерах, но я не знал :(. Пример. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2010, 15:04 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Под Windows 8 появилась проблемка: инсталлятор, приготовленный с помощью NSIS, инсталлирует ХЗ как. Если перед запуском указать файлу инсталлятора режим совместимости Windows 7 - то все ОК. Версия NSIS - 2.46 (последний доступный релиз). Как бы и что поправить? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 22:14 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччДАга, третью версию недавно выпустили: авторAdded support for Windows 8 and Windows Server 2012 Гут. Нихт гут, зер шлехт. :( "Тройка" - пока первая падучая "альфа". А 2.хх, похоже, заморозили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 23:35 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччДВсем привет. Под Windows 8 появилась проблемка: инсталлятор, приготовленный с помощью NSIS, инсталлирует ХЗ как. Если перед запуском указать файлу инсталлятора режим совместимости Windows 7 - то все ОК. Версия NSIS - 2.46 (последний доступный релиз). Как бы и что поправить? Спасибо. Вот тут один дяденька пишет, что в манифест приложения генерируемого инсталлятора нужно добавить запись о совместимости с Windows 8: Код: xml 1. только делает это он через анус с помощью утилиты mt.exe из состава MS Visual Studio. Проверил: работает, но требует установленного дотнета соответствующей версии. Блин. Оставлю этот вариант "на сладкое", если ничего не придумаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 23:40 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Ёпть, ну я и идиот. NSIS же опен-соурсе. Вкомпиляй в ресурсы какие хочешь манифесты, на здоровье! ~~~~~~ ЛЮ-У-У-У-ДИ! Кто-нибудь самостоятельно, из исходников собирал NSIS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 23:43 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччДЁпть, ну я и идиот. NSIS же опен-соурсе. Вкомпиляй в ресурсы какие хочешь манифесты, на здоровье! ~~~~~~ ЛЮ-У-У-У-ДИ! Кто-нибудь самостоятельно, из исходников собирал NSIS? Так, продолжаем тормозить... В SVN лежат исходники, в которых все сделано: http://nsis.svn.sourceforge.net/viewvc/nsis/NSIS/trunk/ Осталось найти способ все это "щасте" откомпилять или найти откомпиленную версию. Последний найтбилд делался сто лет назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 00:07 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
БлѢ ... Building NSIS хоть с сипипишникам на поклон иди... Нужно поставить: - python версии 2.* (не ниже 2.4). - SCons - версии не ниже 1.2.0. - zlib - dt - wxWidgets Потом откомпилять все это с помощью C++ из состава VS 2005 Express Editions. Питон: Качаем версию 2.7 , ставим. SCons: http://www.scons.org/ Качаем версию 2.3.0, ставим. Не ставится. Не видит место, где инсталлировался питон. Выбор руками задизейблен...блин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 00:21 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Нсис умер, инно живет и местами процветает. Я им пользуюсь и все рады. Особенно корпоративнве клиенты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 00:23 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччДБлѢ ... Building NSIS хоть с сипипишникам на поклон иди... Нужно поставить: - python версии 2.* (не ниже 2.4). - SCons - версии не ниже 1.2.0. - zlib - wxWidgets Потом откомпилять все это с помощью C++ из состава VS 2005 Express Editions. Питон: Качаем версию 2.7 , ставим. SCons: http://www.scons.org/ Качаем версию 2.3.0, ставим. Не ставится. Не видит место, где инсталлировался питон. Выбор руками задизейблен...блин. Угу. Нефиг умничать: не работало из-за того, что питон был установлен 64 - разрядный. Снес, поставил 32-разрядный, SCons установился. Качаем zlib: http://zlib.net/ Выбираем zlib128-dll.zip, качаем, распаковываем. создаем системную переменную ZLIB_W32, в которую прописываем путь к распакованной библиотеке zlib. Качаем wxWidgets: http://www.wxwidgets.org/ - берем версию 2.8.4 (есть поновее, но как бы не вышло типа наподобие как с питоном). Инсталлируем. Создаем системную переменную WXWIN, в которую прописываем путь в директорию инсталляции. Теперь надо весь этот хлам откомпилять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 00:42 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
wadmanНсис умер... С чего бы это? 20 мая третья версия вышла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 00:43 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччД20 мая третья версия вышла. Естественное газообразование не есть развитие. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 00:45 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччД... Теперь надо весь этот хлам откомпилять. Качаем, ставим Visual C++ 2005 Express Edition. В конце инсталляции (под Win 7 x64 Pro) появляется окошко о "неправильной" инсталляци... лезем в инет за спавкой...угу, несовместимы. Хотя некоторые товарищи утверждают, что если снять суровые правила доступа к папке инсталляции студии, все работает. Что и делаем. Тестовое С++ приложение строится без проблем. Продолжаем. Run->Cmd: ...идем в папку исходников trunk, компилируем меню для NSIS: cd D:\bNSIS\trunk\Contrib\NSIS Menu\wx wxbuild.bat ... ...фиквам: не найден файл windows.h. Точно, не найден. Нет его. Фига себе Visual C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 01:00 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччД... ...фиквам: не найден файл windows.h. Точно, не найден. Нет его. Фига себе Visual C++. Ну да, все правильно: в MS VS экспресс эдишн не входит Platform SDK. Что-то меня это достало. Попробую поставить пиратку триалку MS VS 2005 90-дневню, в которой все в одном флаконе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 01:04 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччД...Попробую поставить пиратку триалку MS VS 2005 90-дневню, в которой все в одном флаконе. Ой-ей... версия, которая trunk, и есть та самая глючная альфа. :( Пожалуй, проще скачать исходники текущей 2.46 http://nsis.svn.sourceforge.net/viewvc/nsis/NSIS/tags/v246/?view=tar - и подправить в них файл, генерирующий манифест инсталлятора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 03:03 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччД...скачать исходники текущей 2.46 http://nsis.svn.sourceforge.net/viewvc/nsis/NSIS/tags/v246/?view=tar - и подправить в них файл, генерирующий манифест инсталлятора. Файл manifest.cpp, исправляем строчку №60, теперь она будет выглядеть так: Код: plaintext 1. Т.е., добавлен GUID - идентификатор для Win 8: {4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} ... Попью кофе. Не может быть, чтобы махровому дельфятнику какая-то фигня на сипипи не далась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 03:20 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
... Зараза. Scans слишком новой версии. Ставлю 1.2.0. Зараза. Scans версии 1.2.0 без прав администратора не ставится. Даю права. Ставится. Зараза. HTML Help Workshop в Win 7 недоступен. chm файлы не генерятся. Ставлю насильно: http://ru.originaldll.com/file/hhc.exe/19713.html ... Зараза. Еще пришлось руками прописать в path пути к питоновским бинарникам и к его же папке Scripts. ... Ура, типа. У меня теперь есть NSIS, генерирующий инсталляторы, совместимый с MS Win 98.. MS Win 8. В очередь, сукины дети. Завтра потестирую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 03:27 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччД, вот я нагуглил что-то, кажется этим способом нужно только mt.exe (и NSIS) http://www.level533.com/2012/12/add-windows-8-manifest-to-nsis-installer/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 13:55 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
s62чччД, вот я нагуглил что-то, кажется этим способом нужно только mt.exe (и NSIS) http://www.level533.com/2012/12/add-windows-8-manifest-to-nsis-installer/ Я чуть выше писал об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 14:53 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччДs62чччД, вот я нагуглил что-то, кажется этим способом нужно только mt.exe (и NSIS) http://www.level533.com/2012/12/add-windows-8-manifest-to-nsis-installer/ Я чуть выше писал об этом. 14468415 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 15:03 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
s62, Нам чччД рассказывает про подводные камни и лоцию рисует. А ты, не читая, им опробованную хрень предлагаешь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 19:56 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Gators62, Нам чччД рассказывает про подводные камни и лоцию рисует. А ты, не читая, им опробованную хрень предлагаешь!Ошибаешься, как раз не опробованную: чччДБлин. Оставлю этот вариант "на сладкое", если ничего не придумаю. Ты сам-то всё прочитал? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 23:12 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Хотя нет, все-таки опробованную: чччДПроверил: работает, но требует установленного дотнета соответствующей версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 23:15 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
s62, мне не надь. Но будь уверен. Со вчерашнего вечера. И не увидел смысла расшифровки раскрытия ТУТ из 14468415 . Чужие мысли воруешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 23:20 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Gator, я написал чччД и он отреагировал спокойно. А тебя что-то клинит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 23:23 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
s62Gator, я написал чччД и он отреагировал спокойно. А тебя что-то клинит. Дык я в отпуске, а у них он впереди. И продолжительность разная :) Впрочем, может быть ты тот самый "дяденька" из тут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 23:29 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
В отпуске это хорошо.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2013, 23:30 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
По поводу плагинов. Тут ранее писали, что либо пользуемся встроенными средствами ("командами") NSIS, либо используем расширения - "плагины". В основном время тратится именно на то, чтобы найти подходящий плагин, разобраться, как он работает и заточить под свои нужды. Но часто написать нужный плагин гораздо проще, чем найти готовый (и разобраться с ним). Обращаться к плагину следует так: Имя_Dll:Имя_Метода [необязательные параметры] Сейчас расскажу, как это делается. Плагин - это dll, особым образом написанная. Вообщем, можно использовать не только самописные, но и "системные" - user32.dll, например. Но именно "плагины" использовать проще всего. Плагин включается в тело дистрибутива при компиляции последнего, просто по факту обращения к плагину. Компилятор NSIS ищет плагины в своей директории Plugins, дочерней по отношению к директории, откуда был запущенк компилятор NSIS. Для того, чтобы указать дополнительную директорию поиска, нужно использовать команду времени компиляции !addplugindir: !addplugindir ..\myplugin MyPlugin::SomeFunction Так как есть обращение к плагину MyPlugin, он будет включен в дистрибутив. Обращение к плагину возможно только в рантайме, следовательно, код вызова MyPlugin::SomeFunction допустим только в секциях . Ну и во всяких там функциях, которые вызываются из секций. ... В плагин можно передавать параметры. Кроме того, параметры можно занести в переменные NSIS ($0, $1, ...) и считать их в плагине. Плагин, естественно, может установить значения переменных NSIS и таким образом вернуть результат. Доступны и так всеми "любимые" стековые операции. В плагин можно передать функции NSIS. Я про те, которые: Function func ;... бла-бла FunctionEnd Много чего можно. Сейчас набросаю крошечный NSIS - проект с крошечным самописным плагином. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 01:52 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
NSIS-проект: Test.nsi Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ShowLogText и ShowDialog - это методы, реализованные в моем плагине. Код проекта плагина: MyPlugin.dpr Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. nsis.pas - это просто паскалевская обертка к api плагинов NSIS. nsis.pas { Original Code from (C) 2001 - Peter Windridge Code in separate unit and some changes 2003 by Bernhard Mayer Fixed and formatted by Brett Dever http://editor.nfscheats.com/ simply include this unit in your plugin project and export functions as needed } unit nsis; interface uses windows, CommCtrl, SysUtils; type VarConstants = ( INST_0, // $0 INST_1, // $1 INST_2, // $2 INST_3, // $3 INST_4, // $4 INST_5, // $5 INST_6, // $6 INST_7, // $7 INST_8, // $8 INST_9, // $9 INST_R0, // $R0 INST_R1, // $R1 INST_R2, // $R2 INST_R3, // $R3 INST_R4, // $R4 INST_R5, // $R5 INST_R6, // $R6 INST_R7, // $R7 INST_R8, // $R8 INST_R9, // $R9 INST_CMDLINE, // $CMDLINE INST_INSTDIR, // $INSTDIR INST_OUTDIR, // $OUTDIR INST_EXEDIR, // $EXEDIR INST_LANG, // $LANGUAGE __INST_LAST ); TVariableList = INST_0..__INST_LAST; type PluginCallbackMessages = ( NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup NSPIM_GUIUNLOAD // Called after .onGUIEnd ); TNSPIM = NSPIM_UNLOAD..NSPIM_GUIUNLOAD; //TPluginCallback = function (const NSPIM: Integer): Pointer; cdecl; TExecuteCodeSegment = function (const funct_id: Integer; const parent: HWND): Integer; stdcall; Tvalidate_filename = procedure (const filename: PChar); stdcall; TRegisterPluginCallback = function (const DllInstance: HMODULE; const CallbackFunction: Pointer): Integer; stdcall; pexec_flags_t = ^exec_flags_t; exec_flags_t = record autoclose: Integer; all_user_var: Integer; exec_error: Integer; abort: Integer; exec_reboot: Integer; reboot_called: Integer; XXX_cur_insttype: Integer; plugin_api_version: Integer; silent: Integer; instdir_error: Integer; rtl: Integer; errlvl: Integer; alter_reg_view: Integer; status_update: Integer; end; pextrap_t = ^extrap_t; extrap_t = record exec_flags: Pointer; // exec_flags_t; exec_code_segment: TExecuteCodeSegment; // TFarProc; validate_filename: Pointer; // Tvalidate_filename; RegisterPluginCallback: Pointer; //TRegisterPluginCallback; end; pstack_t = ^stack_t; stack_t = record next: pstack_t; text: PChar; end; var g_stringsize: integer; g_stacktop: ^pstack_t; g_variables: PChar; g_hwndParent: HWND; g_hwndList: HWND; g_hwndLogList: HWND; g_extraparameters: pextrap_t; procedure Init(const hwndParent: HWND; const string_size: integer; const variables: PChar; const stacktop: pointer; const extraparameters: pointer = nil); function LogMessage(Msg : String): BOOL; function Call(NSIS_func : String) : Integer; function PopString(): string; procedure PushString(const str: string=''); function GetUserVariable(const varnum: TVariableList): string; procedure SetUserVariable(const varnum: TVariableList; const value: string); procedure NSISDialog(const text, caption: string; const buttons: integer); implementation procedure Init(const hwndParent: HWND; const string_size: integer; const variables: PChar; const stacktop: pointer; const extraparameters: pointer = nil); begin g_stringsize := string_size; g_hwndParent := hwndParent; g_stacktop := stacktop; g_variables := variables; g_hwndList := FindWindowEx(FindWindowEx(g_hwndParent, 0, '#32770', nil), 0,'SysListView32', nil); g_extraparameters := extraparameters; end; function Call(NSIS_func : String) : Integer; var codeoffset: Integer; //The ID of nsis function begin Result := 0; codeoffset := StrToIntDef(NSIS_func, 0); if (codeoffset <> 0) and (g_extraparameters <> nil) then begin codeoffset := codeoffset - 1; Result := g_extraparameters.exec_code_segment(codeoffset, g_hwndParent); end; end; function LogMessage(Msg : String): BOOL; var ItemCount : Integer; item: TLVItem; begin Result := FAlse; if g_hwndList = 0 then exit; FillChar( item, sizeof(item), 0 ); ItemCount := SendMessage(g_hwndList, LVM_GETITEMCOUNT, 0, 0); item.iItem := ItemCount; item.mask := LVIF_TEXT; item.pszText := PChar(Msg); ListView_InsertItem(g_hwndList, item); ListView_EnsureVisible(g_hwndList, ItemCount, TRUE); end; function PopString(): string; var th: pstack_t; begin if integer(g_stacktop^) <> 0 then begin th := g_stacktop^; Result := PChar(@th.text); g_stacktop^ := th.next; GlobalFree(HGLOBAL(th)); end; end; procedure PushString(const str: string=''); var th: pstack_t; begin if integer(g_stacktop) <> 0 then begin th := pstack_t(GlobalAlloc(GPTR, SizeOf(stack_t) + g_stringsize)); lstrcpyn(@th.text, PChar(str), g_stringsize); th.next := g_stacktop^; g_stacktop^ := th; end; end; function GetUserVariable(const varnum: TVariableList): string; begin if (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then Result := g_variables + integer(varnum) * g_stringsize else Result := ''; end; procedure SetUserVariable(const varnum: TVariableList; const value: string); begin if (value <> '') and (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then lstrcpy(g_variables + integer(varnum) * g_stringsize, PChar(value)) end; procedure NSISDialog(const text, caption: string; const buttons: integer); var hwndOwner: HWND; begin hwndOwner := g_hwndParent; if not IsWindow(g_hwndParent) then hwndOwner := 0; // g_hwndParent is not valid in NSPIM_[GUI]UNLOAD MessageBox(hwndOwner, PChar(text), PChar(caption), buttons); end; begin end. Реализация методов ShowLogText и ShowDialog: Plugin_Impl.pas Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Пояснения. Методы плагинов имеют сигнатуру: Код: pascal 1. Первым делом следует скопировать параметры в глобальные структуры библиотеки, вызвав метод Код: pascal 1. Все, дальше можно работать. ~~~~~~~~~ Параметры плагину передаются в виде строки, через NSIS - стек. Соответственно, для доступа к параметрам используется функция работы со стеком PopString(): Код: pascal 1. 2. 3. 4. 5. "Лишний" вызов PopString() не сломает систему, просто вернет пустую строку (и ошибку в коде завершения, если кому интересно). ... Для компиляции инсталлятора нужно запустить makensisw.exe и затем с помощью makensisw.exe открыть наш скрипт test.nsi. Перед этим нужно откомпилировать dll (сам плагин). Исходники проекта (и результаты компиляции) прилагаются: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 02:09 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Построено с использованием NSIS 3.0 (но вполне работает и на v2.42) x32 бита, Delphi 2007. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 02:11 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Для доступа к переменным NSIS в плагине используем GetUserVariable(): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Для установки нового значения переменной NSIS используем SetUserVariable(): Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 03:44 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Для вызова NSIS функций из кода плагина сигнатура пользовательских методов должна быть чуть расширена: Код: pascal 1. 2. То же самое касается метода Init: Код: pascal 1. Благодаря тому, что методы NSIS - плагинов создаются с оглашением о связях типа cdecl , мы может использовать не все параметры, а только те, которые нужны: очисткой параметров занимается вызывающая сторона. Передадим в плагин адрес NSIS функции через переменную NSIS $0 : Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вот сам метод Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 04:22 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Кроме того, можно назначить метод плагина, выполняющий специальные задачи: отслеживание выгрузки плагинов (по завершению приложения) и деинициализацию графической системы, после .onGUIEnd . Для этого нужно зарегистрировать специальную функцию с сигнатурой Код: pascal 1. Тип параметров понятен из описания: Код: pascal 1. 2. 3. 4. 5. В качестве наполнения такой функции будем показывать простые диалоги: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... а вот так эта функция регистрируется (не забываем про extraparameters !): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 04:33 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Вот, вроде и все основные "премудрости". Еще можно поговорить о доступе к элементам GUI, тут можно посмотреть на nsis.pas, где вполне понятно реализован вспомогательный метод LogMessage(), в котором выполняется обращение к списку лог-сообщений. Имхо, методов NSISDialog и LogMessage достаточно для большинства случаев взаимодействия с пользователем, и, раз уж в дело подключена Delphi, можно строить диалоги произвольной сложности средствами самой Delphi. ... Полный проект со всеми примерами: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 04:39 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Этот вопрос Как запустить процесс с правами AsUser из-под процесса с правами AsAdministrator? возник для запуска приложений из-под инсталлятора. Было (высокие права "наследовались" от инсталлятора): Код: javascript 1. Стало (приложение запускается с правами экплорера): Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2016, 22:13 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Довольно странно, но в форме Код: php 1. - не работает. То есть, приложение запускается, но с высокими правами. Т.обр., рабочая команда - вот такая: Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 00:44 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
чччД, в InnoSetup для этого есть флаг runasoriginaluser и функция ExecAsOriginalUser. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 00:58 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
GunSmokerчччД, в InnoSetup для этого есть флаг runasoriginaluser и функция ExecAsOriginalUser. Ну вот в NSIS я ничего схожего не нашел. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 01:20 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Как из скрипта NSIS проверить, существует ли мьютекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 17:54 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Tactical Nuclear Penguin, ОК, вот так сделал: Код: vbnet 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 18:30 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Не подскажет ли кто-нибудь, как из nsis - плагина обратиться к методу другого nsis - плагина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2019, 11:11 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
ёёёёёНе подскажет ли кто-нибудь, как из nsis - плагина обратиться к методу другого nsis - плагина? Хотел заюзать обычным образом LoadLibrary/GetProcAddress, но выяснилось, что во временной директории нужного плагина еще нет, если к нему еще не было обращения в скрипте... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2019, 11:57 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
ёёёёёёёёёёНе подскажет ли кто-нибудь, как из nsis - плагина обратиться к методу другого nsis - плагина? Хотел заюзать обычным образом LoadLibrary/GetProcAddress, но выяснилось, что во временной директории нужного плагина еще нет, если к нему еще не было обращения в скрипте... :( Сделал так: вызываемый плагин методом явной инициализации. Этот метод вызываю в самом начале исполняемой части скрипта с опцией /NOUNLOAD. Это для того, чтобы во временную директорию при инсталляции сразу был помещен плагин. Затем - LoadLibrary/GetProcAddress. Те методы плагина, которые написаны для вызова из скрипта NSIS с сигнатурой Код: pascal 1. 2. - не вызываю, вместо них создал их близнецов (обычные, подходящие по контексту методы, не задействующие NSIS - engine). Да, никаких BORLNDMM.DLL и проч.: nsis написан не на Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2019, 13:11 |
|
||
|
NSIS или Inno Setup?
|
|||
|---|---|---|---|
|
#18+
Требуется запустить инсталлятор именно "с правами админа", если данный юзер - админ, но сидит под UAC. То есть, RequestExecutionLevel д.б. в " admin ". Если же юзер не админ - то запускать инсталлятор следует с правами "пользователь". То есть, RequestExecutionLevel д.б. в " user ". Беда в том, что RequestExecutionLevel - это компалтайм опция, определяет содержимое манифеста, вкомпиляемого в инсталлятор. Как бы сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 15:23 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039409]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
141ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
101ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 506ms |

| 0 / 0 |
