|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
|
[архив].: NSIS - все вопросы :.
|
|
Ветеран Сообщения: 1216 |
|
|
|
Отправлено: 23:35, 17-06-2006 |
|
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать так. если я все правильно понял, для каждого файла *.pat файл надо создавать отдельно?! О_о
Вот моя ошибка. Я постоянно директории сравнивал (на выходе файл получался, но чего-то не работало)) кусок скрипта выше это доля одного файла, а для X файлов его надо копировать n раз. так что ли?? тогда все крайне просто. Спасибо за помощь. Если будут ещё вопросы - вернусь в гости) *Ушел убивать клавиатуру. PS а можно патчу прикрутить авто установку в директорию по ключу в реестре? |
|
Отправлено: 13:38, 07-04-2011 | #1041 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата a--e:
я скрипты писал и на 7000 строк и нормально, дело тренировки, можно для этих дел макрос сварганить и 15 раз вызывать. Вот такой макрос для себя делал, пользуйтесь: Page Instfiles
Name "Example"
OutFile "Example.exe"
ShowInstDetails show
!define VPatchFile "!insertmacro VPatchFile"
!macro VPatchFile PATCHDATA SOURCEFILE TEMPFILE VALUE
Push $1
Push $2
Push $3
Push $4
Push `${SOURCEFILE}`
Push `${TEMPFILE}`
Pop $2
Pop $3
InitPluginsDir
GetTempFileName `$1` $PLUGINSDIR
File `/oname=$1` `${PATCHDATA}`
vpatch::vpatchfile `$1` `$3` `$2`
Pop $4
StrCpy $4 $4 2
StrCmp $4 "OK" +4
SetErrors
DetailPrint "Vpatch: error"
Goto +6
IntCmp ${VALUE} 1 0 +6 +6
IfFileExists `$2` 0 +4
Delete $3
Rename /REBOOTOK `$3` `$2`
Delete $1
Pop $4
Pop $3
Pop $2
Pop $1
!macroend
Section "Main"
SetOutPath "$EXEDIR"
File "D:\Nero_designer\Nero Burning ROM\nero.exe"
${VPatchFile} "Nero.pat" "$EXEDIR\Nero.exe" "Nero Express.exe" 1
SectionEnd
Nero Express.exe - имя пропатченного файла, т.е сохраниться с указанным именем в одной директории оригинального файла 1- удалить оригинал, 0 - не удалять Условие: имя оригинала и патченного файла не должны совпадать |
|
|
------- Последний раз редактировалось kotkovets, 07-04-2011 в 14:16. Отправлено: 13:52, 07-04-2011 | #1042 |
|
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Прошу помощи ещё раз. *.pat файлы получил. все идёт как надо. Но запнулся при написании скрипта
"Error in script "stdin" on line 9 -- aborting creation process" - вот что мне говорят ( пробовал менять имя pat файла в этой строке. Без результата. |
|
Отправлено: 15:28, 07-04-2011 | #1043 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать a--e,
скачайте на 92 стр. темы справочник, там есть ответы на ваши вопросы.. File /oname=$PLUGINSDIR\path.pat "Effects.vfs.pat" Означает взять Effects.vfs.pat и скопировать в папку $PLUGINSDIR с именем path.pat далее ясно почему ошибка... Delete "c:\Temp\{app}\data\NEW_Effects.vfs" и никогда не применяйте абсолютные пути в скриптах, кроме забора файлов в инсталлятор. Delete "$PLUGINSDIR\path.pat" Почитайте в справочнике про переменные окружения |
|
------- Последний раз редактировалось kotkovets, 07-04-2011 в 16:39. Отправлено: 16:15, 07-04-2011 | #1044 |
|
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Спасибо. С этим разобрался.
Для теста попробовал пропатчить 1 файл. НО!! сам патч получился ровненько размера патченого файла (т.е. патч не содержит в себе информации для "дописывания" в оригинал, а прост осодержит модиф. файл).. Это лечится? Проблема за проблемой всплывают... |
|
Отправлено: 16:30, 07-04-2011 | #1045 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать a--e, достаточно сравнить 2 файла по контрольной сумме (MD5, к примеру) и если они одинаковые, значит файл не пропатчен, как узнать контрольные суммы - погуглите.
|
|
------- Отправлено: 16:36, 07-04-2011 | #1046 |
|
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать kotkovets,
Нет. Файл все же не патчится. Заменяется оригинальной версией (без патча даже). |
|
Отправлено: 16:44, 07-04-2011 | #1047 |
|
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Всем привет !
Наткнулся на проблему с кодировкой NSIS при вызове команды nsExec::ExecToLog, при использовании русской Windows. ; Restart services nsExec::ExecToLog "cmd /u /c net stop SharedAccess" nsExec::ExecToLog "Test 31 Петя пошел гулять" DetailPrint "Stopping service... Русские буквы, тест 33333 " nsExec::ExecToLog "cmd /a /c net stop iphlpsvc" DetailPrint "Stopping service... Русские буквы, тест 22222 " nsExec::ExecToLog "net stop winmgmt" Если выполнить соответствующие команды вручную в cmd, то всё ок: То есть дело в том, какая кодировка настроена для вывода текста в окне лога установки через команду nsExec::ExecToLog, как её переключить подскажите пожалуйста ? P.S. как вы видите я экспериментировал с параметрами команды cmd: /a - вывод в ANSI /u - вывод в UNICODE результата это не дало никакого. В то же время команда DetailPrint выводит кириллицу нормально |
|
Последний раз редактировалось racner, 07-04-2011 в 21:26. Причина: поменял скриншот Отправлено: 21:09, 07-04-2011 | #1048 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата racner:
![]() |
|
|
------- Отправлено: 22:27, 07-04-2011 | #1049 |
|
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Здравствуйте, подскажите куда копать:
1. Делаю установщик с введение пароля , создаю через nsDialogs первый лист, на нем строка ввода и кнопка далее, если пароль неверный сообщение, что неверно ввели : выход или повторить. Выход работает, а вот повтор немогу реализовать. Как в функции указать запуск установщика с начала? Пробовал указать на сколько команд вернуться назад, но при этом перестает показываться текстовое поле. Page custom dogovor_vvod dogovor_confirm
!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI 2\LicenseRU.txt"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_LANGUAGE "Russian"
;--------------------------------
;установка
;--------------------------------
Var dogovor
Var textdogov
Var numberdogov
Function dogovor_vvod
nsDialogs::Create 1018
!insertmacro MUI_HEADER_TEXT "Введите номер договора с ISP PalNet" "Если вы не являетесь пользователем сети PalNet, прервите установку и удалите данное приложение"
Pop $dogovor
${NSD_CreateText} 30% 30% 90u 12u ""
Pop $textdogov
nsDialogs::Show
FunctionEnd
Function dogovor_confirm
Loop:
${NSD_GetText} $textdogov $numberdogov
${if} $numberdogov != "nsis"
MessageBox MB_ICONSTOP|MB_YESNO " $\r$\nНеверный номер договора! $\r$\nПопробовать снова?$\r$\n $\r$\n" IDYES Loop
Goto End
${else}
Goto Next
${endif}
End:
Quit
Next:
FunctionEnd
2. Как сделать чтобы пароль проверялся по первым 4 символам? Имеется ли какие нибудь спец символы вроде как * |
|
Отправлено: 07:34, 08-04-2011 | #1050 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. | ssaram | Программное обеспечение Windows | 406 | 12-02-2022 19:45 | |
| WinstyleMonitor .:[все вопросы]:. | Mr dUSHA | Проект WinStyle | 331 | 12-02-2014 13:15 | |
| Delphi - Delphi .: [все вопросы] :. | Serega | Программирование и базы данных | 94 | 04-05-2013 18:45 | |
| Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
| Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 | |
|