[архив].: NSIS - все вопросы :.

Ответить
 • Просмотры: 33
Аватара пользователя
Painkiller

Re: [архив].: NSIS - все вопросы :.

Сообщение Painkiller »

K.A.V.

Спасибо за совет, вечером обязательно попробую Изображение
Аватара пользователя
hb860

Re: [архив].: NSIS - все вопросы :.

Сообщение hb860 »

Шкуры я сам никогда не надевал. Сегодня вечером попробую и напишу, как это делается.
Аватара пользователя
K.A.V.

Re: [архив].: NSIS - все вопросы :.

Сообщение K.A.V. »

Похоже, у меня либа просто реганая оставалась. На чистой системе и у меня не работает.

Говорят, regDLL вызывается из 32битного инсталлятора и работать вовсе не должна.

В форумах нсис говорят юзать то, что предложил K.A.V.:


Цитата 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
[архив].: NSIS - все вопросы :.
Аватара пользователя
Painkiller

Re: [архив].: NSIS - все вопросы :.

Сообщение Painkiller »

K.A.V. ,hb860, почему то у меня не получается.

Если так :

Function .onInit

SetOutPath $TEMP

NSIS_SkinCrafter::skin /NOUNLOAD $TEMP\V-touch.skf

FunctionEnd.



Компилируется но никаких внешних изменений нету.

Если так :



Function .onInit

SetOutPath $TEMP

File /oname=V-touch.skf "V-touch.skf"

NSIS_SkinCrafter_Plugin::skin /NOUNLOAD $TEMP\V-touch.skf

Delete $TEMP\V-touch.skf

FunctionEnd




Выбивает ошибку при компиляции . Что делать? Помогите?
Аватара пользователя
Vsirf

Re: [архив].: NSIS - все вопросы :.

Сообщение Vsirf »

hb860, я никогда не пользовался программой NSIS , но возник такой вопрос: можно ли с помощью NSIS создать Welcom Center ( запуск программ из него , или запуск компонентов панели управления ) для Windows XP , если да , то где можно почитать про команды и компиляцию , у меня есть уже готовый ( разковыряный ) , но что то подобное мне создать никак не удается ? заранее благодарен
Аватара пользователя
K.A.V.

Re: [архив].: NSIS - все вопросы :.

Сообщение K.A.V. »

Инструкция по использованию скинов Изображение



1. Качаем с
этой
странички "Unicode/ANSI NSIS SkinCrafter Plugin" (если скин не подгружается, попробуйте
эту
библиотеку), открываем загруженный архив, распаковываем библиотеку "NSIS_SkinCrafter_Plugin.dll" в каталог с плагинами NSIS (\Program Files\NSIS\Plugins)



2. Загружаем какой-либо файл скина из
библиотеки




3. Добавляем данный кусок кода в NSIS



Код:

Код: Выделить всё

Function .onInit
 SetOutPath $TEMP
 File /oname=TEST.skf "TEST.skf"
 NSIS_SkinCrafter_Plugin::skin /NOUNLOAD "$TEMP\TEST.skf"
FunctionEnd

И не забудьте выгрузить SkinCrafter



Код:

Код: Выделить всё

Function .onGUIEnd
    	NSIS_SkinCrafter_Plugin::destroy
FunctionEnd

В данном коде предположено, что файл скина "TEST.skf" находится в одной папке с NSIS скриптом

Для того, чтобы скин подгружался и в деинсталляторе, добавьте следующие функции



Код:

Код: Выделить всё

Function un.onInit
     SetOutPath $TEMP
     File /oname=TEST.skf "TEST.skf"
     NSIS_SkinCrafter_Plugin::skin /NOUNLOAD "$TEMP\TEST.skf"
FunctionEnd
Function un.onGUIEnd
     NSIS_SkinCrafter_Plugin::destroy
FunctionEnd



P.S.

На некоторых сборках ОС скин может не примениться, т.к. удалены некоторые библиотеки

На момент редактирования поста мной выявлена 1 DLL, без которой скины не подгружаются - mfc71.dll, она должна находиться в директории System32

Если вы не уверены, что данная библиотека присутствует в системе, то добавьте данную библиотеку в пакет инсталлятора и пропишите команду распаковки данной библиотеки в System32 каталог перед тем, как вызовите функцию загрузки скина

Можно конечно обойтись без распаковки библиотеки в системный каталог, для этого поместите mfc71.dll в одну директорию с пакетом инсталлятора







Painkiller, ваши ошибки


читать дальше »




NSIS_SkinCrafter_Plugin::skin /NOUNLOAD $TEMP\V-touch.skf

и ещё 1 ошибка, вы же не распаковали файл скина, после команда "SetOutPath $TEMP" должна быть команда распаковки
Аватара пользователя
hb860

Re: [архив].: NSIS - все вопросы :.

Сообщение hb860 »

Цитата Sudno:



1) как сделать так чтобы место установки бралось из реестра? т.е. проверялся ключ уже на компьютере где идет установка и в качестве пути по умолчанию предлагался бы найденный в реестре ключ
[архив].: NSIS - все вопросы :.




в функции .onInit прочитать значение ключа



Код:

Код: Выделить всё

Function .onInit
ReadRegStr $0 HKCU Software\mysoft "setuppath"
StrCpy $INSTDIR $0
FunctionEnd


Цитата Sudno:



2) нужно будет создавать патчи, возможно ли такое в NSIS?
[архив].: NSIS - все вопросы :.




скажу честно - не знаю насчёт NSIS, обычно такие вещи делаются чем-то другим. Например, патчи ресурсов компилируются Restorator'ом


Цитата Sudno:



3) где можно поменять стандартный текст (типа "Вас приветствует мастер...")?
[архив].: NSIS - все вопросы :.




Из справки:


Цитата:



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 "Вас привествует мастер Онотоле. Щас будем мастерить глиняный горшок"


Цитата Sudno:



как добавить свою картинку в поле слева (видел такое в разных NSIS'овских инсталлерах)?
[архив].: NSIS - все вопросы :.




Вот тут гляньте c:\Program Files\NSIS\Docs\Modern UI 2\Readme.html

и вот тут


Там всё есть.

-------------------------------------------------------


Цитата NoName01.cpp:



Здраствуйте! Инсталлятор должен зарегистрировать службу. Кто-то знает как такое делается на NSIS? [url=viewtopic.php?p=2792655#p2792655]»




Есть офигительный плагин для управления службами
Аватара пользователя
Painkiller

Re: [архив].: NSIS - все вопросы :.

Сообщение Painkiller »

Цитата Sudno:



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






Код:

Код: Выделить всё

!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

Re: [архив].: NSIS - все вопросы :.

Сообщение Habetdin »

Habetdin, сообщение полезное Изображение



Цитирую справку:


Цитата:



For more advanced install directory configuration, set $INSTDIR in .onInit.



Я сразу это и предложил.
Аватара пользователя
Painkiller

Re: [архив].: NSIS - все вопросы :.

Сообщение Painkiller »

K.A.V. , странно почему то скин и на чистой xp sp2 не пашит Изображение
Ответить

Вернуться в «Автоматическая установка приложений»