Показать полную графическую версию : [архив].: NSIS - все вопросы :.
Я Вас еще буду мучать что бы Вы мне помогли разобраться с добавлением окон и при этом буду просить что бы Вы мне помогли нарисовать или изменить положение деталей в этих окнах »
Я закончил статью, NSIS. NSIS. Создаем собственные страницы инсталлятора (http://www.winreview.ru/comment.php?comment.news.241.11). Я надеюсь, этот материал поможет кому-то.
dracosha, задавайте вопросы. Слушаем.
Уважаемые модераторы, попрошу не рассматривать мои публикации как рекламу ресурса. В случае необходимости, я готов перепостить информацию на сайт Oszone или даже прямо в этот форум. Просто сообщите мне об этом, я и учту все рекомендации
Painkiller
23-01-2010, 02:59
K.A.V. ,hb860 , изменю свой вопрос. Как сделать чтобы в названии секции с компонентами было указано ещё и количество выбранных компонентов?
K.A.V. ,hb860 , изменю свой вопрос. Как сделать чтобы в названии секции с компонентами было указано ещё и количество выбранных компонентов? »
В функции onSelChange прописать команды на перечисление статусов секций командами SectionGetFlags, в самом конце прописываем команду SectionSetText, где указываем количество подсчитанных отмеченных секций :)
Если не понятно, объянснил, то могу код сделать :)
Сейчас сделаю ;)
:)
SubSection /e "Компоненты для установки" subSec
Section /o "test1" section1
SectionEnd
Section /o "test2" section2
SectionEnd
Section /o "test3" section3
SectionEnd
Section /o "test4" section4
SectionEnd
Section /o "test5" section5
SectionEnd
Section /o "test6" section6
SectionEnd
SubSectionEnd
Function .onSelChange
Strcpy $0 0
SectionGetFlags ${section1} $1
StrCmp $1 "1" 0 +2
IntOp $0 $0 + 1
SectionGetFlags ${section2} $1
StrCmp $1 "1" 0 +2
IntOp $0 $0 + 1
SectionGetFlags ${section3} $1
StrCmp $1 "1" 0 +2
IntOp $0 $0 + 1
SectionGetFlags ${section4} $1
StrCmp $1 "1" 0 +2
IntOp $0 $0 + 1
SectionGetFlags ${section5} $1
StrCmp $1 "1" 0 +2
IntOp $0 $0 + 1
SectionGetFlags ${section6} $1
StrCmp $1 "1" 0 +2
IntOp $0 $0 + 1
SectionSetText ${subSec} "Компоненты для установки (Выбрано $0)"
FunctionEnd
dracosha
23-01-2010, 15:11
Вот еще возникло 3 вопроса...
Вопрос 1
Вобщем есть страничка лицензии
!insertmacro MUI_PAGE_LICENSE "files\LicenseRU.rtf"
а у меня еще есть файл лицензии LicenseEN.rtf
И если пользователь выбрал аннглийский язык, то мне очень хотелось бы чтоб ему отобразился текст из LicenseEN.rtf
Вопрос 2
Получается что какой бы язык пользователь не выбрал при инсталяции, в любом случае будет копировться файлик с русским языком... И если этот файлик копируется то при запуске прога будет запускаться на русском языке. Как бы сделать так что бы при выборе русского языка копировался файл с русским языком, а при выборе английского языка чтоб ничего не копировалось?
Вопрос 3
В скрипт добавил вот такую функцию: (зы взял код отсюда (http://www.team-x.ru/index.php/2008-10-14-16-09-47/46-coding-installers/229-nullsoft-scriptable-install-system-nsis.html) )
Function .onInit
SetOutPath $TEMP
File /oname=spl.bmp "files\splash.bmp"
advsplash::show 1500 2500 250 -1 $TEMP\spl
Pop $0
Delete $TEMP\spl.bmp
FunctionEnd
Вобщем можно ли сделать заставку что бы отображались картинки с прозрачностью? Например png-шки
Дайте плиз примерчики на это дело.
dracosha, задавайте вопросы. Слушаем. »
Уважаемый hb860, мне очень помогли Ваши практические примеры... Особенно 3 первых примера...
К сожалению в 4-м примере для меня все оказалось очень сложно. Наверное потаму что я не знаю ниодного языка програмирования...
Я очень хочу изменить страничку !insertmacro MUI_PAGE_COMPONENTS
И хочу что бы она выглядела вот так:
http://photofile.ru/photo/dracoshaiks/96320719/small/114794268.jpg (http://photofile.ru/users/dracoshaiks/96320719/114794268/)
Если Вас не затруднит помогите мне пожалуйста с этим.
И ко всему этому я хочу добавить еще одну точно такую же страничку но на ней уже будут не компоненты а настройки. Правда там точно так же будут копироваться файлы как и в компонентах. Т.е. пользователь поставил птичку значит копироваться, нет значит не копироваться.
Если у Вас возникло сомнение или вопрос зачем еще одно такое же окно если там тоже будут копироваться файлы...
Дело в том что настройки - это инифайлы, которые при запуске проги автоматически будут удаляться... А точнее прога при первом запуске подхватит все настройки которые прописаны в ини и сразу же их удалит.
NoName01.cpp
23-01-2010, 19:37
Здраствуйте, K.A.V. Я задавал вопрос о трех деинсталляторах. Вы мне предложили следущий код:
Section "Sec1" Sec1
...
WriteUninstaller "$INSTDIR\Sec1\uninstall.exe"
SectionEnd
Section "Sec2" Sec2
...
WriteUninstaller "$INSTDIR\Sec2\uninstall.exe"
SectionEnd
Section "Sec3" Sec3
...
WriteUninstaller "$INSTDIR\Sec3\uninstall.exe"
SectionEnd
!include "FileFunc.nsh"
Section Uninstall
${GetParent} "$EXEPATH" $R0
StrCmp $R0 "$INSTDIR\Sec1" 0 +2
call UnInstall_SEC1
StrCmp $R0 "$INSTDIR\Sec2" 0 +2
call UnInstall_SEC2
StrCmp $R0 "$INSTDIR\Sec3" 0 +2
call UnInstall_SEC3
SetAutoClose true
SectionEnd
Function UnInstall_SEC1
...
FunctionEnd
Function UnInstall_SEC2
...
FunctionEnd
Function UnInstall_SEC3
...
FunctionEnd
Но 3 последних функции не вызываются.
Проверил значение $EXEPATH. Там совсем не тот путь: C:\Users\836D~1\AppData\Local\Temp\~nsu.tmp
То есть условие не срабатывает((((
Вопрос 1
Вобщем есть страничка лицензии
!insertmacro MUI_PAGE_LICENSE "files\LicenseRU.rtf"
а у меня еще есть файл лицензии LicenseEN.rtf
И если пользователь выбрал аннглийский язык, то мне очень хотелось бы чтоб ему отобразился текст из LicenseEN.rtf
!insertmacro MUI_PAGE_WELCOME
Page license
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "English"
LicenseLangString myLicenseData ${LANG_ENGLISH} "English_license_file.txt"
LicenseLangString myLicenseData ${LANG_RUSSIAN} "Russian_license_file.txt"
LicenseData $(myLicenseData)
Вопрос 2
Получается что какой бы язык пользователь не выбрал при инсталяции, в любом случае будет копировться файлик с русским языком... И если этот файлик копируется то при запуске прога будет запускаться на русском языке. Как бы сделать так что бы при выборе русского языка копировался файл с русским языком, а при выборе английского языка чтоб ничего не копировалось?
Про какой файл идёт речь? Про любой?
Вот пример команды копирования файла, копирование происходит, если пользователь выбрал русский язык
StrCmp $Language "1049" 0 +2
CopyFiles "$Windir\test.exe" "$Temp"
Вобщем можно ли сделать заставку что бы отображались картинки с прозрачностью? Например png-шки
Не получится, тип файла это дело плагина, возможны только BMP файлы, да и прозрачность там такая что...
В коде вашего примера, за прозрачный цвет отвечает 4-ый параметр, т.е. -1, необходимо заменить "-1" на HEX значение прозрачного цвета, например, при указании 0xFFFFFF, за прозрачный цвет будет белый
Я очень хочу изменить страничку !insertmacro MUI_PAGE_COMPONENTS
Необходимо с помощью редактора ресурсов (напр. ResHacker) изменить ресурс 104 в файле MUI диалогов (обычно это \Program Files\NSIS\Contrib\UIs\modern.exe)
И ко всему этому я хочу добавить еще одну точно такую же страничку но на ней уже будут не компоненты а настройки
Таким вопросом не задавался, да и нужды не было, в двух страничках с компонентами :)
А сам скрипт вам не позволит две разные COMPONENTS странички, если вы пропишите дважды данную команду, у вас просто продублируется данный диалог...
С группами и галочками (но без описания) можно сделать такой диалог при помощи плагина EmbeddedLists
Здраствуйте, K.A.V. Я задавал вопрос о трех деинсталляторах. Вы мне предложили следущий код:
...
Но 3 последних функции не вызываются.
Проверил значение $EXEPATH. Там совсем не тот путь: C:\Users\836D~1\AppData\Local\Temp\~nsu.tmp
То есть условие не срабатывает((((
Простите, ошибся, не тестировал и написал "на скорую руку"
Правильно будет так:
Section "Sec1" Sec1
#...
Strcpy $R9 $INSTDIR
strcpy $INSTDIR "$INSTDIR\Sec1"
WriteUninstaller "$INSTDIR\uninstall.exe"
strcpy $INSTDIR "$R9"
SectionEnd
Section "Sec3" Sec2
#...
Strcpy $R9 $INSTDIR
strcpy $INSTDIR "$INSTDIR\Sec2"
WriteUninstaller "$INSTDIR\uninstall.exe"
strcpy $INSTDIR "$R9"
SectionEnd
Section "Sec3" Sec3
#...
Strcpy $R9 $INSTDIR
strcpy $INSTDIR "$INSTDIR\Sec3"
WriteUninstaller "$INSTDIR\uninstall.exe"
strcpy $INSTDIR "$R9"
SectionEnd
Section Uninstall
${GetParent} "$INSTDIR\uninstall.exe" $R0
${GetParent} "$R0" $R0
StrCmp $INSTDIR "$R0\Sec1" 0 +2
call un.UnInstall_SEC1
StrCmp $INSTDIR "$R0\Sec2" 0 +2
call un.UnInstall_SEC2
StrCmp $INSTDIR "$R0\Sec3" 0 +2
call un.UnInstall_SEC3
SetAutoClose true
SectionEnd
Function un.UnInstall_SEC1
#...
FunctionEnd
Function un.UnInstall_SEC2
#...
FunctionEnd
Function un.UnInstall_SEC3
#...
FunctionEnd
Я хотел бы объяснить код, т.к. первый раз сталкиваюсь с созданием 3-х Деинсталляторов :)
После тестов, было выяснено, что невозможно вычислить директорию, где расположен файл деинсталлятора, только с помощью переменной $INSTDIR, поэтому, в секциях установки, мы сначала сохраняем значение переменной в переменную $R9, назначаем переменной $INSTDIR путь расположения компонента, создаём деинсталлятор с изменённой переменной (это очень важно), после создания деинсталлятора восстанавливаем значение переменной $INSTDIR
dracosha
24-01-2010, 01:39
Про какой файл идёт речь? Про любой?
Вот пример команды копирования файла, копирование происходит, если пользователь выбрал русский язык
Код:
StrCmp $Language "1049" 0 +2
CopyFiles "$Windir\test.exe" "$Temp" »
Я так понимаю этот код я должен был засунуть в функции?
Если так то меня все таки это немного не устраивает... Дело в том что файл копируется еще до выбора папки куда устанавливать прогу (копируется конешно же в указанную папку по умолчанию).
Может есть какое-то другое решение?
Необходимо с помощью редактора ресурсов (напр. ResHacker) изменить ресурс 104 в файле MUI диалогов (обычно это \Program Files\NSIS\Contrib\UIs\modern.exe) »
Спасибо большое... Даже и не представлял что эти окна лежат где-то в ресурсах.
Если так то меня все таки это немного не устраивает... Дело в том что файл копируется еще до выбора папки куда устанавливать прогу (копируется конешно же в указанную папку по умолчанию).
Может есть какое-то другое решение? »
Я честно сказать, не могу понять вашу цель, вашу задачу, объясните грамотно, что нужно сделать? :dont-know
Какие вопросы задаёте, такие ответы и получаете :drug:
dracosha
24-01-2010, 14:15
Я честно сказать, не могу понять вашу цель, вашу задачу, объясните грамотно, что нужно сделать? »
Сори! Попробую еще разок :)
Вобщем вот тестовый скрипт:
SetCompressor /SOLID lzma
RequestExecutionLevel admin
SetOverwrite on
!define PRODUCT_NAME "Super Proga"
InstallDir "$PROGRAMFILES\Super Proga"
!include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "files\LicenseRU.rtf"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_RESERVEFILE_LANGDLL
Section $(NameSec0) Section0
SectionIn RO
SetOutPath "$INSTDIR\"
File "file1.dll"
File "file2.dll"
SectionEnd
Section $(NameSec1) Section1
SetOutPath "$INSTDIR\folder"
File "file3.dll"
SectionEnd
Section $(NameSec2) Section2
SetOutPath "$INSTDIR\folder"
File "file4.dll"
SectionEnd
и т.д.
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
StrCmp $Language "1049" 0 +2
CopyFiles "files\russian.lng" "$INSTDIR\"
SetOutPath $TEMP
File /oname=spl.bmp "files\splash.bmp"
advsplash::show 1500 2500 250 0xFFFFFF $TEMP\spl
Pop $0
Delete $TEMP\spl.bmp
FunctionEnd
Вобщем когда запускается инсталятор, то сразу после заставки (вобщем в самом начале) файл russian.lng копируется в папку по умолчанию... Тут же возникает вопрос... А если пользователь выберет другой путь для установки программы (MUI_PAGE_DIRECTORY)? При тестировании я собственно так и сделал... И в той папке которую я выбрал, файла russian.lng естественно не оказалось. Вобщем мне нужно что бы файл копировался туда куда пользователь решит.
Не получится, тип файла это дело плагина, возможны только BMP файлы, да и прозрачность там такая что...
В коде вашего примера, за прозрачный цвет отвечает 4-ый параметр, т.е. -1, необходимо заменить "-1" на HEX значение прозрачного цвета, например, при указании 0xFFFFFF, за прозрачный цвет будет белый »
сделал свой файлик splash.bmp с прозрачностью
-1 изменил 0xFFFFFF
получилось вот так:
advsplash::show 1500 2500 250 0xFFFFFF $TEMP\spl
скомпилил
но вместо прозрачного выводится черный цвет
0xFFFFFF изменил на 0
получилось вот так:
advsplash::show 1500 2500 250 0 $TEMP\spl
теперь прозрачность есть, но фрагменты изображения на которых изпользуется прозрачность цвета не выводятся с прозрачностью... И в итоге картинка получается не совсем мягкая по бокам :(
Я думаю что есть таки плагины которые позволяют вставлять прозрачные картинки типа png?
K.A.V., может подскажете какой-нить русский ресурс с кучей плагинов для nsis?
Вам нужно поместить данную команду в секцию, а не в функцию, которая выполняется при запуске инсталлятора, пример кода:
Section -post
StrCmp $Language "1049" 0 +2
CopyFiles "files\russian.lng" "$INSTDIR\"
SectionEnd
Данная секция скрыта, она будет выполняться :)
Я думаю что есть таки плагины которые позволяют вставлять прозрачные картинки?
K.A.V., может подскажете какой-нить русский ресурс с кучей плагинов для nsis? »
Есть ещё плагин NewAdvSplash, но он мало чем отличается...
Русскоязычный только nsis.narod.ru, только он не обновляется уже давно и там нет ничего полезного (по крайней мере для меня)...
NoName01.cpp
24-01-2010, 16:28
K.A.V., спасибо за 3 деинсталлятора! Но еще одна проблемка нарисовалась: не могу удалить папку в которую установлена программа. (Ярлыки удаляются, из реестра тоже)
Код:
Section $(Name_Seс1) Sec1
...
Strcpy $R9 $INSTDIR
strcpy $INSTDIR "$INSTDIR\Sec2"
WriteUninstaller "$INSTDIR\uninstall.exe"
strcpy $INSTDIR "$R9"
SectionEnd
Section $(Name_Sec2) Sec2
...
Strcpy $R9 $INSTDIR
strcpy $INSTDIR "$INSTDIR\Sec2"
WriteUninstaller "$INSTDIR\uninstall.exe"
strcpy $INSTDIR "$R9"
SectionEnd
Section $(Name_Sec3) Sec3
...
Strcpy $R9 $INSTDIR
strcpy $INSTDIR "$INSTDIR\Sec3"
WriteUninstaller "$INSTDIR\uninstall.exe"
strcpy $INSTDIR "$R9"
SectionEnd
Function un.UnInstall_Sec1
RMDir /r "$INSTDIR\Sec1" ;вот это не работает
...
FunctionEnd
Function un.UnInstall_Sec2
RMDir /r "$INSTDIR\Sec2" ;вот это не работает
...
FunctionEnd
Function un.UnInstall_Sec3
RMDir /r "$INSTDIR\Sec1" ;вот это не работает
...
FunctionEnd
Может папка не удаляется, потому-что в ней деинсталлятор, или потому-что в ней еще есть папки?
Хотя в примерах скриптов вроде все точное так же.
Может папка не удаляется, потому-что в ней деинсталлятор »
При запуске деинсталлятор копирует сам себя во временную папку со случайным именем, чтобы возможно было удалить деинсталлятор в каталоге $INSTDIR ;)
Скорее всего, в данной папке есть файлы, которые используются системой/программами
К тому же, у вас ошибка в скрипте :)
Должно быть так:
RMDir /r "$INSTDIR"
или
RMDir /r "$R0\Sec1"
Т.к. переменная $INSTDIR уже содержит в своём пути "Sec1", мы же изменяли значение переменной в момент создания деинсталлятора, помните? ;)
dracosha
24-01-2010, 16:49
K.A.V., Спасибо Вам большое.
StrCmp $Language "1049" 0 +2 »
Я так понял "1049" - это код русского языка.
А какой код у английского?
K.A.V., Спасибо Вам большое. »
Лучше помогите материально :laugh:
Шучу конечно, да пожалуйста! ;)
А какой код у английского? »
1033
NoName01.cpp
24-01-2010, 17:20
Т.к. переменная $INSTDIR уже содержит в своём пути "Sec1", мы же изменяли значение переменной в момент создания деинсталлятора, помните? »
Спасибо большое! Теперь работает!
dracosha
24-01-2010, 17:26
Вам нужно поместить данную команду в секцию, а не в функцию, которая выполняется при запуске инсталлятора, пример кода:
Код:
Section -post
StrCmp $Language "1049" 0 +2
CopyFiles "files\russian.lng" "$INSTDIR\"
SectionEnd »
:( не работает! K.A.V., помоги разобраться плиз. Может я что-то не так делаю.
Но из функций я этот код убрал... Дабавил секцию полностью скопировав твой пример... А оно работать не хочет :cry:
Неработает - всмысле не копируется файл russian.lng.
dracosha, ну ей богу... :)
Команда "CopyFiles" копирует файл, который есть на жестком диске, а у нас файл упакованный в инсталлятор, значит прописывать надо так:
SetOutpath $INSTDIR
File "files\russian.lng"
---
Добавил позже
а. Как сделать что-бы обойти размер в 2 Gb. если нельзя, то как реализовать по другому »
У меня тут мысль в голову пришла :)
Использовать несколько инсталляторов NSIS, главный файл будет инсталлятором (маленький размер, чисто для запуска других), остальные будут как архивы (можно изменить на любое расширение отличное от EXE), каждый из инсталлеров будет принимать от главного инсталлера путь, куда следует распаковать файлы и будет их распаковывать :)
dracosha
24-01-2010, 22:24
K.A.V., я думал если Вы мне поможете с копированием файла russian.lng при выборе русского языка, то я смогу догадаться как мне остальные файлы распределить по языкам...
Но к сожалению я разобраться не смог. Извините что сразу не ввел Вас вкурс того что мне еще надо.
Вобщем при выборе русского языка мне нужно что бы копировался russian.lng в корневую папку (с этим Вы мне уже помогли т.е. вопрос закрыт) и set.dll в папку $INSTDIR\settings
а при выборе английского языка что бы копировался тоже set.dll в папку $INSTDIR\settings
но это уже другой файл т.е. внутренности етого файла для русской версии проги отличаются хотя названия файлов одинаковые...
Файлы эти при компиляции естественно лежат в разных местах...
И вот собственно то что я сделал:
SetCompressor /SOLID lzma
RequestExecutionLevel admin
SetOverwrite on
!define PRODUCT_NAME "Super Proga"
InstallDir "$PROGRAMFILES\Super Proga"
OutFile "SuperProga.exe"
!include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "LicenseRU.rtf"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_RESERVEFILE_LANGDLL
Section "Group 1 - Option 1" g1o1
SectionEnd
Section "Group 2 - Option 2" g2o2
SectionEnd
Section "Group 2 - Option 3" g2o3
SectionEnd
Section -post
StrCmp $Language "1049" 0 +2
SetOutPath "$INSTDIR\"
File "files\russian.lng"
SectionEnd
Section -setru
StrCmp $Language "1049" 0 +2
SetOutPath "$INSTDIR\settings"
File "settings\set.dll"
SectionEnd
Section -seten
StrCmp $Language "1033" 0 +2
SetOutPath "$INSTDIR\settings"
File "files\set.dll"
SectionEnd
Section Uninstall
RMDir /r "$INSTDIR\"
SectionEnd
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
SetOutPath $TEMP
File /oname=spl.bmp "splash.bmp"
advsplash::show 1500 2500 250 0 $TEMP\spl
Pop $0
Delete $TEMP\spl.bmp
FunctionEnd
Но в итоге при выборе русского языка файл для английского все равно копируется
а при выборе английского файл russian.lng копируется в папку $INSTDIR\settings
что за глюки такие... понятия не имею. :(
Помогите плиз
В выделенном тексте, везде где написано 0 +2 замените на 0 +3
Кстати не обязательно для каждого файла создавать новую секцию, всё можно прописать в одну
Section -post
StrCmp $Language "1049" 0 +3
SetOutPath "$INSTDIR\"
File "files\russian.lng"
StrCmp $Language "1049" 0 +3
SetOutPath "$INSTDIR\settings"
File "settings\set.dll"
StrCmp $Language "1033" 0 +3
SetOutPath "$INSTDIR\settings"
File "files\set.dll"
SectionEnd
dracosha
25-01-2010, 00:11
!insertmacro MUI_PAGE_WELCOME
Page license
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "English"
LicenseLangString myLicenseData ${LANG_ENGLISH} "English_license_file.txt"
LicenseLangString myLicenseData ${LANG_RUSSIAN} "Russian_license_file.txt"
LicenseData $(myLicenseData) »
Очень хотелось использовать именно MUI :)
Когда разбирался с языками для названия секций я просек тему что в nsis можно присваивать переменные а потом объявлять для них перевод...
После чего решил попробовать на MUI_PAGE_LICENSE
И к моему большому удивлению у меня все получилось...
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(myLicenseData)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_RESERVEFILE_LANGDLL
LicenseLangString myLicenseData ${LANG_ENGLISH} "files\Licenseen.rtf"
LicenseLangString myLicenseData ${LANG_RUSSIAN} "files\Licenseru.rtf"
может кому пригодится
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC