Ru-Board.club
← Вернуться в раздел «Программы»

» NSIS (Nullsoft Scriptable Install System)

Автор: sawerx
Дата сообщения: 13.07.2011 17:02
Шикарный макрос, беру, спасибо!
Автор: doctor_allcome
Дата сообщения: 09.08.2011 14:45
Кто нибудь знает как в NSIS работать с CAB файлами. Есть CabDLL plug-in, но как им пользоваться не понятно.

Добавлено:
И еще есть один вопрос к знатокам. Есть два файла созданные в NSIS, один запускается из другого. Как сделать так что-бы второй запускаемый файл автоматически считывал путь установки первого? Заранее благодарен
Автор: kot280379
Дата сообщения: 09.08.2011 16:33

Цитата:
Кто нибудь знает как в NSIS работать с CAB файлами. Есть CabDLL plug-in, но как им пользоваться не понятно

Если, честно фигня это, а не плагин... а описание еще хуже
Если нужно распаковать архив cab...
CabDLL::CabExtractAll "Путь к архиву.cab" "Путь,папка куда распаковать"
Причем, папка распаковки архива должна существовать.

Цитата:
Как сделать так что-бы второй запускаемый файл автоматически считывал путь установки первого?

Элементарно, если свои инсталеры, то первый инсталер пишет путь установки в реестр, второй инсталер считывает путь первого из реестра, если чужой - то ищем следы в реестре - т.е точнее, где наследили
Автор: doctor_allcome
Дата сообщения: 09.08.2011 21:37
kot280379 огромное спасибо.


Цитата:
Если, честно фигня это, а не плагин... а описание еще хуже

А как еще заставить NSIS создавать дистрибутивы больше 2 Гб? Либо с помощью CAB, либо созданием нескольких exe в NSIS и их последовательным запуском одного из другого.
Обидно что нет такой возможности как в INNO, встроенными средствами делить дистрибутив на части
Автор: kot280379
Дата сообщения: 09.08.2011 22:34

Цитата:
Либо с помощью CAB

Возьмите лучше http://nsis.sourceforge.net/Nsis7z_plug-in
или распаковка arc архивов NSIS
del
Автор: doctor_allcome
Дата сообщения: 10.08.2011 14:58
kot280379 огромное спасибо за подсказку. NSISArc plug-in не очень понравился. А вот 7z самое то что надо.


Автор: doctor_allcome
Дата сообщения: 11.08.2011 13:31
Товарищи! Кто нибудь знает как в MessageBox язык интерфейса сделать отличным от системного (т.е. если даже я в MUI_LANGUAGE ставлю "English" имена кнопок в MessageBox на русском).
Автор: kot280379
Дата сообщения: 11.08.2011 18:31

Цитата:
Товарищи! Кто нибудь знает как в MessageBox язык интерфейса сделать отличным от системного

Это врядли, MessageBox - вызывается из user32.dll -> следовательно и язык кнопок системный, хотя можно наверно обходными путями делать такое - не пробывал...
Попробуйте messagebox v0.98 - почему то, исчез из офф.сайта, так что выложил из своих запасов
Автор: Victor_VG
Дата сообщения: 12.08.2011 12:59
kot280379

Проще это было бы в PL/1 написать. Десяток строк кода и готово. Развлекался я так ещё на первом курсе ... лет тридцать с гаком тому назад. Входной массив на перфокартах. Около ста миллионов - курсовая задача, условия в методичке заданы жёстко.
Автор: kot280379
Дата сообщения: 12.08.2011 13:46
Victor_VG не владею языком №1
Хотя очень интересно посмотреть как это реализуется...
у нас на работе еще где то стучат на перфокартах, на "протонах"....если не ошибаюсь.
Но эта не тема для обсуждения
Автор: doctor_allcome
Дата сообщения: 15.08.2011 13:59
Есть пример - IfFileExists $EXEDIR\data.exe +5 0
и к нему вопрос, может конечно глупый, но не как не могу понять что значат параметры "+5" и "0"?
Автор: Victor_VG
Дата сообщения: 15.08.2011 14:52
kot280379

Если исходники сохранились - поделюсь, но это примерно начало 80-х ... время, мог и выкинуть - там один листик из блокнота-то всего был.

doctor_allcome

первый относительный переход по смещению "если условие истина, то перейти на 4-ю строку от данной иначе перейти по адресу два", второй ошибка если значение равно "ноль" - завесит программы намертво, или идиотски заданная метка.

Либо Вы вытащили это из Far + Observer, либо кто-то с Вами гнусно подшутил.
Автор: kot280379
Дата сообщения: 15.08.2011 17:09

Цитата:
ошибка если значение равно "ноль" - завесит программы намертво, или идиотски заданная метка

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"'
Автор: doctor_allcome
Дата сообщения: 15.08.2011 21:09
Victor_VG
Цитата:
первый относительный переход по смещению "если условие истина, то перейти на 4-ю строку от данной
Считаются все строки по порядку или только активные (не комментарии )?

Автор: kot280379
Дата сообщения: 15.08.2011 22:39
doctor_allcome
Почитайте справочник, который я указал в своем предыдущем сообщении.
комментарии естеснно не считаются...):
Labels: Метки, безусловные переходы
Relative Jumps: Относительные переходы
Логические конструкции в скриптах NSIS
Автор: doctor_allcome
Дата сообщения: 16.08.2011 00:17
kot280379 за справочник огромное спасибо, читаю его уже давно. Буду ждать обновления.
Автор: doctor_allcome
Дата сообщения: 04.09.2011 12:30
Возникла пара вопросов, может кто в курсе как их решить:
1. Возможно ли на страницах WELCOME и FINISH поменять цвет шрифта не используя плагины?
2. Может ли Nsis7z plug-in работать с запароленными архивами. (т.е. что-бы из дистрибутива он открывался автоматически, а при попытки открыть через 7zip требовал пароль)?

Автор: kot280379
Дата сообщения: 04.09.2011 13:04

Цитата:
Возможно ли на страницах WELCOME и FINISH поменять цвет шрифта не используя плагины?

без особых на то проблем.

Цитата:
Может ли Nsis7z plug-in работать с запароленными архивами. (т.е. что-бы из дистрибутива он открывался автоматически, а при попытки открыть через 7zip требовал пароль)?

По моему нет...но можно воспользоваться из архиватора 7-zip(желательно последней версии) утилиткой 7z.exe и 7z.dll - через execwait передавать аргументы командной строки, в том числе и пароль.
аргументы командной строки 7z.exe - читайте в хелпе архиватора.
Но учтите, пароль из архива очень легко стянуть из командной строки запуска, внешними прогами...
Автор: doctor_allcome
Дата сообщения: 04.09.2011 23:06
Уважаемый kot280379 со сменой цвета текста странице Welcome более менее разобрался.
Но возник новый вопрос - как изменить цвет текста у чекбоксов на странице Finish, и возможно ли это вообще?

Автор: kot280379
Дата сообщения: 04.09.2011 23:52
doctor_allcome

Цитата:
как изменить цвет текста у чекбоксов на странице Finish, и возможно ли это вообще?

Не получится так просто - чекбокс берется из системных ресурсов, следовательно, цвет и картинка чекбокса определяется темой оформления системы, а вот при классической теме оформления - раскрасится
И кстати качайте обновленную версию справочника по NSIS:
http://narod.ru/disk/24039704001/NSIS_Help.rar.html
Автор: doctor_allcome
Дата сообщения: 05.09.2011 20:52
kot280379 спасибо большое за новую версию мануала.

Добавлено:
kot280379 у вас в справочнике есть пример смены цвета текста заголовка инсталлятора, а как такой же фокус проделать с заголовком деинсталятора?
Автор: kot280379
Дата сообщения: 06.09.2011 02:06

Цитата:
у вас в справочнике есть пример смены цвета текста заголовка инсталлятора, а как такой же фокус проделать с заголовком деинсталятора?

Да точно также, смысл дублирования не вижу.. вот пример:
[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
Автор: sawerx
Дата сообщения: 07.09.2011 23:25
Victor_VG что-то уж долго меняете HDD или не получается сохранить важное.
Автор: sk07x
Дата сообщения: 08.09.2011 16:20
у кого-нибудь есть наглядый пример скрипта как совмещать два типа установок (установка и портативный режим) в одном инсталлере ?
наглядный пример тому : AIMP,
и сборки по свежее RePack-и от KpoJIuK-а (Begin2Fly)
с автором не связался ибо не думаю что от поделиться сокровенным
Автор: doctor_allcome
Дата сообщения: 09.09.2011 22:36
Возможно ли в NSIS разбить инсталяцию на 2 диска. Решил этот вопрос, пока, правда, только теоретически , с помощью CDRom plug-in и условной конструкции IfFileExists. Может есть более элегантный способ?

P.S. Заинтересовался таким моментом, как приложения PortableApps находят свой PortableAppsMenu, если он присутствует на компьютере?
Автор: sawerx
Дата сообщения: 15.09.2011 21:14

Цитата:
установка и портативный режим

Делал это для себя, но думаю будет очень полезно для многих.
Переключение с обычной установким на портабельную с обнулением чекбоксов и запретом редактирования.
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

Автор: doctor_allcome
Дата сообщения: 18.09.2011 00:48
Товарищи! Кто нибудь работал с плагином CABSetup? Может у кого есть примеры? В целом как распаковывать CABы я разобрался - "CABSetup::Extract "/SOURCE=$EXEDIR/Project.CAB" "/TARGET=$INSTDIR" /ALL |" Как создавать КАБы, тоже вроде понятно. Но как распихать все это дело на несколько дисков, с диалогом о запросе следующего диска, что-то я не догоняю
Автор: Imperiuz
Дата сообщения: 18.09.2011 14:57
Ребят, подскажите какой скрипт использовать, чтобы подгружать файлы необходимые для установки с ftp или http, если такое вообще возможно.
Автор: Cramac
Дата сообщения: 18.09.2011 15:01
как то давно делал, было так:

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
Автор: Imperiuz
Дата сообщения: 18.09.2011 15:28
Cramac, спасибо работает

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364

Предыдущая тема: The Bat!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.