Показать полную графическую версию : [архив].: NSIS - все вопросы :.
kotkovets
26-01-2012, 09:18
Для практики. И не доверяю я этим ключам. Кто его знает, что там написано »
не доверять AIMP3 ???
Вы проверьте, особенно ассоциации...
Все работает. Проблему наблюдаю только с регистрацией библиотеки
RegDLL "$INSTDIR\Modules\aimp_menu32.dll »
А регистрацию/разрегистрацию библиотеки тоже не верите? :)
Люди которые AIMP разработали далеко не дураки...и прекрасно понимают, что нужно пользователю.
wolkow70
26-01-2012, 10:12
kotkovets,
Кажется такая конструкция (подсмотрел в справке) не совсем оптимальна, приходится дублировать код YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
${If} ${RunningX64}
;========УСТАНОВКА НА 64-БИТНЫЕ СИСТЕМЫ==========
SetRegView 64
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SetRegView 32
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
${Else}
;=======УСТАНОВКА НА 32-БИТНЫЕ СИСТЕМЫ===========
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
${EndIf}
kotkovets
26-01-2012, 11:19
Кажется такая конструкция (подсмотрел в справке) не совсем оптимальна, приходится дублировать код »
SetRegView 32 в x64 нужно (по умолчанию) возвратить в большинстве случаев, поэтому
общие команды нужно писать вне конструкции - это очевидно.
приходится дублировать код »
Про дублирование кода уже не раз говорил - переносите код в функцию или в макрос,
все зависит от поставленной задачи, речь тут только о пользовательской оптимизации,
которая еще зависит от знаний/опыта разработчика.
wolkow70
26-01-2012, 11:27
SetRegView 32 в x64 нужно (по умолчанию) возвратить в большинстве случаев, поэтому
общие команды нужно писать вне конструкции - это очевидно. »
Не совсем понял как это? В справке про это не написано...
То есть в начале ставить SetRegView 32, а после SetRegView 64?
Перед ReadRegStr тоже ставить SetRegView 64, если нужно прочесть значение из родного раздела на запущенной X64?
kotkovets
26-01-2012, 12:29
Не совсем понял как это? В справке про это не написано... »
Справка - это как использовать инструмент.
Использование инструмента - дело опыта. В x64 большинство веток идентичны в х86,
Поэтому NSIS по умолчанию предоставляет 32-разрядный вид реестра, все зависит от
конкретно устанавливаемой и как требования предъявляет программа.
Для того - в основном инсталлятор служит - прогибаться под установку программы, а не наоборот.
wolkow70
26-01-2012, 12:46
Поэтому NSIS по умолчанию предоставляет 32-разрядный вид реестра »
Эксперементально в этом убедился.
Перед ReadRegStr тоже ставить SetRegView 64, если нужно прочесть значение из родного раздела на запущенной X64? »
Тоже эксперементально убедился, что нужно.
Вот и спрашивай потом.)) Рассказали все то, что я и так уже знал и сделал. Вопрос был, можно ли узнать версию устанавливаемой программы ДО ее установки на компьютер и без хардкода.
Я же писал, что в сам скрипт версию руками писать нельзя. А мне потом выдают во это !define version "1.1.3" ;исходно устанавлимая версия .
P.S. Все оказалость проще. Билд машина параметром через командную строку передаст версию в мой скрипт.
funtykin
26-01-2012, 13:59
Здравствуйте!
надо к уже имеющемуся инсталятору добавить возможность обновления.
при запуске я спокойно определяю что уже имеется ранее установленная версия ПО.
и если оно уже присутствует хотелось бы пропустить несколько стандартных окон таких как
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
просто смысла нету их повторно показывать так как эти параметры не меняются.
как так сделать?
Заранее спасибо!
Здравствуйте!
надо к уже имеющемуся инсталятору добавить возможность обновления.
при запуске я спокойно определяю что уже имеется ранее установленная версия ПО.
и если оно уже присутствует хотелось бы пропустить несколько стандартных окон таких как
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
просто смысла нету их повторно показывать так как эти параметры не меняются.
как так сделать?
Заранее спасибо! »
http://stackoverflow.com/questions/2776358/nsis-skip-pages-at-runtime
http://forums.winamp.com/showthread.php?t=203961
kotkovets
26-01-2012, 19:01
хотелось бы пропустить несколько стандартных окон таких как »
я делал как то так:
http://nsis.sourceforge.net/Go_to_a_NSIS_page
http://forum.ru-board.com/topic.cgi?forum=5&topic=0595&start=1146&limit=1&m=1#1
под свою задачу не трудно заточить.
http://stackoverflow.com/questions/2...ges-at-runtime
http://forums.winamp.com/showthread.php?t=203961 »
мутно...
Доброго времени суток господа!kotkovets, такой вопрос модно ли сделать что б когда наводиш курсором на радиобутон впливал коментарий как html?
kotkovets
29-01-2012, 22:37
такой вопрос модно ли сделать что б когда наводиш курсором на радиобутон впливал коментарий как html? »
как html врядли... пробывал не получалось, весьма трудоемко...
а вот есть ToolTips (http://nsis.sourceforge.net/ToolTips_plug-in) - всплывающие сообщения (тултипы)
Если нужно могу выложить рабочие варианты без плагина(без описания с примерами),
плагин не позволяет вставить в символ перевода строки, при длинном тексте это весьма раздражает.
kotkovets, вот задался идеей сбацать репак Alcohol. Как мона сделать так что бы например сначала установился драйвер SPTD 1.80, потом перегрузка компа а потом старт инсталятора и уже установка самой программы...или еще как то моно подскажи! Спасибо!
kotkovets
30-01-2012, 11:54
так что бы например сначала установился драйвер SPTD 1.80, »
Вам нужно сначала проверить установлен ли драйвер, по реестру или на определенный файл, где именно смотреть я не помню...
Если установлен драйвер, то устанавливать Alcohol.
Если не установлен драйвер, то установить драйвер и перезагрузиться обязательно.
Перед перезагрузкой прописать в реестр однократный запуск инсталлятора - для удобства.
Смотрите на 82 страничке темы, там такой похожий вопрос был.(812 сообщение)
Сам драйвер расположен тут C:\Windows\System32\drivers sptd.sys
shtuceron
30-01-2012, 15:08
Здравствуйте,
Сейчас я собираю инсталлятор для своей программы, как мне кажется nsis хороший выбор, но разобраться в нем полностью не получается...
Моя программа состоит из нескольких частей, которые можно выбрать для инсталляции, я их помещаю в секции, как можно прописать путь инсталляции для каждой секции и не показывать его если секции не выбрана?
Спасибо.
.: NSIS - все вопросы :. (http://forum.oszone.net/thread-67386.html)
kotkovets
30-01-2012, 17:35
Сам драйвер расположен тут C:\Windows\System32\drivers sptd.sys »
Можно примерно вот так:
!include "logiclib.nsh"
;--
Section
${IfNot} ${FileExists} "$SYSDIR\drivers\sptd.sys" ;если нет этого файла, то...
;команды установки драйвера
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AlcogolSoft" '"$EXEPATH"'
MessageBox MB_OKCANCEL "Установка продолжится после перезагрузки!$\nПерезагрузить компьютер сейчас?" IDCANCEL +2
Reboot ;перезагрузка
Quit ;выход
${EndIf}
ClearErrors
ReadRegStr $0 HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AlcogolSoft"
IfErrors +3 ;если выше ключ существует, то ---
MessageBox MB_OK "Для продолжения установки нужно перезагрузить компьютер" IDOK
Quit
SectionEnd
shtuceron, в шапке темы --> документация
kotkovets, а есть какое то универсальное средство чтобы отследить после установки программы все изменения в системе (файловой, реестр понятно, новые процессы, установленные драйверы и т.д.), а вот столкнулся с проблемой такой перепаковывал internet download manager все работает все, но не работает расширенная интеграция в браузеры когда ставлю свой репак, пишет что я заблокировал сетевой драйвер IDM и не включается ни в какую не могу найти что где не так, пробовал отследить обращение к файлу или ветку реестра с помощью Procmon.exe никак не могу понять чего не хватает! Тоесть никак не могу понять какие файли отвечают за интеграцию IDM в браузеры! :search:
http://s015.radikal.ru/i331/1201/43/1542cd86be9f.jpg
kotkovets
30-01-2012, 18:32
есть какое то универсальное средство чтобы отследить после установки программы все изменения в системе (файловой, реестр понятно, новые процессы, установленные драйверы и т.д.), »
нет, каждое средство индивидуально, здесь прогибаем установщик под конкретную задачу, а не наоборот.
В справке, в шапке темы, вы найдете все инструменты. За Вами только как правильно их применитьперепаковывал internet download manager все работает все, но не работает расширенная интеграция в браузеры когда ставлю свой репак, пишет что я заблокировал сетевой драйвер IDM и не включается ни в какую не могу найти что где не так, пробовал отследить обращение к файлу или ветку реестра с помощью Procmon.exe никак не могу понять чего не хватает! Тоесть никак не могу понять какие файли отвечают за интеграцию IDM в браузеры! »
Вопрос не по теме, спросите знатоков, я не пользуюсь этой прогой,
мне достаточно встроенного в браузер стандартной качалки.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC