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

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

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

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


Contributor


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

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


Вложения
Тип файла: rar shortcuts.rar
(314 байт, 23 просмотров)

Цитата dracosha:
страничка 1
"название папки в меню пуск" и "создавать папку в меню пуск или нет"
читать дальше »

В начале кода (вставляем в зависимости от того, на каком этапе хотим видеть):
Код: Выделить весь код
var ICONS_GROUP
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Моя программа"
!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
В "-post" секцию добавить
Код: Выделить весь код
 
  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
Прописываем создание ярлыков в старт меню
  !insertmacro MUI_STARTMENU_WRITE_END



Цитата dracosha:
страничка 2
тут я хочу разместить кнопки для создания ярлыков на рабочем столе и в панели быстрого запуска
читать дальше »

Код: Выделить весь код
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
Page custom MyDialog_Shortcuts ""
!insertmacro MUI_PAGE_FINISH
Код: Выделить весь код
Function MyDialog_Shortcuts
setoutpath $PLUGINSDIR
file "shortcuts.ini"
InstallOptions::initDialog /NOUNLOAD "$PLUGINSDIR\shortcuts.ini"
InstallOptions::show /NOUNLOAD
  ReadINIStr $0 "$PLUGINSDIR\shortcuts.ini" "Field 1" "State"
StrCmp $0 "1" 0 NoDesktopShortcuts
# Отмечена галка на создание на рабочем столе, здесь прописываем команды
NoDesktopShortcuts:
  ReadINIStr $0 "$PLUGINSDIR\shortcuts.ini" "Field 2" "State"
StrCmp $0 "1" 0 NoQuicklaunchShortcuts
# Отмечена галка на создание в панели быстрого запуска, здесь прописываем команды
NoQuicklaunchShortcuts:
FunctionEnd
Скачайте прикреплённый файл, распакуйте файл "Shortcuts.ini" в папку с вашим скриптом




Цитата NoName01.cpp:
Но есть у меня вопрос. В моем инсталляторе 3 секции. Как мне сделать так, чтобы страница появлялась только при условии, что выбрана например первая секция.

Какое условие мне сюда добавить:
Function nsDialogsPage
nsDialogs::Create 1018
nsDialogs::Show
FunctionEnd
читать дальше »

Вам необходимо создать глобальную переменную и назначить ей "1" в секции, далее проверяете в функции...вообщем давайте я сразу к коду

Код: Выделить весь код
var Sec1_Is_Checked
Section /o "Моя секция №1"
Strcpy $Sec1_Is_Checked "1"
SectionEnd

Function nsDialogsPage
StrCmp $Sec1_Is_Checked "1" 0 Sec1_NOT_Checked
nsDialogs::Create 1018
nsDialogs::Show
Sec1_NOT_Checked:
FunctionEnd
Можно конечно обойтись без создания переменной, командами "SectionGetFlags", если хотите сделать так, то посмотрите мои ранние посты, там я давал примеры, как определить, отмечена секция или нет
А если смотреть лень говорите - напишу

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

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

Отправлено: 03:15, 25-01-2010 | #343