Показать полную графическую версию : [архив].: NSIS - все вопросы :.
kotkovets
19-12-2010, 14:09
CyberMaster,
ReadRegStr $INSTDIR HKLM "Software\NSIS" ""
или лучше
InstallDirRegKey HKLM Software\NSIS ""
Ткните носом. Как можно изменить внешний вид страницы с выбором компонентов? Нужно это окошко (где отображаются секции) сделать немножко шире..
Надеюсь на вашу помощь.
kotkovets
30-12-2010, 03:35
jackrv,
Добавьте строчку в начале скрипта:
!define MUI_COMPONENTSPAGE_NODESC - позволяет не использовать описание.
Если этого мало правьте любым редактором ресурсом, файлы в папке C:\Program Files\NSIS\Contrib\UIs :
modern_smalldesc.exe - ресурс с маленькой областью описания
modern_nodesc.exe - ресурс без описания
или по умолчанию в файле modern.exe - 104 диалог.
kotkovets, было бы лучше убрать тот текст что с лева, но и так нормально..
Спасибо!
kotkovets
30-12-2010, 22:05
было бы лучше убрать тот текст что с лева »
Это тоже не проблема.
http://forum.oszone.net/post-1515812-847.html
--
!include "MUI2.nsh"
OutFile Components.exe
Caption "Пример"
!define MUI_COMPONENTSPAGE_NODESC
!insertmacro MUI_PAGE_WELCOME
!define MUI_PAGE_CUSTOMFUNCTION_SHOW COMPONENTS
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Function COMPONENTS
ShowWindow $mui.ComponentsPage.ComponentsText ${SW_HIDE}
ShowWindow $mui.ComponentsPage.SpaceRequired ${SW_HIDE}
FunctionEnd
Section
SectionEnd
Может кто работает с таким редактором как HM NIS Edit? Появилась проблемма работы с мастером, невозможно выбрать язык установки. Если кто знает в чем проблема, отпишитесь, буду очень благодарен.
----- Снимаю этот вопрос-----
После перезапуска компьютера мастер заработал нормально.
Еще раз СОРИ (извените)
mspevkin
06-01-2011, 00:18
Здравствуйте. Подскажите пожалуйста, можно ли из скрипта запускать исполняемый файл программы с ключом?
Например. Нужно, чтобы файл VM_Restorer.exe запустился по окончании установки с ключом /I.
!define MUI_FINISHPAGE_RUN "$INSTDIR\VM_Restorer.exe /I"
!define MUI_FINISHPAGE_RUN_CHECKED
kotkovets
06-01-2011, 01:48
Нужно, чтобы файл VM_Restorer.exe запустился по окончании установки с ключом /I »
!define MUI_FINISHPAGE_RUN "$INSTDIR\VM_Restorer.exe"
!define MUI_FINISHPAGE_RUN_PARAMETERS "/I"
И вообще почитайте Справочник по NSIS (http://forum.oszone.net/showpost.php?p=1569008) там достаточно подробно описан интерфейс MUI
mspevkin
06-01-2011, 01:57
Ох, нашёл в спавке. Спасибо за ответ.
Где можно почитать про реализацию ключей при "тихой установке" которая используется тут (http://forum.oszone.net/post-1417069.html)?
kotkovets, Спасибо, все мотаю на ус, но не подходит мне такой вариант. Желательно описание оставить, а правую область на ноль свести. Пока не правил ехешку, но вскоре придется.
Кстати вопрос навскидку: как прописать иную ехешку в скрипте?
kotkovets
06-01-2011, 15:44
Где можно почитать про реализацию ключей »
Создание своего инсталлятора на NSIS. Реализация дополнительных ключей командной строки (http://winreview.ru/NSIS/472/Sozdanie-svoego-installyatora-na-NSIS-Realizatciya-dopolnitelnih-klyuchej-komandnoj-stroki)
как прописать иную ехешку в скрипте? »
!define MUI_UI "файл ресурса.ехе" - основной ресурс MUI (modern.exe)
!define MUI_UI_COMPONENTSPAGE_SMALLDESC "файл ресурса.ехе" - ресурс диалога IDD_SELCOM с маленькой областью описания
!define MUI_UI_COMPONENTSPAGE_NODESC "файл ресурса.ехе" - ресурс диалога IDD_SELCOM без области описания
Создание своего инсталлятора на NSIS. Реализация дополнительных ключей командной строки »Мне было интересно как реализовываеться механизм /SHORTCUT=ххх
В принципе поковырявшись, все сам понял.
Вот например строка, если я ошибаюсь - поправьте меня.
StrCmp 1 0 NoDesktopShortCuts
Данная строка работает по принципу условного оператора, в данном контексте читается как:
Если в переменной $shDesktop находится значение 1, то выполняем следующую строку, если же значение 0, значит переходим к лейблу NoDesktopShortCuts
А перед этой строкой в .onInit есть еще одна занимательная математика:
StrCpy $shDesktop $shCMD 1 0
Читается как Прочитать и переменной $shCMD в переменную $shDesktop 1 символ начиная с 0ой позиции.
Вот этого я хотел найти на форуме. Если ошибаюсь, прошу дополнить/поправить меня
kotkovets
10-01-2011, 22:49
jackrv,
на 92 страничке скачайте справочник по NSIS, там есть разбор строк.
Условные и безусловные переходы.
StrCpy $0 "a string" 3 -4
Отсчитать 4 символа с конца строки и взять 3 последующих символа
Результат в $0 после выполнения команды: "rin"
StrCmp str1 str2 [метка перехода, если значения str1 и str2 равны] [метка перехода, если значения str1 и str2 не равны]
Потребовалось из скрипта запустить батник, который кое-какие махинации делал в C:\Windows\System32
Запустил инсталлер на Windows 7 x64 , и он там заработал некорректно, вместо System32 полез в SysWOW64. Ну да, инсталлятор то х86 компилится, соответственно и cmd.exe для батника вызывается "неправильный"... вобщем, в итоге я его запустил в C:\Windows\System32, а свои изыскания оформил в статью:
Запуск "родного" x64 процесса из x86 инсталлятора NSIS. Перенаправление папок (http://winreview.ru/NSIS/917/Zapusk-rodnogo-x64-protcessa-iz-x86-installyatora-NSIS-Perenapravlenie-papok)
Надеюсь, будет полезно кому-то ещё.
kotkovets
17-01-2011, 17:56
С той же проблемой столкнулся ранее, нужно было в x64 воспроизвести с помощью системной библитеки звук .wav - отключил перенаправление, и пошло дело :)
mariolast
17-01-2011, 23:15
Как можно после установки приложения увидеть лог установки? Во время установки есть кнопочка Детали..., нажав которуюможно эти детали установки лицезреть. может еасть какой тоключ при запуске?
kotkovets
17-01-2011, 23:22
Как можно после установки приложения увидеть лог установки? »
Есть такой плагин - http://nsis.sourceforge.net/DumpLog_plug-in, все, что попадает в окно деталей записывается в файл.
Прописываем плагин после всех секций в скрипте (т.е в последней секции)
На 92стр. скачайте справочник по NSIS там есть пример без плагина.
Извиняюсь , то не то было, ссылку изменил на плагин.
mariolast
18-01-2011, 12:33
kotkovets,
А как сделать на "живой" программе, если скрипта нету?
kotkovets
18-01-2011, 15:08
А как сделать на "живой" программе »
http://forum.oszone.net/thread-67386-23.html
Это вряд ли, ну если автозакрытие на стр. установки не прописано и окно деталей не выключено, то можно через буфер обмена (CTRL+C). Да и если повезет, то в окно не попадают записи в реестр. Для этого куда выгодней использовать RegShot или ProcMon
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC