Шикарный макрос, беру, спасибо!
» NSIS (Nullsoft Scriptable Install System)
Кто нибудь знает как в NSIS работать с CAB файлами. Есть CabDLL plug-in, но как им пользоваться не понятно.
Добавлено:
И еще есть один вопрос к знатокам. Есть два файла созданные в NSIS, один запускается из другого. Как сделать так что-бы второй запускаемый файл автоматически считывал путь установки первого? Заранее благодарен
Добавлено:
И еще есть один вопрос к знатокам. Есть два файла созданные в NSIS, один запускается из другого. Как сделать так что-бы второй запускаемый файл автоматически считывал путь установки первого? Заранее благодарен
Цитата:
Кто нибудь знает как в NSIS работать с CAB файлами. Есть CabDLL plug-in, но как им пользоваться не понятно
Если, честно фигня это, а не плагин... а описание еще хуже
Если нужно распаковать архив cab...
CabDLL::CabExtractAll "Путь к архиву.cab" "Путь,папка куда распаковать"
Причем, папка распаковки архива должна существовать.
Цитата:
Как сделать так что-бы второй запускаемый файл автоматически считывал путь установки первого?
Элементарно, если свои инсталеры, то первый инсталер пишет путь установки в реестр, второй инсталер считывает путь первого из реестра, если чужой - то ищем следы в реестре - т.е точнее, где наследили
kot280379 огромное спасибо.
Цитата:
А как еще заставить NSIS создавать дистрибутивы больше 2 Гб? Либо с помощью CAB, либо созданием нескольких exe в NSIS и их последовательным запуском одного из другого.
Обидно что нет такой возможности как в INNO, встроенными средствами делить дистрибутив на части
Цитата:
Если, честно фигня это, а не плагин... а описание еще хуже
А как еще заставить NSIS создавать дистрибутивы больше 2 Гб? Либо с помощью CAB, либо созданием нескольких exe в NSIS и их последовательным запуском одного из другого.
Обидно что нет такой возможности как в INNO, встроенными средствами делить дистрибутив на части
Цитата:
Либо с помощью CAB
Возьмите лучше http://nsis.sourceforge.net/Nsis7z_plug-in
или распаковка arc архивов NSIS
del
kot280379 огромное спасибо за подсказку. NSISArc plug-in не очень понравился. А вот 7z самое то что надо.
Товарищи! Кто нибудь знает как в MessageBox язык интерфейса сделать отличным от системного (т.е. если даже я в MUI_LANGUAGE ставлю "English" имена кнопок в MessageBox на русском).
Цитата:
Товарищи! Кто нибудь знает как в MessageBox язык интерфейса сделать отличным от системного
Это врядли, MessageBox - вызывается из user32.dll -> следовательно и язык кнопок системный, хотя можно наверно обходными путями делать такое - не пробывал...
Попробуйте messagebox v0.98 - почему то, исчез из офф.сайта, так что выложил из своих запасов
kot280379
Проще это было бы в PL/1 написать. Десяток строк кода и готово. Развлекался я так ещё на первом курсе ... лет тридцать с гаком тому назад. Входной массив на перфокартах. Около ста миллионов - курсовая задача, условия в методичке заданы жёстко.
Проще это было бы в PL/1 написать. Десяток строк кода и готово. Развлекался я так ещё на первом курсе ... лет тридцать с гаком тому назад. Входной массив на перфокартах. Около ста миллионов - курсовая задача, условия в методичке заданы жёстко.
Victor_VG не владею языком №1
Хотя очень интересно посмотреть как это реализуется...
у нас на работе еще где то стучат на перфокартах, на "протонах"....если не ошибаюсь.
Но эта не тема для обсуждения
Хотя очень интересно посмотреть как это реализуется...
у нас на работе еще где то стучат на перфокартах, на "протонах"....если не ошибаюсь.
Но эта не тема для обсуждения
Есть пример - IfFileExists $EXEDIR\data.exe +5 0
и к нему вопрос, может конечно глупый, но не как не могу понять что значат параметры "+5" и "0"?
и к нему вопрос, может конечно глупый, но не как не могу понять что значат параметры "+5" и "0"?
kot280379
Если исходники сохранились - поделюсь, но это примерно начало 80-х ... время, мог и выкинуть - там один листик из блокнота-то всего был.
doctor_allcome
первый относительный переход по смещению "если условие истина, то перейти на 4-ю строку от данной иначе перейти по адресу два", второй ошибка если значение равно "ноль" - завесит программы намертво, или идиотски заданная метка.
Либо Вы вытащили это из Far + Observer, либо кто-то с Вами гнусно подшутил.
Если исходники сохранились - поделюсь, но это примерно начало 80-х ... время, мог и выкинуть - там один листик из блокнота-то всего был.
doctor_allcome
первый относительный переход по смещению "если условие истина, то перейти на 4-ю строку от данной иначе перейти по адресу два", второй ошибка если значение равно "ноль" - завесит программы намертво, или идиотски заданная метка.
Либо Вы вытащили это из Far + Observer, либо кто-то с Вами гнусно подшутил.
Цитата:
ошибка если значение равно "ноль" - завесит программы намертво, или идиотски заданная метка
Victor_VG не завесит, компилятор NSIS все равно расценит 0 как переход к следующей на исполнение команде, относительно заданного смещения, т.е все равно, что написать: Goto 0 или Goto +1
Из справки:
Код: 4.9.4.19 StrCmp
str1 str2 jump_if_equal [jump_if_not_equal]
Compares (case insensitively) str1 to str2. If str1 and str2 are equal, Gotos jump_if_equal, otherwise Gotos jump_if_not_equal.
StrCmp $0 "a string" 0 +3
DetailPrint '$$0 == "a string"'
Goto +2
DetailPrint '$$0 != "a string"'
Victor_VG
Цитата:
Цитата:
первый относительный переход по смещению "если условие истина, то перейти на 4-ю строку от даннойСчитаются все строки по порядку или только активные (не комментарии )?
doctor_allcome
Почитайте справочник, который я указал в своем предыдущем сообщении.
комментарии естеснно не считаются...):
Labels: Метки, безусловные переходы
Relative Jumps: Относительные переходы
Логические конструкции в скриптах NSIS
Почитайте справочник, который я указал в своем предыдущем сообщении.
комментарии естеснно не считаются...):
Labels: Метки, безусловные переходы
Relative Jumps: Относительные переходы
Логические конструкции в скриптах NSIS
kot280379 за справочник огромное спасибо, читаю его уже давно. Буду ждать обновления.
Возникла пара вопросов, может кто в курсе как их решить:
1. Возможно ли на страницах WELCOME и FINISH поменять цвет шрифта не используя плагины?
2. Может ли Nsis7z plug-in работать с запароленными архивами. (т.е. что-бы из дистрибутива он открывался автоматически, а при попытки открыть через 7zip требовал пароль)?
1. Возможно ли на страницах WELCOME и FINISH поменять цвет шрифта не используя плагины?
2. Может ли Nsis7z plug-in работать с запароленными архивами. (т.е. что-бы из дистрибутива он открывался автоматически, а при попытки открыть через 7zip требовал пароль)?
Цитата:
Возможно ли на страницах WELCOME и FINISH поменять цвет шрифта не используя плагины?
без особых на то проблем.
Цитата:
Может ли Nsis7z plug-in работать с запароленными архивами. (т.е. что-бы из дистрибутива он открывался автоматически, а при попытки открыть через 7zip требовал пароль)?
По моему нет...но можно воспользоваться из архиватора 7-zip(желательно последней версии) утилиткой 7z.exe и 7z.dll - через execwait передавать аргументы командной строки, в том числе и пароль.
аргументы командной строки 7z.exe - читайте в хелпе архиватора.
Но учтите, пароль из архива очень легко стянуть из командной строки запуска, внешними прогами...
Уважаемый kot280379 со сменой цвета текста странице Welcome более менее разобрался.
Но возник новый вопрос - как изменить цвет текста у чекбоксов на странице Finish, и возможно ли это вообще?
Но возник новый вопрос - как изменить цвет текста у чекбоксов на странице Finish, и возможно ли это вообще?
doctor_allcome
Цитата:
Не получится так просто - чекбокс берется из системных ресурсов, следовательно, цвет и картинка чекбокса определяется темой оформления системы, а вот при классической теме оформления - раскрасится
И кстати качайте обновленную версию справочника по NSIS:
http://narod.ru/disk/24039704001/NSIS_Help.rar.html
Цитата:
как изменить цвет текста у чекбоксов на странице Finish, и возможно ли это вообще?
Не получится так просто - чекбокс берется из системных ресурсов, следовательно, цвет и картинка чекбокса определяется темой оформления системы, а вот при классической теме оформления - раскрасится
И кстати качайте обновленную версию справочника по NSIS:
http://narod.ru/disk/24039704001/NSIS_Help.rar.html
kot280379 спасибо большое за новую версию мануала.
Добавлено:
kot280379 у вас в справочнике есть пример смены цвета текста заголовка инсталлятора, а как такой же фокус проделать с заголовком деинсталятора?
Добавлено:
kot280379 у вас в справочнике есть пример смены цвета текста заголовка инсталлятора, а как такой же фокус проделать с заголовком деинсталятора?
Цитата:
у вас в справочнике есть пример смены цвета текста заголовка инсталлятора, а как такой же фокус проделать с заголовком деинсталятора?
Да точно также, смысл дублирования не вижу.. вот пример:
[more]
Код: !include "MUI2.nsh"
!define MUI_HEADERIMAGE
!define MUI_HEADER_TRANSPARENT_TEXT
# странички инсталлятора
!define MUI_CUSTOMFUNCTION_GUIINIT MyGUIInit
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
# странички деинсталлятора
!define MUI_CUSTOMFUNCTION_UNGUIINIT un.MUIGUIInit
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"
OutFile "Header.exe"
InstallDir "C:\test"
;функция инсталлятора для внесения изменения в графический интерфейс.
Function MyGUIInit
GetDlgItem $R0 $HWNDPARENT 1037
GetDlgItem $R1 $HWNDPARENT 1038
SetCtlColors $R0 0xFF8040 transparent
SetCtlColors $R1 0x00FF00 transparent
CreateFont $1 "Verdana" 10 400
SendMessage $R0 ${WM_SETFONT} $1 0
CreateFont $1 "Verdana" 8 400 /ITALIC
SendMessage $R1 ${WM_SETFONT} $1 0
FunctionEnd
Section 1
SetOutPath "$INSTDIR"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
Section Uninstall
Delete "$INSTDIR\uninstall.exe"
SectionEnd
;функция деинсталлятора для внесения изменения в графический интерфейс.
Function un.MUIGUIInit
GetDlgItem $R0 $HWNDPARENT 1037
GetDlgItem $R1 $HWNDPARENT 1038
SetCtlColors $R0 0xFF8040 transparent
SetCtlColors $R1 0x00FF00 transparent
CreateFont $1 "Verdana" 10 400
SendMessage $R0 ${WM_SETFONT} $1 0
CreateFont $1 "Verdana" 8 400 /ITALIC
SendMessage $R1 ${WM_SETFONT} $1 0
FunctionEnd
Victor_VG что-то уж долго меняете HDD или не получается сохранить важное.
у кого-нибудь есть наглядый пример скрипта как совмещать два типа установок (установка и портативный режим) в одном инсталлере ?
наглядный пример тому : AIMP,
и сборки по свежее RePack-и от KpoJIuK-а (Begin2Fly)
с автором не связался ибо не думаю что от поделиться сокровенным
наглядный пример тому : AIMP,
и сборки по свежее RePack-и от KpoJIuK-а (Begin2Fly)
с автором не связался ибо не думаю что от поделиться сокровенным
Возможно ли в NSIS разбить инсталяцию на 2 диска. Решил этот вопрос, пока, правда, только теоретически , с помощью CDRom plug-in и условной конструкции IfFileExists. Может есть более элегантный способ?
P.S. Заинтересовался таким моментом, как приложения PortableApps находят свой PortableAppsMenu, если он присутствует на компьютере?
P.S. Заинтересовался таким моментом, как приложения PortableApps находят свой PortableAppsMenu, если он присутствует на компьютере?
Цитата:
установка и портативный режим
Делал это для себя, но думаю будет очень полезно для многих.
Переключение с обычной установким на портабельную с обнулением чекбоксов и запретом редактирования.
QTest_Hide.zip
[more]
Код:
; обдразните этот файл QTest_Hide.nsi, что бы он отображался вместо лицензии!
!include MUI2.nsh
SetCompressor /SOLID lzma ;вид компресии!
CRCCheck on
XPStyle on ;стиль Windows XP
ShowInstDetails show
ShowUninstDetails show
AutoCloseWindow false ;true авто-закрытие окна!
Name "QTest"
OutFile "QTest_Hide.exe"
BrandingText " $(^Name) "
!define RegUninstall "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
InstallDir "$PROGRAMFILES\$(^Name)" # папка установки по умолчанию!
RequestExecutionLevel user # для Висты и выше!
DirText "Для продолжения обычной установки примера теста $(^Name) \
нажмите кнопку (Далее >)$\nили нажмите кнопку (< Назад) и попоробуйте \
режим Портабле, в этом режиме не будет отображаться эти страницы \
установки и не будут отмечены два чекбокса." "Папка установки программы \
теста $(^Name) - по умолчанию:" "Обзор..."
; Объявляемые переменные!
Var IconsGroup
Var Dialog
Var GroupBox1
Var GroupBox2
Var Radio1
Var Radio2
Var Check1
Var Check2
Var Check3
Var CheckBox1
Var CheckBox2
Var CheckBox3
Var RadioButton1
Var RadioButton2
;Последовательность открытия страниц!
!insertmacro MUI_PAGE_LICENSE "QTest_Hide.nsi" # -1 страница!
Page custom nsCustomShow nsCustomLeave # 0 страница отсчёта!
!insertmacro MUI_PAGE_DIRECTORY # 1 страница!
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM # 2 страница!
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${RegUninstall}"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "NSIS:StartDir"
!insertmacro MUI_PAGE_STARTMENU Application $IconsGroup
!insertmacro MUI_PAGE_INSTFILES # 3 страница!
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"
Function nsCustomShow
!insertmacro MUI_HEADER_TEXT "Выбор установки и значков" "Выберите способ установки и если нужно значки для $(^Name)"
nsDialogs::Create 1018
Pop $Dialog
${NSD_CreateGroupBox} 20u 0u 260u 50u "Размещение значков программы:"
Pop $GroupBox1
/******************************************************************************/
${NSD_CreateCheckBox} 40u 14u 150u 10u "Добавить значок на рабочий стол"
Pop $CheckBox1
${NSD_OnClick} $CheckBox1 CheckBox1 ;обработка события на клик!
${If} $Check1 == 1
${NSD_SetState} $CheckBox1 1
${ElseIf} $Check1 == 0
${NSD_SetState} $CheckBox1 0
${Else}
${NSD_SetState} $CheckBox1 1
${EndIf}
/******************************************************************************/
${NSD_CreateCheckBox} 40u 28u 150u 10u "Значок в панель быстрого запуска"
Pop $CheckBox2
${NSD_OnClick} $CheckBox2 CheckBox2
${If} $Check2 == 1
${NSD_SetState} $CheckBox2 1
${ElseIf} $Check2 == 0
${NSD_SetState} $CheckBox2 0
${Else}
${NSD_SetState} $CheckBox2 0
${EndIf}
/******************************************************************************/
${NSD_CreateCheckBox} 40u 60u 150u 10u "Запускать при старте Windows"
Pop $CheckBox3
${NSD_OnClick} $CheckBox3 CheckBox3
${If} $Check3 == 1
${NSD_SetState} $CheckBox3 1
${ElseIf} $Check3 == 0
${NSD_SetState} $CheckBox3 0
${Else}
${NSD_SetState} $CheckBox3 0
${EndIf}
/******************************************************************************/
${NSD_CreateGroupBox} 20u 80u 260u 50u "Выберите способ установки:"
Pop $GroupBox2
${NSD_CreateRadioButton} 40u 94u 120u 10u "Стандартная установка"
Pop $RadioButton1
${NSD_OnClick} $RadioButton1 RadioButton1
/******************************************************************************/
${NSD_CreateRadioButton} 40u 108u 120u 10u "Портабельная установка"
Pop $RadioButton2
${NSD_OnClick} $RadioButton2 RadioButton2
/******************************************************************************/
${If} $Radio1 == 1
${OrIf} $Radio2 == 0
${NSD_SetState} $RadioButton1 1
${NSD_SetState} $RadioButton2 0
${ElseIf} $Radio1 == 0
${OrIf} $Radio2 == 1
${NSD_SetState} $RadioButton1 0
${NSD_SetState} $RadioButton2 1
${Else}
${NSD_SetState} $RadioButton1 1
${NSD_SetState} $RadioButton2 0
${EndIf}
nsDialogs::Show
FunctionEnd
Function CheckBox1
Pop $CheckBox1
${NSD_GetState} $CheckBox1 $Check1
FunctionEnd
Function CheckBox2
Pop $CheckBox2
${NSD_GetState} $CheckBox2 $Check2
FunctionEnd
Function CheckBox3
Pop $CheckBox3
${NSD_GetState} $CheckBox3 $Check3
FunctionEnd
Function RadioButton1
Pop $RadioButton1
${NSD_GetState} $RadioButton1 $Radio1
${NSD_GetState} $RadioButton2 $Radio2
${If} $Radio1 = 0
GetDlgItem $0 $HWNDPARENT 1
${NSD_SetText} $0 "$(^InstallBtn)"
EnableWindow $CheckBox2 1 ;добавлно проявление CheckBox 2
EnableWindow $CheckBox3 1 ;добавлно проявление CheckBox 3
${ElseIf} $Radio1 = 1
GetDlgItem $0 $HWNDPARENT 1
${NSD_SetText} $0 "$(^NextBtn)"
EnableWindow $CheckBox2 1 ;добавлно проявление CheckBox 2
EnableWindow $CheckBox3 1 ;добавлно проявление CheckBox 3
${EndIf}
FunctionEnd
Function RadioButton2
Pop $RadioButton2
${NSD_GetState} $RadioButton1 $Radio1
${NSD_GetState} $RadioButton2 $Radio2
${If} $Radio2 = 0
GetDlgItem $0 $HWNDPARENT 1
${NSD_SetText} $0 "$(^NextBtn)"
${NSD_SetState} $CheckBox2 0 ;сброс отметки CheckBox 2
${NSD_SetState} $CheckBox3 0 ;сброс отметки CheckBox 3
EnableWindow $CheckBox2 0 ;добавлно скрыть CheckBox 2
EnableWindow $CheckBox3 0 ;добавлно скрыть CheckBox 3
${ElseIf} $Radio2 = 1
GetDlgItem $0 $HWNDPARENT 1
${NSD_SetText} $0 "$(^InstallBtn)"
${NSD_SetState} $CheckBox2 0 ;сброс отметки CheckBox 2
${NSD_SetState} $CheckBox3 0 ;сброс отметки CheckBox 3
EnableWindow $CheckBox2 0 ;добавлно скрыть CheckBox 2
EnableWindow $CheckBox3 0 ;добавлно скрыть CheckBox 3
${EndIf}
FunctionEnd
Function nsCustomLeave # эта функция отображает ваши действия!
${NSD_GetState} $CheckBox1 $Check1
${NSD_GetState} $CheckBox2 $Check2
${NSD_GetState} $CheckBox3 $Check3
${NSD_GetState} $RadioButton1 $Radio1 ;считать с чебокса - если отмечен - переход обычный или лицензия!
${NSD_GetState} $RadioButton2 $Radio2 ;считать с чебокса - если отмечен - переход к странице установки!
/***** скрыто не читаемо ******
${If} $Radio1 = 1
SendMessage $HWNDPARENT "0x408" "-1" "" ;переход на 1 стр. назад = страница вечной лицензии или портабле!
${EndIf}
********* конец скрытия ******/
${If} $Radio2 = 1
SendMessage $HWNDPARENT "0x408" "3" "" ;переход на 3 стр. вперед = на страницу установки!
${EndIf}
FunctionEnd
Section # секция установки файлов!
SetOutPath $INSTDIR
SetDateSave off
WriteINIStr "$INSTDIR\$(^Name).url" "InternetShortcut" "URL" "http://www.balbes.org" ;созание ярлыка-ссылки!
;Запись удоляемыех строк деинстолятора!
WriteRegStr HKLM "${RegUninstall}" "DisplayName" "QTest" # имя установки!
WriteRegStr HKLM "${RegUninstall}" "DisplayIcon" "$INSTDIR\Uninstall.exe,0" # иконка установки!
WriteRegStr HKLM "${RegUninstall}" "Comments" "Пример реализаци портабле в nsDialog" # описание!
WriteRegStr HKLM "${RegUninstall}" "UninstallString" '"$INSTDIR\Uninstall.exe" /hide' # ссылка удалить-дурилка!
WriteUninstaller "$INSTDIR\Uninstall.exe" # создание деинстолятора!
SetShellVarContext All # все пользователи!
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$IconsGroup"
CreateShortCut "$SMPROGRAMS\$IconsGroup\$(^Name).lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\$IconsGroup\Страница.lnk" "$INSTDIR\$(^Name).url" "ICO" "$SYSDIR\SHELL32.dll" 14
CreateShortCut "$SMPROGRAMS\$IconsGroup\Удаление.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
SetShellVarContext Current # текущий пользователь!
/******************************/
${If} $Check1 = 1
SetShellVarContext All # все пользователи!
CreateShortCut "$DESKTOP\Удалить $(^Name).lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
SetShellVarContext Current # текущий пользователь!
${EndIf}
/******************************/
${If} $Check2 = 1
CreateShortCut "$QUICKLAUNCH\Удалить $(^Name).lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
${EndIf}
/******************************/
${If} $Check3 = 1
MessageBox MB_ICONINFORMATION|MB_OK "Имитируем добавление в автозагрузку!"
${EndIf}
/******************************/
${If} $Radio2 = 1 # - это обин из простых вариантов преобразования в портабле!
SetShellVarContext All # все пользователи!
!insertmacro MUI_STARTMENU_GETFOLDER Application $IconsGroup
Delete "$SMPROGRAMS\$IconsGroup\*.*" ;очистить папку в меню Пуск!
RMDir "$SMPROGRAMS\$IconsGroup" ;удалить папку в меню Пуск!
DeleteRegKey HKLM "${RegUninstall}" ;удалить записи в реестре!
${EndIf}
/******************************/
SectionEnd
Section Uninstall # секция удаления!
Delete "$INSTDIR\Uninstall.exe" ;удаляется первым, так как запускается из папки Temp!
Delete "$INSTDIR\*.*" ;очистить папку от файлов!
RMDir /r "$INSTDIR" ;удалить папку принудитеоьно!
Delete "$QUICKLAUNCH\Удалить $(^Name).lnk" ;удалить ярлык!
SetShellVarContext All # все пользователи!
Delete "$DESKTOP\Удалить $(^Name).lnk" ;удалить ярлык!
!insertmacro MUI_STARTMENU_GETFOLDER Application $IconsGroup
Delete "$SMPROGRAMS\$IconsGroup\*.*" ;очистить папку от ярлыков!
RMDir "$SMPROGRAMS\$IconsGroup" ;удалить папку в меню Пуск!
;Удаление записей в реестре!
DeleteRegKey HKLM "${RegUninstall}" ;удалить записи в реестре!
SectionEnd
Товарищи! Кто нибудь работал с плагином CABSetup? Может у кого есть примеры? В целом как распаковывать CABы я разобрался - "CABSetup::Extract "/SOURCE=$EXEDIR/Project.CAB" "/TARGET=$INSTDIR" /ALL |" Как создавать КАБы, тоже вроде понятно. Но как распихать все это дело на несколько дисков, с диалогом о запросе следующего диска, что-то я не догоняю
Ребят, подскажите какой скрипт использовать, чтобы подгружать файлы необходимые для установки с ftp или http, если такое вообще возможно.
как то давно делал, было так:
Section "Антивирус" SEC05
SetOutPath "$INSTDIR\tmp"
SetOverwrite on
NSISdl::download http://10.10.10.2/files/avast_home_last.exe $INSTDIR\tmp\avast_home_last.exe
ExecWait "$INSTDIR\tmp\avast_home_last.exe"
RmDir /r "$INSTDIR\tmp"
SectionEnd
Section "Антивирус" SEC05
SetOutPath "$INSTDIR\tmp"
SetOverwrite on
NSISdl::download http://10.10.10.2/files/avast_home_last.exe $INSTDIR\tmp\avast_home_last.exe
ExecWait "$INSTDIR\tmp\avast_home_last.exe"
RmDir /r "$INSTDIR\tmp"
SectionEnd
Cramac, спасибо работает
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
Предыдущая тема: The Bat!
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.