Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата dracosha:
Вопрос 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)



Цитата dracosha:
Вопрос 2
Получается что какой бы язык пользователь не выбрал при инсталяции, в любом случае будет копировться файлик с русским языком... И если этот файлик копируется то при запуске прога будет запускаться на русском языке. Как бы сделать так что бы при выборе русского языка копировался файл с русским языком, а при выборе английского языка чтоб ничего не копировалось?
читать дальше »

Про какой файл идёт речь? Про любой?
Вот пример команды копирования файла, копирование происходит, если пользователь выбрал русский язык
Код: Выделить весь код
StrCmp $Language "1049" 0 +2
CopyFiles "$Windir\test.exe" "$Temp"



Цитата dracosha:
Вобщем можно ли сделать заставку что бы отображались картинки с прозрачностью? Например png-шки
Не получится, тип файла это дело плагина, возможны только BMP файлы, да и прозрачность там такая что...
В коде вашего примера, за прозрачный цвет отвечает 4-ый параметр, т.е. -1, необходимо заменить "-1" на HEX значение прозрачного цвета, например, при указании 0xFFFFFF, за прозрачный цвет будет белый


Цитата dracosha:
Я очень хочу изменить страничку !insertmacro MUI_PAGE_COMPONENTS
Необходимо с помощью редактора ресурсов (напр. ResHacker) изменить ресурс 104 в файле MUI диалогов (обычно это \Program Files\NSIS\Contrib\UIs\modern.exe)


Цитата dracosha:
И ко всему этому я хочу добавить еще одну точно такую же страничку но на ней уже будут не компоненты а настройки
Таким вопросом не задавался, да и нужды не было, в двух страничках с компонентами
А сам скрипт вам не позволит две разные COMPONENTS странички, если вы пропишите дважды данную команду, у вас просто продублируется данный диалог...
С группами и галочками (но без описания) можно сделать такой диалог при помощи плагина EmbeddedLists


Цитата NoName01.cpp:
Здраствуйте, 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

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]


Последний раз редактировалось K.A.V., 23-01-2010 в 23:20. Причина: Сори NoName01.cpp опять ошибочка, исправил :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:14, 23-01-2010 | #326