PDA

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


Страниц : 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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

diakov
31-01-2012, 10:36
kotkovets, видел репак daemon tools на нсис в котором идет подхват sptd драйвера из папки разположеной рядом с установщиком...в папке два файла оригинальные SPTDinst-x64.exe и SPTDinst-x64.exe тоесть в сам инсталятор они не вшиваются, как такое провернуть?

kotkovets
31-01-2012, 17:34
SPTDinst-x64.exe и SPTDinst-x64.exe тоесть в сам инсталятор они не вшиваются, как такое провернуть? »
Элементарно, переменная $EXEDIR возвращает текущую папку инсталлятора.
Примерно так:
!include "x64.nsh"

Section ""
${If} ${RunningX64}
IfFileExists "$EXEDIR\sptd64\SPTDinst-x64.exe" 0 +2
ExecWait "$EXEDIR\sptd64\SPTDinst-x64.exe" ;запуск установки лрайвера
${Else}
IfFileExists "$EXEDIR\sptd\SPTDinst.exe" 0 +2
ExecWait "$EXEDIR\sptd\SPTDinst.exe"
${EndIf}
SectionEnd
Если платформа х64, то подхватится файл SPTDinst-x64.exe из папки "$EXEDIR\sptd64"
Если платформа х32, то подхватится файл SPTDinst.exe из папки "$EXEDIR\sptd"

Painkiller
31-01-2012, 19:01
kotkovets , подскажите пример скрипта для правильной установки приложение в $PROGRAMFILES64 и $PROGRAMFILES32 ???
Так не получается :
!include "x64.nsh"
.....
${If} ${RunningX64}
InstallDir "$PROGRAMFILES64\${PRODUCT_NAME}"
${Else}
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
${EndIf}
Тогда как ?

kotkovets
31-01-2012, 19:34
Painkiller, Все гораздо проще, чем вы думаете...
пишем вне секции, в начале скрипта, но после объявления константы ${PRODUCT_NAME}
InstallDir "$PROGRAMFILES64\${PRODUCT_NAME}"
Предопределенных констант несколько:
$PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64 — папка Program files. В 64разрядной системе констатация $PROGRAMFILES и $PROGRAMFILES32 представляют папку C:\Program Files (x86), а $PROGRAMFILES64 - C:\Program Files.
А значит 32разрядной системе $PROGRAMFILES64 — папка Program files. и Все!

diakov
01-02-2012, 10:32
kotkovets, все таки не дает мне покоя IDM прочитав ети строки из idmtdi.inf и idmwfp.inf я понял что запускаются некие сервисы

Class = NetService
ClassGuid = {4d36e974-e325-11ce-bfc1-08002be10318}
CatalogFile = idmtdi.cat

[DestinationDirs]
DriverFiles32 = 12 ; %windir%\system32\drivers
DriverFiles64 = 12 ; %windir%\system32\drivers

.............................
[IdmTdi.Service]
DisplayName = %ServiceName%
Description = %ServiceDesc%
ServiceBinary = %12%\idmtdi.sys ; %windir%\system32\drivers\idmtdi.sys
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 1 ; SERVICE_SYSTEM_START
ErrorControl = 0 ; SERVICE_ERROR_IGNORE
;Dependencies = Tcpip
;LoadOrderGroup = PNP_TDI

;
; Copy Files
;

[DriverFiles32]
idmtdi.sys,idmtdi32.sys,,0x04 ; COPYFLG_NOVERSIONCHECK

[DriverFiles64]
idmtdi.sys,idmtdi64.sys,,0x04 ; COPYFLG_NOVERSIONCHECK

[SourceDisksNames]
1 = %SourceDisk%

[SourceDisksFiles]
idmtdi32.sys = 1
idmtdi64.sys = 1


и

[DefaultInstall.NTx86]
CopyFiles = DriverFiles32

[DefaultInstall.NTamd64]
CopyFiles = DriverFiles64

[DefaultInstall.NTx86.Services]
AddService = %ServiceName%,0,IdmTdi.Service

[DefaultInstall.NTamd64.Services]
AddService = %ServiceName%,0,IdmTdi.Service

....................
[IdmTdi.Service]
DisplayName = %ServiceName%
Description = %ServiceDesc%
ServiceBinary = %12%\idmtdi.sys ; %windir%\system32\drivers\idmtdi.sys
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 1 ; SERVICE_SYSTEM_START
ErrorControl = 0 ; SERVICE_ERROR_IGNORE
;Dependencies = Tcpip
;LoadOrderGroup = PNP_TDI



в директории самой проги есть файлы idmtdi32.sys, idmtdi64.sys, idmwfp32.sys, idmwfp64.sys, idmtdi.cat, idmwfp.cat, тоесть при установке запускаются сетевый сервисы IdmTdi.Service и IdmWfp.Service как запустить такие сервисы средствами нсис? Спасибо!

kotkovets
01-02-2012, 10:56
как запустить такие сервисы средствами нсис? »
Попробуйте плагинами http://forum.oszone.net/post-1508031-816.html

diakov
01-02-2012, 11:03
буду пробовать!

vahe-91
01-02-2012, 17:37
возможно начиная с какого-то момента полностью скрыть интерфейс установщика ?

kotkovets
01-02-2012, 18:00
возможно начиная с какого-то момента полностью скрыть интерфейс установщика ? »
HideWindow, или через WinAPI

Paval
02-02-2012, 17:27
Нужно установить ASP.NET веб приложение. Информации в интернете почти нет. Дайте ссылку кто-нибудь.

Donniblack
04-02-2012, 22:13
Народ сижу и туплю уже сколь времени!!!!!НЕ могу просто догнать.......Даже если не могу создавать скрипты не дано просто ((((ну скачал скрипт уже готовый а дальше то что .....как создать сам ехе , чтоб в тихую ставить то ????Что нужно для тихой установки программы ????

kotkovets
04-02-2012, 22:33
Народ сижу и туплю уже сколь времени!!!! »
Donniblack, Начните с шапки -->Документация-->Справочник по NSIS
как создать сам ехе »
Компилировать скрипт, а вы NSIS скачали или хотя бы удобный редактор HM NIS Edit ? :)
Что нужно для тихой установки программы ???? »
Запускать скомпилированный скрипт (exe) c ключом - /S
Или в начале скрипта, вне секции или функции, написать команду:
SilentInstall Silent

Donniblack
05-02-2012, 07:27
kotkovets
Да я скачал готовый скрипт уже, потому как делать его похоже для меня сложно наверно. НАверно надо знать языки програмирования, но разобраться очень хотелось бы.
Просто что дальше делать с готовым скриптом.
Как сделать сборку программы, какие папки и что делать.
Спасибо что ответили на предыдущее письмо!!!!

kotkovets
05-02-2012, 16:53
Да я скачал готовый скрипт уже »
А где скачали, ссылку
Как сделать сборку программы, какие папки и что делать »
Просто что дальше делать с готовым скриптом. »
Компилировать NSIS (http://nsis.sourceforge.net/Download)'ом и изучать справку.

BuZzOFF
06-02-2012, 12:27
Тему до конца ещё не дочитал... (47 страница)
Мож было уже...
Не могли бы разжевать как пользоваться этим (http://nsis.sourceforge.net/HwInfo_plug-in) плагином?..
Что-то никак не соображу.

Надо сделать так, чтоб при объёме памяти меньше, чем 1 ГБ, установка не запускалась.

Потому как во время установки будет распаковываться архив 7z, на распаковку которого нужно не менее 1Гб RAM.

Да и ещё.
Можно сделать так чтоб не кракозябры были?
http://s1.directupload.net/images/120206/temp/3ihmnzq3.png (http://s1.directupload.net/images/120206/3ihmnzq3.png)

Там файлы копируются...

Section
nsExec::ExecToLog '"cmd.exe" /C COPY /Y $\"${OutDir}\Папка1\*.*$\" $\"${OutDir}\Папка2$\"'
Pop $0
Pop $1
DetailPrint "$1"
DetailPrint "Возвращённое значение: $0"
SectionEnd

upd.
Хотя ладно...
Не буду так копировать - попробую CopyFiles.

Donniblack
06-02-2012, 14:03
kotkovets
Готовый скрипт скачал сдесь на форуме, похоже он уже скомпилирован, просто я так понимаю дальше нужно сделать сборку exe, либо действительно надо сидеть и читать.......Просто хотелось бы сделать программы для само установки, потому как приходиться ставить клиентам, а потом просто менять версии а не создавать новыеЮ, поэтому просто и хочеться разобраться как делать это, потому как версии программ выходят все более новые.
Просто хочеться сделать WPI свою сборку, и не все проги могут ставиться через cmd ключи, на некоторые нужно писать скрипты, вот и хочу разобраться но пока это туго получается.....(((

Krinkels
06-02-2012, 15:23
похоже он уже скомпилирован »
Как у тебя все туго. Файл NSIS скрипта имеет расширение .nsi. А скомпилированный файл будет с расширением .exe.

вот и хочу разобраться но пока это туго получается.....((( »
У NSIS своеобразный скриптовый язык, но чтоб им овладеть нужно знать минимум в программировании.

Donniblack
06-02-2012, 15:47
Krinkels
Нет это понятно что нужно знать в програмировании,
Но в фотошопе тоже трудно, однако с помощью уроков можно понять что то,\
Я так пониаю лучше не заморачиваться с NSIS и качать сборки WPI и оттуда себе вытягивать проги и добавлять просто в свою сборку ((((((((
Обидно а хотелось бы понимать((((
Спасибо всем в помощи.....

Krinkels
06-02-2012, 16:00
Donniblack
В шапке есть справочник на русском языке, в нем есть и описания функций и примеры. Я рекомендую начать с него. А вообще пиши код, если что то не получиться выкладывай, может и поможем :)

kotkovets
06-02-2012, 18:45
Обидно а хотелось бы понимать(((( »
Если сильно захотеть...через месяцок Вы будете думать, что глупые вопросы задавал :)Надо сделать так, чтоб при объёме памяти меньше, чем 1 ГБ, установка не запускалась. »
Иногда и такое, но редко такое условие возникает:
!include "MUI2.nsh"

ShowInstDetails show
OutFile Memory.exe

!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"

Section
System::Alloc 32 # (4+4+4+4+4+4+4+4=32 байта) # выделяем буфер
Pop $1 # определяем адрес выделенного буфера
System::Call "Kernel32::GlobalMemoryStatus(ir1)"
System::Call "*$1(i,i,i.r0)" # считываем данные со структуры
System::Free $1 # освобождаем буфер
DetailPrint "Total physical memory: $0 byte"
IntCmp $0 1073741842 +3 0 +3 ;сравниваем количество байт
MessageBox MB_OK "память меньше 1 гигабайта " IDOK
Abort ;прерыввание
SectionEnd




© OSzone.net 2001-2012