Показать полную графическую версию : [архив].: NSIS - все вопросы :.
дело в том то, что я убрал off. и поставил /SOLID LZMA »
По тому коду, который вы предоставили - там почему-то этого не видно
Значит слишком поздно прописываете команду, приведите саму строку с ошибкой (что пишет компилятор)
Creator000
03-09-2012, 18:53
откуда у меня взялся в установщике IO?
http://i40.fastpic.ru/big/2012/0903/04/44f716a6a7882df83eee4e5e32e82604.png
и как от него избавиться.
kotkovets
03-09-2012, 19:26
откуда у меня взялся в установщике IO? »
инклудинг библиотеки InstallOptions.dll "жестко" привязан к строке кода:
!include "MUI.nsh"
а так привязывается к nsDialogs.dll:
!include "MUI2.nsh"
Почему так? а потому, что в NSIS нет стандартных страничек приветствия и финиша!
Эти странички уже описаны в соответствующих библиотеках, указанные в файле MUI(2).nsh (заготовки страниц - интерфейс MUI)
---
На Все Ваши вопросы есть ответ в справочнике на РуссКом...
ЧитайТе шапку темы...
Creator000
Просьба ТуПых вопросов не задавать - получите такой же ответ.
Это форум для обсуждения NSIS, а не для общения, общайтесь и флудите в другом месте, но не здесь!
Или Вам замечание модератора не указ?
Creator000
03-09-2012, 19:30
kotkovets, а есть тема где могут отвечают на простые вопросы nsis?
в личку никто не помогает - для есть форум. а на форуме - не задавай глупых вопросов, не флуди, так где мне задавать вопросы?
откуда у меня взялся в установщике IO? »
ioSpecial.ini - это файл настроек диалога "Приветствие" и "Финиш" (${NSISDIR}\Contrib\Modern UI\ioSpecial.ini)
Можете попробовать изменить данный файл и скомпилировать - у вас изменятся данные странички
kotkovets, а есть тема где могут отвечают на простые вопросы nsis? »
а на форуме - не задавай глупых вопросов, не флуди, так где мне задавать вопросы? »
Весь смысл в наших ответов вам в том, что в нашем Справочнике уже есть ответы на ваши "глупые вопросы", вот и всё
Не ленитесь и будьте внимательны, читайте справочник с первой странички и до конца
Привет народ,
Нарисовалось тут у меня еще несколько проблем, и с чем они связаны пока не понял, суть такова:
Есть 3 файла:
test1.nsi - тестовая болванка написана давно и хорошо работает(но только у меня на компе) не зависимо от того каким компиллером собираю ехешник.
рабочий кусок кода из этого скрипта:
!include "MUI.nsh"
!include "WinMessages.nsh"
Name "TB4DFs Example"
OutFile "TB4DFs.exe"
ShowInstDetails nevershow
ShowUnInstDetails nevershow
!insertmacro MUI_LANGUAGE Russian
Section
!insertmacro MUI_HEADER_TEXT "..." "..."
FindWindow $0 "#32770" "" $HWNDPARENT
StrCpy $1 "0"
StrCpy $2 "75"
StrCpy $3 "450"
StrCpy $4 "15"
StrCpy $5 "0x00f0ff"
StrCpy $6 "0x0000ff"
System::Call 'GVX::CPB(i r0, i r1, i r2, i r3, i r4, i r5, i r6, 1, 1)i .r7'
DetailPrint "..."
ShowWindow $7 ${SW_SHOW}
SetDetailsPrint both
StrCpy $8 ".\SA.md"
StrCpy $9 "Test2"
System::Call 'GVX::MVDFExtVolum(t r8, t r9, i r7 )'
ShowWindow $7 ${SW_HIDE}
...
SectionEnd
Function .onInit
!define VFX "GVX.dll"
SetOutPath "."
ReserveFile "${VFX}"
File "${VFX}"
FunctionEnd
Но, если этот код поместить в два других файла (полные версии) скрипта инсталлятора, то при их компиляции начинаются лаги...
test2.nsi - полная версия АНСИ, все компилится и собирается но на финальной странице нет Фокуса, и кнопку завершения нажать нельзя. + при компиляции исчезает один язык из трех используемых.
test3.nsi - полная версия ЮТФ, все компилируется, доступны все требуемые языки, но при запуске кода по отработке .dll начинаются лаги...
В общем хочу реализовать в инсталлере так, так чтобы при вызове .dll-ки с тем или иным параметром, текстовые поля в окне инсталляции менялись в зависимости от того что она выполняет, а по завершении возвращалось исходное сосояние текстовых полей.
nsDialogs не использую, установлен НСИС версии 2,46 (АНСИ - сборка от Виктора_ВГ с бороды.ру и ЮТФ - оф. версия с сайта).
Кто что думает по этому поводу?!
Хотелось бы обсудить эти вопросы с кем нибудь в Аське/Скайпе/ЛС ...
Заранее благодарю. :)
kotkovets
04-09-2012, 09:13
В общем хочу реализовать в инсталлере так, так чтобы при вызове .dll-ки с тем или иным параметром, текстовые поля в окне инсталляции менялись в зависимости от того что она выполняет, а по завершении возвращалось исходное сосояние текстовых полей »
А ну препроцесcор для чего? правильно! он добавит ту или иную строчку кода в зависимости от компилятора (ANSI или юникод)
Пример из справочника, выделение структуры в зависимости от типа компилятора:
Section
!ifndef NSIS_UNICODE ;если не юникод
System::Call "*(i148,i,i,i,i,&t128)i.r6" # выделяем память под структуру размером 148 байт
!else ;если юникод
System::Call "*(i276,i,i,i,i,&w256)i.r6" # для юникода 276 байт (2 байта - 1 символ)
!endif
SectionEnd
kotkovets, не поможешь адаптировать мой скрипт относительно использования кода из твоего примера?
Глянул справку там без пол литры не обойтись... :/
Зы, По мини проге запускаемой в тихом режиме, проверил ее работу в связке с плагином ExecCmd::exec, инсталлер все собирает ошибок никаких нет, как нет и результирующих файлов, которые должны появится в требуемых каталогах.
В случае использования ExecWait все прекрасно работает, окошко отображается и появляются все требуемые файлы в каталогах.
Вопрос: как в итоге избавится от окна проги так, чтобы она при этом срабатывала нормально? Кто что думает ?!
как нет и результирующих файлов, которые должны появится в требуемых каталогах »
Файлы, я так понимаю, должны появиться после исполнения проги через ExecCmd?
Что за программа, если не секрет?
Приведите так же команду ExecCmd на исполнение приложения
K.A.V.,
Файлы, я так понимаю, должны появиться после исполнения проги через ExecCmd?
Да.
Что за программа, если не секрет?
Самопальный билдер/андпакер + немного работы со звуком. Все подробности в аську или куда ни будь еще, если будет желание помочь.
Приведите так же команду ExecCmd на исполнение приложения.
...
FileOpen $0 "${MNB} Install\comm.vs" w
FileWrite $0 "%%(%%D)%%N%%N"
FileClose $0
SetOutPath "${MNB2} Install2"
ExecCmd::exec '${MNB} Install\GDR.exe ${MNB3} "$INSTDIR\SOdsee.vd" ".. : : " "comm.vs"'
...
Хм.. а не может она не срабатывать, от того что при ее исполнении используется внешний файл(ы) настроек и конфигов, для ее работы?
Все подробности в аську или куда ни будь еще, если будет желание помочь. »
Желание помогать есть, иначе меня бы не было в этой теме и не было бы справочника ;)
У меня не на столько много времени, чтобы помогать в режиме реального времени
Хм.. а не может она не срабатывать »
Поиграться с кавычками не пробовали??? Может программа не правильно принимает параметры, которые вы ей передаёте, попробуйте заключить в одни кавычки все 3 параметра (у вас же 3 параметра передаётся??)
ExecCmd::exec '${MNB} Install\GDR.exe "${MNB3} $INSTDIR\SOdsee.vd .. : : comm.vs"'
P.S.
Pop $0
ExecCmd::wait $0
Ждать завершения исполнения приложения (ну вдруг вы не указывали)
K.A.V., Поиграться с кавычками не пробовали??? Может программа не правильно принимает параметры, которые вы ей передаёте, попробуйте заключить в одни кавычки все 3 параметра (у вас же 3 параметра передаётся??)
Пробовал, не работает, выдает ошибки на уровне вызова команд при работе инсталлера. Передается 4 параметра.
Будем думать дальше что тут и как...
выдает ошибки на уровне вызова команд при работе инсталлера »
Что за ошибки то?
Если как вы написали
Самопальный билдер/андпакер »
То пропишите в нём отображение командной строки при запуске (ну я в том смысле, чтобы проверить, все ли параметры программе передаются корректно)
Можете ещё попробовать ExecDos plug-in (http://nsis.sourceforge.net/ExecDos_plug-in), он практически такой же...Я его использую для запуска в скрытом режиме компилятора NSIS в своей программе SFX Creator :)
Что за ошибки то?
Не передаются параметры по изменяемому файлу, для исполнения прогой.
Можете ещё попробовать ExecDos plug-in,
Попробуем. :)
Не передаются параметры по изменяемому файлу »
comm.vs??
Так вы полный путь, не пробовали прописывать в передаваемом параметре? ;)
K.A.V.,
Так вы полный путь, не пробовали прописывать в передаваемом параметре?
Пробовал и так и эдак, месаги пишут что все ровно, пути все на месте, а файлов нет...
ExecDos plug-in - скрывает прогу, но нет файлов. :/
Зы, Такое ощущение что через плагины содержимое файла не читается.
Пробовал и так и эдак, месаги пишут что все ровно, пути все на месте, а файлов нет... »
Ну прям магия какая-то :)
Запакуйте всё это дело с комментами к вашей проге в архив и скиньте мне в личку ссылку на скачивание либо вложение, попозже посмотрю, может и разгадаю ваш ребус :)
Добро, после 16:00 как вернусь с работы сделаю.
Creator000
06-09-2012, 22:02
С помощью InstallDir задал каталог установки по умолчанию. Но это просто декорация
SetOutPath задает реальный каталог. и программа устанавливает только туда.
у InstallDir у меня была програм файлс
у setOutPath был темп. программа ставится только в темп, даже если в странице !insertmacro MUI_PAGE_DIRECTORY выбрать другой каталог.
как сделать свободу выбора каталога?
SetOutPath задает реальный каталог. и программа устанавливает только туда. »
Вы прочитайте внимательно про переменные NSIS
И прочитайте для чего конкретно SetOutPath
$INSTDIR = InstallDir
В SetOutPath указывайте $INSTDIR
Вам с такими темпами и до временного бана не далеко
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC