Инструкция по использованию скинов
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" должна быть команда распаковки