Ru-Board.club
← Вернуться в раздел «Программы»

» NSIS (Nullsoft Scriptable Install System)

Автор: Astra55
Дата сообщения: 04.09.2008 22:38
Victor_VG
Да я в конечном счете на ихних форумах нашел руководство, таперича надо его штудировать. Жизнь заставляет обратиться к NSIS, поскольку некоторые софты принципально не поддаются Thinstall и Xenocode.
Автор: Victor_VG
Дата сообщения: 04.09.2008 22:59
Astra55

Добро. Погляди руководство, а я тебе позже кое-что в личку подкину. Мне сейчас надо дождаться закачки новой сборки Far - осталось только на пару зеркал залить.
Автор: Victor_VG
Дата сообщения: 07.09.2008 12:31
Решение задачи установки Microsoft Visual C++ 2008 Redistributable Package (x86).

Цитата:
Формулировка задачи:

Инсталляторы общих библиотек и обновлений от Microsoft очень "любят гадить" в системе - временные файлы установки копируются в корень первого "свободного" тома, а по завершении установки их не удаляют

Как с этим бороться с этой напастью? Возможное решение данной задачи описано в статье Установка Microsoft Visual C++ 2008 Redistributable Package (x86) средствами NSIS у меня на сайте в виде конкретного примера кода с комментариями.
Автор: MANtiCORE
Дата сообщения: 07.09.2008 15:51
Victor_VG
Цитата:
лаунчер сначала скрывает своё окно

можно и не скрывать. можно всё делать в секции .onInit и оттуда же делать аборт, тогда никаких окон не будет вообще ...

Astra55
могу залить куданить на обменник лаунчер VLC плеера... там правда работы с реестром нет, но всё же, может поможет чем-нибудь.
Автор: Astra55
Дата сообщения: 07.09.2008 16:33
MANtiCORE
Да у меня этих ланчеров как на ланчерной фабрике Я уже прочитал в первом приближении методику создания портабельного софта, теперь надо детально разбираться и делать. Вот этот PortableAppz в день чуть ли не по десятку софтов клепает таким образом. А на наших пространствах полная тишина. Может кто из знатоков NSIS возьмет эту методу, творчески обработает и выдаст компактный тутор для народа.
Ссылка на полный комплект: http://rapidshare.com/files/26804478/HowToMake.PortableWith.NSIS.rar
Password: warez-hr.org
Автор: Victor_VG
Дата сообщения: 07.09.2008 20:37
Astra55

Погляжу. Но там куча старых инструментов - они просто занимают место (примерно 70%) в архиве. А по поводу анализа - возьми примеры из моего обновления - в них не мало интересного. А работа с Реестром не самое сложное. Задавай вопросы, отвечу.
Автор: ComradG
Дата сообщения: 09.09.2008 22:42
Блин, я затрахался уже. Кто нить подсобите моему проекту(читайте предыдущие мои посты)
Автор: Victor_VG
Дата сообщения: 10.09.2008 01:20
ComradG

Помню, бери мою статью с сервера - к утру поищу её в .CHM (брошу в личку), ещё что будет полезного - поделюсь. Пойду покурю, и снова сяду за программу - надо к утру написать и выложить.

P.S.

Крутишься как помесь Бриарея со Змей Горынычем и Цербером - за ночь успей на трёх машинах поднять BSD, восстановить сгоревший БП, написать пару программ, статью, проверить дипломы "гавриков", дать пару экспертных заключений по проектам коллег, взгреть подчинённых, попить кофе за прошлый год, покурить на будущее и поспать если удасться на следующее тысячелетие - весело, а ты жалуешься. Никто не забыт, ничто не забыто.
Автор: KLIZMAK
Дата сообщения: 20.09.2008 20:32
Пытаюсь установить демку Collapse - не получается. Процесс появляется и тут же исчезает.
7zip файлы внутри видит, но распаковать не может.
PEid определил инсталлер "Microsoft Visual C++ 6.0 [Nullsoft PiMP SFX]"
Можно ли чем то распаковать?
Автор: ComradG
Дата сообщения: 21.09.2008 17:21
KLIZMAK
А
Цитата:
PiMP
тебе ни о чем не говорит?
Автор: KLIZMAK
Дата сообщения: 21.09.2008 19:00
Добавлено:

Цитата:
А
Цитата:
PiMP
тебе ни о чем не говорит?


нет... не говорит...
Автор: ComradG
Дата сообщения: 21.09.2008 21:56
А ты в программировании хоть что-то вариш? Если нет, то прости, друг, тогда ничем не могу помочь - кури мануал по распаковке(в Гугле).

Добавлено:
Victor_VG

Цитата:
Помню, бери мою статью с сервера - к утру поищу её в .CHM (брошу в личку), ещё что будет полезного - поделюсь. Пойду покурю, и снова сяду за программу - надо к утру написать и выложить.

Не парься, без тебя проект тоже смогу поднять(лет эдак через незнамо сколько)
Автор: KLIZMAK
Дата сообщения: 21.09.2008 23:47
Ну да, инсталлеры круче винраровских SFX я точно не делал))
Я всего-то хочу распаковать эту дурацкую демку, но если это нереально без каких то особых знаний в программировании, то интересно откуда тогда руки растут у разработчиков "коллапса"
Автор: ComradG
Дата сообщения: 22.09.2008 17:25

Цитата:
но если это нереально без каких то особых знаний в программировании, то интересно откуда тогда руки растут у разработчиков "коллапса"

Чувак, ты с какой планеты? Бери "Ольгу" ил "Иду"(лучше последнюю) и поставь бряк на точке входа, а дальше распаковывай 7zip'ом.
Автор: namchik
Дата сообщения: 11.10.2008 11:29
NSIS 2.40 (11/10/2008)

Changelog

Download
Автор: Victor_VG
Дата сообщения: 11.10.2008 16:04
namchik

Ну, при таких изменениях возможно и индекс хелпа перестраивать в HM NIS мне не придётся. Мне тут и так дряни подкинули - на FreeBSD 7 OpenOffice-2.4.1.x от Инфра Ресурс судя по всему собран с опцией --no-java-jre и JDK 6 в системе не видит в упор. Придётся сидеть и перебирать его из исходников, а это часов 13 - 15 только компиляции, или откатываться на 2.4.0. Да и окромя него надо ещё несколько вещей для работы скомпилить...
Автор: ComradG
Дата сообщения: 18.10.2008 18:41

Цитата:
Придётся сидеть и перебирать его из исходников

А в реестре полный путь прописать слабо? Ты вроде профессионал, а такой ерундой занимаешься.
Автор: Victor_VG
Дата сообщения: 18.10.2008 21:44
ComradG

Дядь, а где на UNIX-ах Реестр? В упор не вижу Все конфиги лежат в /etc, /usr/local/etc, /usr/local/lib/etc, /usr/home/<user_name>/etc а вот Реестр что-то даже с собаками не сыскать. И с OOo всё выяснилось - ему нужна более новая Java, и собирается она исключительно из исходников взятых с разных серверов. Нет готовой как для Windows Sun Java для FreeBSD. "Всего лишь" есть 175 Мб исходных текстов в архивах. И только. Несколько часов работы машины. Ладно, сиё мелочи, соберём из портов - деваться не куда, то что есть просто не подходит - старое, нужно новее. Написал и выложил полный комплект NSIS 2.40:

Зеркало 1 | Зеркало 2 | Зеркало 3

Коли хочешь, загляни в Анонсы - там за сегодня уже целая "простыня" висит.
Автор: ComradG
Дата сообщения: 19.10.2008 21:00

Цитата:
Коли хочешь, загляни в Анонсы - там за сегодня уже целая "простыня" висит.

В смысле?

Цитата:
Дядь, а где на UNIX-ах Реестр?

Утыр балалар, бабай кирэ! Дык ты бы сразу говорил что все под никсы!
Кстати, не хош подсобить перебрать HM Nis под более "продвинутую" делфу 7? Лично я после того, как пербрал половину, понял, что занимаюсь ерундой. С NSIS'ькой лучше работать в Eclips'е.
Автор: Victor_VG
Дата сообщения: 19.10.2008 23:02
ComradG

Не, на паскаль у меня стойкая оскомина. Ещё с первого курса института, с начала 80-х. Тогда наш доцент расшифровывал сообщения об ошибках по записной книжке - документации не было! У нас на кафедре Sincler ZX Spectrum 128 тогда стояли. На них и учились программировать. Да вот Паскаль с тех пор все не взлюбили, и на всю жизнь. Если бы на PL/1, но не на том обрезке, что был в 90-х для MS DOS, а на полном типа Open PL/1 - там чудеса можно творить. Да вот за компилер просят сущие "копейки":

Цитата:
An eight-user license for Open PL/1 is priced at $20,000.

Мы в своё время было губу раскатали, решили купить, да в Представительстве IBM нам сказали просто:

Цитата:
"Вам надо компилятор Open PL/1 с лицензией на 5 разработчиков? Нет вопросов, платите $137459,95 и получите компилятор с 5-ю лицензиями, библиотеками и документацией."

Мы не обратили внимания на запятую и три нуля - думали одна лицензия стоит $20, а оказалось "всего только" $20000 долларов на одного разработчика, это не считая стоимости самого компилятора и дополнительных библиотек к нему. В итоге мы обломились.
Автор: ComradG
Дата сообщения: 20.10.2008 19:12
Victor_VG
Слушай, я тут втупик зашел со своим проектом. Я никак не могу внятно описать пример создания скрипта, который проверял бы установлена программа уже или нет, и в случае положительного результата предлагал бы удалить или переустановить прогу заново. Если есть время, помоги, пожалуйста. А то действительно уже башню рвет. Кстати, относительно того же справочника, который я задумал, я написал уже свыше сотни html документов. Но некотрые примеры, описание к ним, вызывают у меня трудность. А помощи ждать неоткуда...
Автор: Victor_VG
Дата сообщения: 20.10.2008 20:19
ComradG

Пиши на профильную почту. Там чего нибудь поищу у себя в SDK. Я в принципе подобные проверки обычно ставлю. Сам понимаешь - иначе можно наделать ошибок. Постараюсь помочь так. Хорошо?
Автор: bequral
Дата сообщения: 30.10.2008 04:25
Прошу прощения, если это уже было, но не смог найти.
Как просмотреть содержимое NSIS инсталлятора, DRWEB о нем пишет:
C:\1.exe packed by BINARYRES
>C:\1.exe - archive NSIS
7-zip не помогает
Автор: Victor_VG
Дата сообщения: 30.10.2008 12:28
bequral

Не все варианты NSIS программ распакуются. то, что написано в версии 2.38 и вышее уже например не берёт плагин Install Explorer к Far Manager. Иной раз последняя версия 7Zip сможет помочь. Но, без гарантий удачи - структуры файлов постепенно меняются..
Автор: bequral
Дата сообщения: 30.10.2008 19:13
Victor_VG
То есть Вы рекомендуете расслабиться и забыть об идее возможности распаковки, как я понимаю?
Автор: Victor_VG
Дата сообщения: 31.10.2008 04:25
bequral

Вероятность удачи примерно 70:%. По моему не так уж и мало.
Автор: pasynok
Дата сообщения: 21.11.2008 00:08
NSIS 2.41

Цитата:
Minor Changes
* Fixed LangDLL memory leaks for invalid input (bug #1939573)
* Fixed uninstaller generation on big-endian systems (bug #2166401, bug #2167958)
Translations
* Brazilian Portuguese corrections
* Consistency fixes for Simple Chinese (patch #2189117)
Build System
* Added support for SCons 1.1.0
* Fixed size text issues for VC8 builds (patch #1982084)
* System's Resource.dll now built from source

Скачать .exe (1577504 байт) Скачать .zip (2293325 байт)
Автор: TY999
Дата сообщения: 29.11.2008 21:25
ссылка в шапке на руссификатор samlab умерла
русификатор раппида]
Автор: Victor_VG
Дата сообщения: 29.11.2008 21:45
TY999

Друг мой, а зачем он в таком старом варианте? Для новых версий этот патч уже как мне помнится не подходит - он работает по смещению, а они изменились, и он не сможет выполнить свою задачу. Правда я тут виноват, заработался. За несколько дней пересобрал из исходников 13 пакетов под FreeBSD, сборку Far Manager 1.7.1.2465 и перебрал заново HM NIS 2.0.3 Update 17 (в него входит русский язык), и обновление для NSIS 2.41 с поддержкой строк до 8 Кб и русским переводом меню программы. И ещё сделал кучу работы. Потому прошу меня простить за то, что закрутился и забыл выложить ссылки на обновлённый комплект, хотя он уже пару дней на серверах лежит.

Страницы закачки NSIS 2.41 Developmer Kit Update 1

Зеркало 1 | Зеркало 2 | Зеркало 3
Автор: Victor_VG
Дата сообщения: 04.12.2008 05:15
Решение задачи установки Microsoft Visual C++ 2008 Redistributable Pakeges из NSIS программы.
[more=Код процедуры.]

Код:
!include "Locate.nsh" ; Please, add this string in to header of Your script. This INCLUDE is required for use LOCATE plug-in.
Section "Post"
/*
This procedure is check on if Microsoft Visual C++ 2008 SR1 Redistributable Package installed and installed this kit if needed.
*/
Push $0
StrCpy $0 0
ClearErrors
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9A25302D-30C0-39D9-BD6F-21E6EC160475}" "DisplayVersion"
IfErrors install
StrCmp $0 "9.0.30729" skip
ClearErrors
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9A25302D-30C0-39D9-BD6F-21E6EC160475}" "DisplayName"
IfErrors install
StrCmp $0 "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17" skip
ClearErrors
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\DevDiv\VC\Servicing\9.0" "SP"
IfErrors install
IntCmp $0 1 skip +1 skip
IfFileExists "$COMMONFILES\Microsoft Shared\VC\msdia90.dll" +1 install
MoreInfo::GetProductVersion "$COMMONFILES\Microsoft Shared\VC\msdia90.dll"
Push "9.0.30729.1"
xtInfo::CompareVersion
Pop $0
StrCmp $0 "-1" +1 skip
StrCpy $0 0
IfFileExists "$SYSDIR\atl90.dll" +1 install
MoreInfo::GetProductVersion "$SYSDIR\atl90.dll"
Push "9.0.30729.1"
xtInfo::CompareVersion
Pop $0
StrCmp $0 "-1" +1 skip
StrCpy $0 0
IfFileExists "$SYSDIR\mfc90.dll" +1 install
MoreInfo::GetProductVersion "$SYSDIR\mfc90.dll"
Push "9.0.30729.1"
xtInfo::CompareVersion
Pop $0
StrCmp $0 "-1" +1 skip
Pop $0
SetOverwrite on ; Start install MS VC++ 9.0 SP1
SetOutPath "$PLUGINSDIR"
File "Far\vcredist_2008_x86\eula.1028.txt"
File "Far\vcredist_2008_x86\eula.1031.txt"
File "Far\vcredist_2008_x86\eula.1033.txt"
File "Far\vcredist_2008_x86\eula.1036.txt"
File "Far\vcredist_2008_x86\eula.1040.txt"
File "Far\vcredist_2008_x86\eula.1041.txt"
File "Far\vcredist_2008_x86\eula.1042.txt"
File "Far\vcredist_2008_x86\eula.1049.txt"
File "Far\vcredist_2008_x86\eula.2052.txt"
File "Far\vcredist_2008_x86\eula.3082.txt"
File "Far\vcredist_2008_x86\globdata.ini"
File "Far\vcredist_2008_x86\install.exe"
File "Far\vcredist_2008_x86\install.ini"
File "Far\vcredist_2008_x86\install.res.1028.dll"
File "Far\vcredist_2008_x86\install.res.1031.dll"
File "Far\vcredist_2008_x86\install.res.1033.dll"
File "Far\vcredist_2008_x86\install.res.1036.dll"
File "Far\vcredist_2008_x86\install.res.1040.dll"
File "Far\vcredist_2008_x86\install.res.1041.dll"
File "Far\vcredist_2008_x86\install.res.1042.dll"
File "Far\vcredist_2008_x86\install.res.1049.dll"
File "Far\vcredist_2008_x86\install.res.2052.dll"
File "Far\vcredist_2008_x86\install.res.3082.dll"
File "Far\vcredist_2008_x86\vc_red.cab"
File "Far\vcredist_2008_x86\vc_red.msi"
File "Far\vcredist_2008_x86\vcredist.bmp"
SetRebootFlag false
ExecWait "$PLUGINSDIR\install.exe"
Delete "$PLUGINSDIR\vcredist.bmp"
Delete "$PLUGINSDIR\vc_red.msi"
Delete "$PLUGINSDIR\vc_red.cab"
Delete "$PLUGINSDIR\install.res.3082.dll"
Delete "$PLUGINSDIR\install.res.2052.dll"
Delete "$PLUGINSDIR\install.res.1049.dll"
Delete "$PLUGINSDIR\install.res.1042.dll"
Delete "$PLUGINSDIR\install.res.1041.dll"
Delete "$PLUGINSDIR\install.res.1040.dll"
Delete "$PLUGINSDIR\install.res.1036.dll"
Delete "$PLUGINSDIR\install.res.1033.dll"
Delete "$PLUGINSDIR\install.res.1031.dll"
Delete "$PLUGINSDIR\install.res.1028.dll"
Delete "$PLUGINSDIR\install.ini"
Delete "$PLUGINSDIR\install.exe"
Delete "$PLUGINSDIR\globdata.ini"
Delete "$PLUGINSDIR\eula.3082.txt"
Delete "$PLUGINSDIR\eula.2052.txt"
Delete "$PLUGINSDIR\eula.1049.txt"
Delete "$PLUGINSDIR\eula.1042.txt"
Delete "$PLUGINSDIR\eula.1041.txt"
Delete "$PLUGINSDIR\eula.1040.txt"
Delete "$PLUGINSDIR\eula.1036.txt"
Delete "$PLUGINSDIR\eula.1033.txt"
Delete "$PLUGINSDIR\eula.1031.txt"
Delete "$PLUGINSDIR\eula.1028.txt"
StrCpy $0 0 ; Clean temporary files after installation
${locate::Open} "C:|D:|E:|F:|G:|H:|I:|J:|K:|L:|M:|N:|O:|P:|Q:|R:|S:|T:|U:|V:|W:|X:|Y:|Z:" "/F=1 /D=0 /M=vc_red.cab /B=1 /G=0" $0
StrCmp $0 0 0
${locate::Find} $0 $1 $2 $3 $4 $5 $6
StrCmp $2 "" +28
Delete "$PLUGINSDIR\vcredist.bmp"
Delete "$PLUGINSDIR\vc_red.msi"
Delete "$PLUGINSDIR\vc_red.cab"
Delete "$PLUGINSDIR\install.res.3082.dll"
Delete "$PLUGINSDIR\install.res.2052.dll"
Delete "$PLUGINSDIR\install.res.1049.dll"
Delete "$PLUGINSDIR\install.res.1042.dll"
Delete "$PLUGINSDIR\install.res.1041.dll"
Delete "$PLUGINSDIR\install.res.1040.dll"
Delete "$PLUGINSDIR\install.res.1036.dll"
Delete "$PLUGINSDIR\install.res.1033.dll"
Delete "$PLUGINSDIR\install.res.1031.dll"
Delete "$PLUGINSDIR\install.res.1028.dll"
Delete "$PLUGINSDIR\install.ini"
Delete "$PLUGINSDIR\install.exe"
Delete "$PLUGINSDIR\globdata.ini"
Delete "$PLUGINSDIR\eula.3082.txt"
Delete "$PLUGINSDIR\eula.2052.txt"
Delete "$PLUGINSDIR\eula.1049.txt"
Delete "$PLUGINSDIR\eula.1042.txt"
Delete "$PLUGINSDIR\eula.1041.txt"
Delete "$PLUGINSDIR\eula.1040.txt"
Delete "$PLUGINSDIR\eula.1036.txt"
Delete "$PLUGINSDIR\eula.1033.txt"
Delete "$PLUGINSDIR\eula.1031.txt"
Delete "$PLUGINSDIR\eula.1028.txt"
${locate::Close} $0
${locate::Unload}
IfRebootFlag +1 +6
StrCmp $LANGUAGE 1049 +2
MessageBox MB_YESNO "A reboot is required to finish the installation. Do you wish to reboot now?" IDNO +4 IDYES +2
MessageBox MB_YESNO "Для завершения установки нужна перезагрузка. Перезагрузить систему немедленно?" IDNO +3 IDYES +1
Reboot
StrCmp $LANGUAGE 1049 +2
MessageBox MB_ICONINFORMATION|MB_OK "For finished installation required reboot.$\nPlease, always reboot system manually letter!" IDOK +2
MessageBox MB_ICONINFORMATION|MB_OK "Для завершения установки требуется перезагрузка.$\nПожалуйста, обязательно перезагрузите систему!" IDOK +1
skip:
; any program code if needed
SectionEnd

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364

Предыдущая тема: The Bat!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.