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

» NSIS (Nullsoft Scriptable Install System)

Автор: AlexKS02
Дата сообщения: 07.02.2006 09:32
Вопрос. Есть один файл. А есть другой файл. Каким образом средствами NSIS (без всяких там cmd-файлов) можно к первому файлу append'нуть другой?
FileRead и FileWrite вроде как не совсем подходят, ибо первое Read'ает until either a newline occur
Автор: Dtnth
Дата сообщения: 07.02.2006 10:41
RTFM!!!

E.2.6 FileJoin
Join two files in one (File1 + File2 = File3).
Syntax:

${FileJoin} "[File1]" "[File2]" "[File3]"
"[File1]" ; Input File1
"[File2]" ; Input File2
"[File3]" ; Output File3
; If [File3]="" Then add [File2] to [File1]
Note:
-Error flag if input files aren't exists
-Error flag if output file path isn't exists

Example1 (Join: a.log + b.log = Z.log):

Section
    ${FileJoin} "C:\a.log" "C:\logs\b.log" "C:\Z.log"
SectionEnd
Example2 (Add: a.log + b.log = a.log):

Section
    ${FileJoin} "C:\a.log" "C:\logs\b.log" "C:\a.log"
SectionEnd
Автор: DimmY
Дата сообщения: 07.02.2006 11:57
Danil Lab

Цитата:
А где эту половину можно достать?

Да пока нигде. Надо или закончить, или бросить эту затею, а полуфабрикат выпускать -- не дело.
Автор: AlexKS02
Дата сообщения: 07.02.2006 13:38
Dtnth
Спасибо! Как я проглядел... %)

Вопрос #2
на nsis'овских custom страницах dropbox'ы и скрывающиеся-появляющиеся элементы работают только на win2k-xp-2k3? На 98х, ну хоть убейся, и dropbox'ы чистые, и вышеуказанные элементы всегда скрыты..
Автор: IMPOMEZIA
Дата сообщения: 07.02.2006 14:21
AlexKS02

Цитата:
Вопрос #2
на nsis'овских custom страницах dropbox'ы и скрывающиеся-появляющиеся элементы работают только на win2k-xp-2k3? На 98х, ну хоть убейся, и dropbox'ы чистые, и вышеуказанные элементы всегда скрыты..

Можешь показать пример скрипта с указанной проблемой? (У меня подобных проблем с Install Options не было).
Автор: Ernar
Дата сообщения: 08.02.2006 20:48
Народ
Как разделить инстолятор? А то вот хочу сжать игрушку NFSU 2.
Как написат комментарий в ярлыке?
Автор: Danil Lab
Дата сообщения: 09.02.2006 08:41

Цитата:
Как написат комментарий в ярлыке?

См справку.

Цитата:
link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]


Те

Код:
CreateDirectory "$SMPROGRAMS\My Company"
CreateShortCut "$SMPROGRAMS\My Company\My Program.lnk" "$INSTDIR\My Program.exe" "" "" "" "" "" "a description"
Автор: namchik
Дата сообщения: 09.02.2006 09:24
разделять проще в InnoSetup'e, я именно им игры пакую (а все остальное - НСИСом), т.к. в NSIS'e это сделать сложнее, через плагины либо через сайлент-инсталяторы... хотя, может, кто-нить приведет пример скрипта, как это сделать попроще
Автор: AlexKS02
Дата сообщения: 10.02.2006 17:24
Пытаюсь вникнуться в FileJoin. Вот набросок кода:

!include TextFunc.nsh
!insertmacro FileJoin

Section
ReadIniStr $R1 "ini-file" "section" "variable"
StrCmp $R1 "" 0 +3
${FileJoin} "ini-file-2" "ini-file-test001" "ini-file-2"
Goto EndCycle
StrCmp $R1 "char001" 0 +3
${FileJoin} "ini-file-2" "ini-file-test002" "ini-file-2"
Goto EndCycle
StrCmp $R1 "char002" 0 +3
${FileJoin} "ini-file-2" "ini-file-test003" "ini-file-2"
Goto EndCycle
EndCycle:
SectionEnd

Выдаёт ошибку - Дистрибутив поврежден: недопустимый код. Что я недочитал в хелпе?
P.S. Не силен я в этих премудростях, так и не смог понять, как надо использовать un.FileJoin
Автор: IMPOMEZIA
Дата сообщения: 10.02.2006 17:48
AlexKS02

Цитата:
StrCmp $R1 "" 0 +3

Ошибка в этих строчках.
Для прыжка нужно использовать ТОЛЬКО метки.
конструкция ${FileJoin} "разворачивается" в функцию FileJoin, поэтому нельзя через нее просто перепрыгнуть как через одну строчку.

Цитата:
так и не смог понять, как надо использовать un.FileJoin

А в чём проблема? Так разве не работает?

Код: !insertmacro un.FileJoin

Section Uninstall
${un.FileJoin} "ini-file-2" "ini-file-test003" "ini-file-2"
SectionEnd
Автор: AlexKS02
Дата сообщения: 10.02.2006 18:22
Вопрос по ходу дела: прыжки через строчки с комментариями вообще работают? А то стоит закомментарить какую-то строку - и глюки глобальныя..
Или лучше ВСЕГДА использовать для прыжков метки?
Автор: Danil Lab
Дата сообщения: 11.02.2006 08:56
AlexKS02
Коментарии считаюстя так же как пустая строка. т.е. несчитаются.

>Или лучше ВСЕГДА использовать для прыжков метки?
Это кому как удобней, я придерживаюсь к прыжкам по строкам
Автор: IMPOMEZIA
Дата сообщения: 11.02.2006 13:07
AlexKS02

Цитата:
Или лучше ВСЕГДА использовать для прыжков метки?

Метки они конечно надёжнее, не надо считать строчки в всегда точно знаешь куда попадёшь . но если ты захочешь использовать макрос который нужно вызвать несколько раз на одну секцию/функцию, то придётся использовать прыжки по строкам, иначе получится несколько одинаковых меток на секцию, и это не откомпилируется
Автор: SapFir73
Дата сообщения: 24.02.2006 15:54
есть драйвер (inf и sys) на сотовый, можно ли установщик для него сделать, чтоб он там в реестр вписал инфу и т.д.
Автор: AlexKS02
Дата сообщения: 26.02.2006 09:14
копируем inf в $WINDIR\INF , sys в $SYSDIR, пишем в реестр (WriteRegDWord, WriteRegStr, WriteRegBin) и ставим в секцию RebootOk (по-моему.. поищи в справке по слову reboot)
Автор: Danil Lab
Дата сообщения: 03.03.2006 09:10
Статейка появилась:
Вводный курс статей в Nulsoft Scriptable Instal System. #1 Основы
http://danillab.com.ru/view.php?nsis
Автор: SamLab
Дата сообщения: 04.03.2006 21:37
NSIS 2.15
_http://samlab.ws/soft/nullsoft_installation_system_2.15_final.cab
Автор: Boss Dmitry
Дата сообщения: 06.03.2006 14:21
Danil Lab
неработает твоя статейка, обнови, пишет "Не могу создать файл", да и сайт переодически недоступен
Автор: Danil Lab
Дата сообщения: 06.03.2006 15:41
Boss Dmitry
Это проф сервер меняет, но если статейка сильно нужна могу намылить.
Автор: Gremlin131
Дата сообщения: 06.03.2006 23:08
Русик на самлабе не работает.
Автор: Boss Dmitry
Дата сообщения: 09.03.2006 13:00
Danil Lab
статейку бы прочел, но мылить не надо, если не сложно выложи на рапиду, или другой обменник, заберу оттуда
а сайт опять недоступен, перенапрвляет неизвестно куда
Автор: zoric
Дата сообщения: 20.03.2006 16:59
Возможен ли следующий фокус (для модификации игры):
1. Распаковать десяток файлов из пака (zip)
2. Найти в каждом заданную строку
3. Вставить вместо неё кусок текста в 600 строк
Автор: Danil Lab
Дата сообщения: 26.03.2006 04:03
zoric
возможно.

1.
winrar тебе поможет (с параметрами, чтоб их узнать запусти с ключем /?)

2.3.
Почитай справку к NSIS
Автор: Xomyak
Дата сообщения: 26.03.2006 13:27
У меня есть вопросы по NSIS (из раздела обьясните ламеру ).
Как сделать следующее:
-При запуске инсталлятора установщик сам находил путь для установки (типа обновления программы), отсутствовала кнопка обзора и вообще этот этап, чтоб он проверял путь установки по ключу в реестре (например, HKLM\Software\Company\My Programm\ "InstallDir")
-Некоторые файлу устанавливались не в главный каталог программы, а, например, в папку с документами (или во вложенную в Документы папку, но то уже не важно)
-Выполнить команду командной строки (извиняюсь за тафталогию) после распаковки инсталлятора, причём чтобы "cnd" окно не было видно.

Желательно на примерах. Если самим писать лень, то дайте ссылку на подробную докуменьтацию по NSIS. Сам ищу, но пока не нашёл.
Автор: IMPOMEZIA
Дата сообщения: 26.03.2006 14:16
Xomyak

Цитата:
-При запуске инсталлятора установщик сам находил путь для установки (типа обновления программы)


Это надо добавить в самом начале:

Код: InstallDirRegKey HKLM "Software\Company\My Programm" "InstallDir"
Автор: namchik
Дата сообщения: 26.03.2006 15:30

Цитата:
отсутствовала кнопка обзора и вообще этот этап     

Стандартный Modern UI не позволяет динамически отключать подобные страницы.

ну почему же? можно ведь просто не включать в скрипт строку
!insertmacro MUI_PAGE_DIRECTORY
Автор: IMPOMEZIA
Дата сообщения: 26.03.2006 15:38
namchik

Цитата:
ну почему же? можно ведь просто не включать в скрипт строку
!insertmacro MUI_PAGE_DIRECTORY

Имеется ввиду если ставлю в первый раз, то показываю эту страницу, если ставлю повторно, беру путь из реестра и не показываю эту страницу .

Автор: namchik
Дата сообщения: 26.03.2006 15:45
IMPOMEZIA

Цитата:
если ставлю повторно

тогда да. Но из его поста это неясно... а я мысли не умею читать
Автор: Xomyak
Дата сообщения: 26.03.2006 19:09
IMPOMEZIA
namchik
Спасибо большое за ответы, но я так до конца не разобрался, как сделать всё это работоспособным...
Но Вы не можете написать демо-скрипт по этому поводу - определение директорий, извлечение файлов в директории (установочная и документы). Буду весьма благодарен.
Автор: namchik
Дата сообщения: 26.03.2006 19:33
Xomyak
в папке с программой есть примеры скриптов. Поизучай...

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364

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


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