PDA

Показать полную графическую версию : .: NSIS - все вопросы :. часть 2.


Страниц : 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

MKN
22-01-2013, 18:25
kysk,
А где у тебя находится файл sound.wav ? Он должен быть рядом с твоим скриптом.
Убери строку OutFile "sound.exe", у тебя же есть OutFile "setup.exe"
убери _______ за Function .onInit

kysk
22-01-2013, 18:50
Сделал как ты говорил, спасибо получилось только теперь, он открывает какой-то мини проигрываетль и пишет что типо какой-то драйвер не найден)

Пробую этим способом:

Function .myGuiInit
File "D:\song.wav"
BgImage::Sound "$TEMP\song.wav"
FunctionEnd

Function .onGUIEnd
Delete "$TEMP\song.wav"
FunctionEnd

Инстал запускается но почему то не проигрывает трек, что здесь не правильно? Может нет строчки запуска трека?

kysk
22-01-2013, 19:12
Ребят подскажите такую тему: Как сделать на финишной страницы или вообще можно это сделать например:

Текст: хотите прикупить вещи "заходите" к нам!

"заходите" - это будет ссылкой на сайт только нажав на нее откроется сайт.

Проблема в том что текст может светиться только полностью, а мне нужно только чобы определенное слово в этой строке светилось. Вот как такое осуществить?

Awral
22-01-2013, 21:29
по моему так:

SetCtlColors $mui.WelcomePage.Text 0 transparent »
Спасибо огромное! Все получилось!

profcom
22-01-2013, 21:51
Я знаю вариант только с помощью ButtonEvent плагина (ButtonEvent.dll) : »
О таком варианте что то не подумал, хотя должно сработать. Но интересно возможно ли обойтись без плагина?.

Ребят подскажите такую тему: Как сделать на финишной страницы или вообще можно это сделать например:
Текст: хотите прикупить вещи "заходите" к нам! »
Рисуй кастомную страницу. И все получиться.

kysk
23-01-2013, 12:53
А можно как нибудь запретить скачивание файлов в $temp при запуске инсталятора?

profcom
23-01-2013, 22:19
А можно как нибудь запретить скачивание файлов в $temp при запуске инсталятора? »
И куда же тогда распаковывать свои временные файлы инсталятору? Не понятна затея, без временных файлов все равно не обойтись.
Или о каком скачивании файлов вы говорите?

kysk
24-01-2013, 11:06
Вы все правильно поняли, именно это я имел в виду, ну чтобы скрыть от пользователя своии временные файлы инсталятора)
Но видимо без этого никак...

MKN
24-01-2013, 11:16
чтобы скрыть от пользователя своии временные файлы инсталятора »
А что за беда, если эти файлы кто-то увидит ? Инсталляционные файлы скрывать смысла нет, после установки они открыты, и саму установку без проблем можно мониторить. Можно конечно устанавливать эти файлы из запароленного архива, только зачем ?
А служебные файлы, типа плагины, картинки и т.п. - тоже вряд ли кого заинтересуют. Сам скрипт никто не увидит и не извлечёт...
Чего бояться то ?

kysk
24-01-2013, 12:00
Нечего бояться, просто интересен функционал 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 , но за такой вариант тоже спасибо )

Awral
25-01-2013, 20:49
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

Awral
26-01-2013, 00:25
kotkovets, Уже разобрался. Она была объявлена в самом начале кода. Поэтому и ругалась на повторное объявление. Спасибо =)

linkuha@vk
27-01-2013, 19:15
помогите, пожалуйста:

у меня есть две папки файлов, как мне сделать чтобы исходя из того, какие компоненты выбраны, в выбранную директорию устанавливалось содержимое папок. например, если выбрал оба компонента - устанавилось сначала содержимое первой папки, затем второй

прочел всю тему, всю справку, подобные примеры не нашел - видел только с выполнением msi и exe в секциях.

K.A.V.
27-01-2013, 19:34
прочел всю тему, всю справку »
Да ладно? Хотите сказать, в Справочнике по NSIS (http://forum.oszone.net/thread-168287.html) нет описания принципа секций?

В справочнике: Статьи от hb860 => Секции и выбор компонентов
Попутно читаем про переменные и про команду File (В справочнике: Перевод справки NSIS => File)




© OSzone.net 2001-2012