Показать полную графическую версию : [архив].: NSIS - все вопросы :.
Krinkels
16-04-2010, 12:16
K.A.V.
Спасибо за совет, вечером обязательно попробую :)
hb860, У меня на Windows 7 HP x64 не работает RegDLL
Похоже, у меня либа просто реганая оставалась. На чистой системе и у меня не работает.
Говорят, regDLL вызывается из 32битного инсталлятора и работать вовсе не должна.
В форумах нсис говорят юзать то, что предложил K.A.V.:
И вот ещё (взял отсюда) попробуйте:
Код:
!define LIBRARY_X64
${If} ${RunningX64}
!insertmacro InstallLib REGDLL NOTSHARED REBOOT_PROTECTED "dll_64.dll" $INSTDIR\dll_64.dll "$INSTDIR"
${Else}
!insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED "dll_64.dll" $INSTDIR\dll_64.dll "$INSTDIR"
${Endif}
!undef LIBRARY_X64 »
kotkovets
21-04-2010, 01:06
А как поменять картинку чекбоксов в модуле nsDialogs ?
Полный ноль в NSIS, но надо создать инсталлятор. Подскажите пожалуйста:
1) как сделать так чтобы место установки бралось из реестра? т.е. проверялся ключ уже на компьютере где идет установка и в качестве пути по умолчанию предлагался бы найденный в реестре ключ
2) нужно будет создавать патчи, возможно ли такое в NSIS?
3) где можно поменять стандартный текст (типа "Вас приветствует мастер...")?
4) как добавить свою картинку в поле слева (видел такое в разных NSIS'овских инсталлерах)?
NoName01.cpp
22-04-2010, 18:19
Здраствуйте! Инсталлятор должен зарегистрировать службу. Кто-то знает как такое делается на NSIS?
1) как сделать так чтобы место установки бралось из реестра? т.е. проверялся ключ уже на компьютере где идет установка и в качестве пути по умолчанию предлагался бы найденный в реестре ключ »
в функции .onInit прочитать значение ключа
Function .onInit
ReadRegStr $0 HKCU Software\mysoft "setuppath"
StrCpy $INSTDIR $0
FunctionEnd
2) нужно будет создавать патчи, возможно ли такое в NSIS? »
скажу честно - не знаю насчёт NSIS, обычно такие вещи делаются чем-то другим. Например, патчи ресурсов компилируются Restorator'ом
3) где можно поменять стандартный текст (типа "Вас приветствует мастер...")? »
Из справки:
MUI_WELCOMEPAGE_TITLE title Title to display on the top of the page.
MUI_WELCOMEPAGE_TITLE_3LINES Extra space for the title area.
MUI_WELCOMEPAGE_TEXT text Text to display on the page.
Таким обзразом,
!define MUI_WELCOMEPAGE_TITLE "Заголовок"
!define MUI_WELCOMEPAGE_TEXT "Вас привествует мастер Онотоле. Щас будем мастерить глиняный горшок"как добавить свою картинку в поле слева (видел такое в разных NSIS'овских инсталлерах)? »
Вот тут гляньте c:\Program Files\NSIS\Docs\Modern UI 2\Readme.html
и вот тут http://forums.shoutcast.com/showthread.php?t=208627
Там всё есть.
-------------------------------------------------------
Здраствуйте! Инсталлятор должен зарегистрировать службу. Кто-то знает как такое делается на NSIS? »
Есть офигительный плагин для управления службами (http://nsis.sourceforge.net/NsSCM_plug-in)
Habetdin
22-04-2010, 20:58
как сделать так чтобы место установки бралось из реестра? т.е. проверялся ключ уже на компьютере где идет установка и в качестве пути по умолчанию предлагался бы найденный в реестре ключ »
!define PRODUCT_DIR_REGKEY "Software\Bla-Bla Soft\The Program"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "InstallPath"
Section -Post
...
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "InstallDir" "$INSTDIR"
...
SectionEnd
Section Uninstall
...
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
...
SectionEnd
Habetdin, сообщение полезное ;)
Цитирую справку:
For more advanced install directory configuration, set $INSTDIR in .onInit.
Я сразу это и предложил.
Еще одну проблему обнаружил - на 64-битной семерке не удаляются ярлыки и группа прогаммы из меню Пуск - хотя из папки в каталоге Users линки удаляются, но в самом Пуске они видны - как это победить?
ilias_div
27-04-2010, 11:03
Попробую повторить вопрос от Archius (http://forum.oszone.net/post-1350467-400.html) - ибо тема для меня важная, а ответов так и не было...
В Windows 7, Server 2008 и т.п. в ярлыках приложений во вкладке "совместимость" появилась галочка "Выполнять эту программу от имени администратора". Некоторые мои приложения (например, настройка служб моей системы) без этой галочки работают некорректно - в случае этой утилиты, система отрубает приложению доступ к SCM.
Может ли NSIS создавать ярлыки (в меню пуск, на рабочем столе) - у которых галочка "Выполнять эту программу от имени администратора" будет установлена по умолчанию? Может, есть какие расширения для этого?
как это победить? »
поставлю х64 - посмотрю
Юр, вот тут глянь http://nsis.sourceforge.net/Shortcuts_removal_fails_on_Windows_Vista
Может ли NSIS создавать ярлыки (в меню пуск, на рабочем столе) - у которых галочка "Выполнять эту программу от имени администратора" будет установлена по умолчанию? Может, есть какие расширения для этого? »
Насколько мне известно, нет
hb860, Спасибо - до нынешнего времени интернет был с трафиком и лазять по сетке накладно было и не мог сам найти все это безобразие
hb860, собственно у меня вопрос:
Можно ли в NSIS сделать так, к примеру, у меня есть основная секция, например, PROGRAM_BASE и один дополнительный компонент, напрмер, COMPONENT, который помещён в SectionGroup, сам COMPONENT, будет находится в $EXEDIR\Addition\COMPONENT.exe или в $EXEDIR\COMPONENT.exe, так вот сам вопрос: можно ли в самом начале установки сделать проверку на наличие COMPONENT.exe в $EXEDIR\Addition\ и в $EXEDIR\ , и если этого COMPONENT.exe нет, то скрыть всю SectionGroup, а если этот COMPONENT.exe, есть, то отобразить SectionGroup. Почитав справку, увидел что в SectionGroup нет скрытия как на Section (Section "-Any_Name" или Section # Any_Name), есть какой-то способ, чтоб реализовать мою затею? Если можно напишите небольшой пример...
И ещё, вопрос: можно ли через скрипт изменять размер, например, прогресс бара?
hb860, RequestExecutionLevel и SetShellVarContext не помогают и ярлыки из Пуска не удаляются :(
Завтра у меня будет VAIL x64, я посмотрю на конкретном примере
И ещё, вопрос: можно ли через скрипт изменять размер, например, прогресс бара? »
посмотрю
На все ваши другие вопросы давно есть ответы тут: http://forums.winamp.com/showthread.php?postid=1765792
Почитав справку, увидел что в SectionGroup нет скрытия как на Section »
Там зато написано что можно рулить флагами, что вам и требуется
Вот вам пример лично от меня:
!include "MUI.nsh"
!include "Sections.nsh"
SetCompressor /SOLID lzma
!define MUI_ABORTWARNING
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "Russian"
Name "Lisabon"
InstallDir "$TEMP\Lisabon"
OutFile "Lisabon.exe"
Section "CORE" CORE
SetOutPath "$INSTDIR"
File "d:\Test.theme"
SectionEnd
SectionGroup "Some text" sg1
Section "message box" mb
MessageBox MB_OK "simple message box"
SectionEnd
SectionGroupEnd
Function .onInit
IfFileExists "$EXEDIR\Addition\COMPONENT.exe" leavefunc
IfFileExists "$EXEDIR\COMPONENT.exe" leavefunc
IntOp $0 ${sg1} + 1
!insertmacro ClearSectionFlag ${sg1} ${SF_SELECTED}
!insertmacro ClearSectionFlag ${mb} ${SF_SELECTED}
!insertmacro ClearSectionFlag ${sg1} ${SF_SECGRP}
!insertmacro ClearSectionFlag $0 ${SF_SECGRPEND}
SectionSetText ${mb} ""
SectionSetText ${sg1} ""
SectionSetText $0 ""
leavefunc:
FunctionEnd
доброго времени суток
я решил скомпилить FirefoxPortable.nsi
но с кое-какими изменениями:
запуск приложения с параметрами и рабочей папкой
параметры в коде указать получилось:
StrCpy $EXECSTRING `"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" -app application.ini -override "%APPDATA%\WebApps\quake.live@prism.app\override.ini" -webapp quake.live@prism.app -profile "$PROFILEDIRECTORY"`
Goto CheckMultipleInstances
LaunchProgramParameters:
StrCpy $EXECSTRING `"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" -app application.ini -override "%APPDATA%\WebApps\quake.live@prism.app\override.ini" -webapp quake.live@prism.app -profile "$PROFILEDIRECTORY" $0`
Подскажите с рабочей папкой (мб еще плагин какой нада я вот нашел линк (http://nsis.sourceforge.net/ShellExecWait) но сам разобраться не оч выходит)
мая рабочая папка :
"C:\Program Files\FirefoxPrismQuakeLive\Firefox\Data\profile\extensions\refractor@developer.mozilla.org\prism"
ilias_div
05-05-2010, 11:26
Цитата ilias_div:
Может ли NSIS создавать ярлыки (в меню пуск, на рабочем столе) - у которых галочка "Выполнять эту программу от имени администратора" будет установлена по умолчанию? Может, есть какие расширения для этого? »
Насколько мне известно, нет »
Понятно
Впрочем, если кому интересно, проблему запуска программы под семеркой с админскими правами решил с помощью манифеста, как описано здесь (http://krez0n.org.ua/archives/318) или здесь (http://www.heaventools.ru/rt-how-to-add-application-manifest.htm)
я решил скомпилить FirefoxPortable.nsi »
Зачем?
Простите за оффтом, но вот вам мануал (http://winreview.ru/Soft/405/Portable-Firefox-kak-sdelat-portativnim-populyarnij-brazuer), как сделать это приложение портативным
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC