|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
|
.: NSIS - все вопросы :. часть 2.
|
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
|
------- Отправлено: 12:02, 09-12-2012 |
|
Пользователь Сообщения: 55
|
Товарищи подскажите пожалуйста, есть программа "Фабрика Форматов", инсталлятор на NSIS, устанавливаю с параметров /S для тихой установки, незаметно от пользователей, но инсталлятор по дефолту ставит программу и ярлыки к ней для одного пользователя, а не для всех, есть ли какая то команда для установки "для всех"
|
|
Отправлено: 14:40, 27-02-2015 | #1531 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата T1cOoN:
Что касается конкретно Format Factory - в исходном коде NSIS-скрипта этого продукта такой возможности не заложено, нет упоминания о команде SetShellVarContext, которая бы создавала ярлыки для всех/только для текущего SetOutPath $_OUTDIR SetOutPath $INSTDIR\FFModules\Package File Readme.txt SetOutPath $INSTDIR\FFModules\Package\BaiDu File Baidu-TB-ASBar.exe File hao123inst.exe SetOutPath $INSTDIR\FFModules\Package\Ask File AskPIP_FF_.exe SetOutPath $INSTDIR StrCmp $_28_ 0 label_417 CreateDirectory $SMPROGRAMS\ёсКЅ№¤і§ CreateShortCut $SMPROGRAMS\ёсКЅ№¤і§\ёсКЅ№¤і§.lnk $INSTDIR\FormatFactory.exe CreateShortCut $SMPROGRAMS\ёсКЅ№¤і§\°пЦъ.lnk $INSTDIR\FormatFactory.exe /help $INSTDIR\FormatFactory.exe 2 CreateShortCut $DESKTOP\ёсКЅ№¤і§.lnk $INSTDIR\FormatFactory.exe CreateShortCut $SENDTO\ёсКЅ№¤і§.lnk $INSTDIR\FormatFactory.exe Goto label_422 label_417: CreateDirectory $SMPROGRAMS\FormatFactory CreateShortCut $SMPROGRAMS\FormatFactory\FormatFactory.lnk $INSTDIR\FormatFactory.exe CreateShortCut $SMPROGRAMS\FormatFactory\Help.lnk $INSTDIR\FormatFactory.exe /help $INSTDIR\FormatFactory.exe 2 CreateShortCut "$DESKTOP\Format Factory.lnk" $INSTDIR\FormatFactory.exe CreateShortCut "$SENDTO\Format Factory.lnk" $INSTDIR\FormatFactory.exe label_422: SectionEnd |
|
|
------- Отправлено: 15:18, 27-02-2015 | #1532 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Ведь надо (точнее - возможно) редактировать данные именно в скриптах .rc Если бы .rc можно было бы преобразовать в файлы .res - тогда другое дело. И вроде как для того существует консольная утилитка brcc32.exe ( из пакета Delphi). Но ни черта она у меня не работает (может требуются какие то доп DLL или ещё что. Про то, не известно...) |
|
|
Отправлено: 16:48, 03-03-2015 | #1533 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
Я так всегда делаю, создаю cmd файл и запускаю консольное приложение без параметров, в основном они ругаются, если им что-то нужно В итоге видим в окне консоли: Цитата:
rc в res компилируется без проблем ![]() |
||
|
------- Отправлено: 07:39, 04-03-2015 | #1534 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Интересно, возможно ли в NSIS скрипте, записывать несколько переменных - в одну строку ? Просто для компактности скрипта... А то, когда назначаешь под сотню собственных переменных получается ну очень огромный столб из переменных... Вроде как, некоторые языки программирования позволяют так делать...
|
|
Последний раз редактировалось MKN, 06-03-2015 в 11:38. Отправлено: 11:21, 06-03-2015 | #1535 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
Если бы я в своём SFX Creator всё пихал в один nsi файл - я бы с ума уже сошел, только главный файл насчитывает 6200 строк кода и это без дополнительных nsh файлов, которые к нему относятся, в котором валяются функции, которые не изменяются... |
|
|
------- Отправлено: 11:55, 06-03-2015 | #1536 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста, каким образом в EXE файле определить - есть ли в нём конкретная HEX строка ?
Например, для этого файла надо определить есть ли в нём такая строка : A3484BBE986C4AA9994C530A86D6487D (это признак для определения файлов AutoIt3 compiled script executable, для которых классический метод определения по сигнатуре - не подходит...) этот файл : http://rghost.ru/private/6zgqqPykN/e...fe25f76010300c ![]() Причём у разных файлов, offset разный, но строка A3484BBE986C4AA9994C530A86D6487D - неизменна ![]() |
|
Последний раз редактировалось MKN, 13-03-2015 в 12:32. Отправлено: 11:21, 13-03-2015 | #1537 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Чтение побайтово очень долго проходит, если искомая строка не в начале файла и если сам файл больше 5-10 Мб...
Готовый код: Function test
; Используются следующие переменные
; $0 - $7
; $R0, $R1, $R2, $R3
Banner::show /NOUNLOAD ""
Banner::getWindow /NOUNLOAD
var /global banner
Pop $0
GetDlgItem $banner $0 1030
StrCpy $R1 "A3484BBE986C4AA9994C530A86D6487D"
StrCpy $R2 "C:\Windows\Explorer.exe"
strcpy $0 $0 0
StrCpy $R0 "$R1"
stget:
intop $0 $0 + 1
StrCpy $R0 "$R0" -2
StrCmp $R0 "" 0 stget
StrCpy $R0 "$R1" 2 ; записываем первые 2 символа, с них будем начинать чтение байтов подряд, если встретятся в файле
intop $R3 $0 - 1 ; нам нужно знать, сколько последовательно байт считать, чтобы точно сверить всю последовательность байт
StrCpy $1 "0" ; начальный
StrCpy $5 ""
FileOpen $0 "$R2" r
now:
StrCpy $6 0
IntOp $1 $1 + 1
FileSeek $0 "$1" SET $1
IntFmt $2 "0x%08X" $1
SendMessage $Pop2 ${WM_SETTEXT} 0 "STR:[$2] $1"
FileReadByte $0 $3
StrCmp $3 "" no 0
IntFmt $4 "%02X" $3
StrCmp $4 "$R0" 0 now
StrCpy $5 "$4"
getBytes:
IntOp $6 $6 + 1
FileReadByte $0 $3
IntFmt $4 "%02X" $3
StrCpy $5 "$5$4"
StrCmp $6 "$R3" 0 getBytes
StrCmp $5 "$R1" 0 now
MessageBox MB_OK|MB_ICONINFORMATION "$R1$\n$\nНайдено, начиная со смещений:$\nHEX - $2$\nDEC - $1" idok end
no:
MessageBox MB_OK|MB_ICONSTOP "в данном файле нет таких данных"
end:
FileClose $0
Banner::destroy
FunctionEnd
Код универсальный и не привязан конкретно к твоей строке, можешь вбивать для поиска другие значения любой длины (от 4 символов), вроде работает сори за бардак в переменных, некогда прихорашивать, если нужно, думаю сам в макрос загонишь...? |
|
------- Отправлено: 20:30, 13-03-2015 | #1538 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Может подойдёт плагин http://wiz0u.free.fr/prog/nsisFile/ ? |
|
|
Последний раз редактировалось MKN, 14-03-2015 в 09:47. Отправлено: 09:32, 14-03-2015 | #1539 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
Цитата MKN:
Function test
FileOpen $2 "$EXEDIR\VirtualBox-4.3.24-98716-Win.exe" r
nsisFile::FileFindBytes "$2" "A3484BBE986C4AA9994C530A86D6487D" "-1"
pop $1
FileClose $2
MessageBox MB_OK|MB_ICONINFORMATION "$1"
FunctionEnd
Если найдено $1 = смещение по DEC |
||
|
------- Отправлено: 10:09, 14-03-2015 | #1540 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
| [архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
| Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
| Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 | |
|