Показать полную графическую версию : .: NSIS - все вопросы :. часть 2.
kysk,
А где у тебя находится файл sound.wav ? Он должен быть рядом с твоим скриптом.
Убери строку OutFile "sound.exe", у тебя же есть OutFile "setup.exe"
убери _______ за Function .onInit
Сделал как ты говорил, спасибо получилось только теперь, он открывает какой-то мини проигрываетль и пишет что типо какой-то драйвер не найден)
Пробую этим способом:
Function .myGuiInit
File "D:\song.wav"
BgImage::Sound "$TEMP\song.wav"
FunctionEnd
Function .onGUIEnd
Delete "$TEMP\song.wav"
FunctionEnd
Инстал запускается но почему то не проигрывает трек, что здесь не правильно? Может нет строчки запуска трека?
Ребят подскажите такую тему: Как сделать на финишной страницы или вообще можно это сделать например:
Текст: хотите прикупить вещи "заходите" к нам!
"заходите" - это будет ссылкой на сайт только нажав на нее откроется сайт.
Проблема в том что текст может светиться только полностью, а мне нужно только чобы определенное слово в этой строке светилось. Вот как такое осуществить?
по моему так:
SetCtlColors $mui.WelcomePage.Text 0 transparent »
Спасибо огромное! Все получилось!
Я знаю вариант только с помощью ButtonEvent плагина (ButtonEvent.dll) : »
О таком варианте что то не подумал, хотя должно сработать. Но интересно возможно ли обойтись без плагина?.
Ребят подскажите такую тему: Как сделать на финишной страницы или вообще можно это сделать например:
Текст: хотите прикупить вещи "заходите" к нам! »
Рисуй кастомную страницу. И все получиться.
А можно как нибудь запретить скачивание файлов в $temp при запуске инсталятора?
А можно как нибудь запретить скачивание файлов в $temp при запуске инсталятора? »
И куда же тогда распаковывать свои временные файлы инсталятору? Не понятна затея, без временных файлов все равно не обойтись.
Или о каком скачивании файлов вы говорите?
Вы все правильно поняли, именно это я имел в виду, ну чтобы скрыть от пользователя своии временные файлы инсталятора)
Но видимо без этого никак...
чтобы скрыть от пользователя своии временные файлы инсталятора »
А что за беда, если эти файлы кто-то увидит ? Инсталляционные файлы скрывать смысла нет, после установки они открыты, и саму установку без проблем можно мониторить. Можно конечно устанавливать эти файлы из запароленного архива, только зачем ?
А служебные файлы, типа плагины, картинки и т.п. - тоже вряд ли кого заинтересуют. Сам скрипт никто не увидит и не извлечёт...
Чего бояться то ?
Нечего бояться, просто интересен функционал nsis'a
Но он и без того большой
Painkiller
24-01-2013, 18:54
Народ, прошу помощи!!
Не срабатывает регистрация dll в x64 , а в x32 все ок . Причём в ручную dll регистрируется
SetOutPath "$INSTDIR"
File /r "C:\NSIS\XTools\XTools\*.*"
${If} ${RunningX64}
RegDLL "CopyFileNameExt64.dll"
Delete "CopyFileNameExt32.dll"
RegDLL "HashTab64.dll"
Delete "HashTab32.dll"
${Else}
RegDLL "CopyFileNameExt32.dll"
Delete "CopyFileNameExt64.dll"
RegDLL "HashTab32.dll"
Delete "HashTab64.dll"
${EndIf}
Begin2Fly
24-01-2013, 19:08
Painkiller, подтверждаю, замечал подобное на 64-битной Windows 7. Списал всё на устарелость NSIS. Региструю через nsExec::Exec 'regsvr32.exe /s "$INSTDIR\ax.dll"'.
Painkiller
24-01-2013, 19:35
Еще заметил что не работает Plugins "KillProcDLL" на x64. Альтернативу бы его найти рабочую ??
taskkill что ли использовать =))
Begin2Fly
24-01-2013, 19:37
Painkiller, опять же, занимался этим вопросом. Решение:
!include "nsProcess.nsh"
...
${nsProcess::KillProcess} "myprocess.exe" $R0
Painkiller
24-01-2013, 20:07
Begin2Fly »
Painkiller, опять же, занимался этим вопросом. Решение:
Код:
!include "nsProcess.nsh"
...
${nsProcess::KillProcess} "myprocess.exe" $R0 »
Я уже реализовал через taskkill , но за такой вариант тоже спасибо )
kotkovets, при компиляции ругается на строчку
!define WS_BORDER 0x00800000
kotkovets
26-01-2013, 00:18
kotkovets, при компиляции ругается на строчку
Код:
!define WS_BORDER 0x00800000 »
если ругается, значит где-то объявлена в хедерах, по умолчанию - это константа нигде не объявлена...
можно просто записать вместо ${WS_BORDER} в коде цифрами - 0x00800000
System::Call 'user32::CreateWindowEx(i0,t "EDIT",t "Текст Текст Текст Текст",\
i${DEFAULT_STYLES}|${WS_VSCROLL}|${ES_MULTILINE}|${ES_WANTRETURN}|${ES_AUTOVSCROLL}|0x00800000,\
i50,i100,i200,i60,i$dlg,i222,i0,i0) i.R2'
или в начале кода записать так:
!ifndef WS_BORDER
!define WS_BORDER 0x00800000
!endif
что означает, если больше нигде в хидерах не объявлена константа WS_BORDER, то нужно объявить эту константу.
Как все таки сделать границы, как на странице лицензии у поля с текстом? »
читайте доки - NSIS\Docs\nsDialogs
kotkovets, Уже разобрался. Она была объявлена в самом начале кода. Поэтому и ругалась на повторное объявление. Спасибо =)
linkuha@vk
27-01-2013, 19:15
помогите, пожалуйста:
у меня есть две папки файлов, как мне сделать чтобы исходя из того, какие компоненты выбраны, в выбранную директорию устанавливалось содержимое папок. например, если выбрал оба компонента - устанавилось сначала содержимое первой папки, затем второй
прочел всю тему, всю справку, подобные примеры не нашел - видел только с выполнением msi и exe в секциях.
прочел всю тему, всю справку »
Да ладно? Хотите сказать, в Справочнике по NSIS (http://forum.oszone.net/thread-168287.html) нет описания принципа секций?
В справочнике: Статьи от hb860 => Секции и выбор компонентов
Попутно читаем про переменные и про команду File (В справочнике: Перевод справки NSIS => File)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.