Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Nullsoft Scriptable Install System | NSIS

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

Открыть новую тему     Написать ответ в эту тему

Nep



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

 
NSIS (Nullsoft Scriptable Install System)
Скриптовая система создания инсталляционных пакетов от авторов Winamp

Основные характеристики:
 
  • Размер дистрибутива около 1,5 МБ
  • Наличие в базовом пакете файлов с примерами и подробной справки
  • Чрезвычайная гибкость при создании инсталляций для своих программ
  • Открытый исходный код
  • Использование различных алгоритмов сжатия (ZLIB, BZIP2, LZMA)
  • Наличие различных плагинов
     
    Новейшая версия ветки 2.х: NSIS 2.51 (от 1 апреля 2016 г., статус ветки - Old Releases)
    Новейшая версия ветки 3.х: NSIS 3.10 (от 30 марта 2024 г.)  
     
     
    Ссылки:
    NSIS: страница загрузкирусификатор ветки 2.xx (без гарантии, что подходит!)2.513.10NSIS 3 Pre-releaseNSIS 2 Pre-releaseисходники (SVN)
     
    Дополнительно: [ плагины, примеры и полезности ] • [ форум разрабочиков ] • [ Wiki ]
     
    Редактор для скриптового языка NSIS: [ скачать ] • [ домашняя страница ]
     
    NSIS Unpacker
    7-zip начиная с версии 4.40 beta поддерживает распаковку из некоторых типов инсталляций.  
    Обратите внимание, что 7za не поддерживает распаковку.
     
    Полноценного русификатора пока нет, но кто хочет, может перевести сообщения в исходных текстах NSIS и скомпилировать всё заново – это единственный корректный вариант. Из файлов поддаётся корректному переводу только меню интегратора NSIS, поскольку там HTML, а остальные переводы – это в основном "русификаторы" с непредсказуемыми последствиями применения.
     
    64-х битное развитие идей NSIS. В разработке, аннотация разработчика nsisbi.
     
    Просьба к тем, кто будет править шапку, сначала сверяться с http://nsis.sourceforge.net/Main_Page и не выдавать желаемое за действительное.

  • Всего записей: 41940 | Зарегистр. 24-06-2001 | Отправлено: 14:21 06-10-2001 | Исправлено: DimmY, 11:10 31-03-2024
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68

    Цитата:
    чтобы сам установщик выполнялся с правами текущего пользователя

    в установщике :

    Цитата:
    RequestExecutionLevel user

     

    Цитата:
    стандартная установка с правами администратора, а портативная опять же с правами текущего пользователя

    В начале кода стандартной установки проверяешь права "на админа". Если админ - установка продолжается, если нет - сообщение, что прав нет.
    Как проверять права - тьма способов. И плагины и макросы и даже пара строк API функции...
     
    Простейший код :
     

    Цитата:
    OutFile "IsUserAdmin-test.exe"
     
     Section
     System::Call setupapi::IsUserAdmin()i.r0
     StrCmp $0 "1" 0 +2
     MessageBox MB_OK|MB_ICONINFORMATION "Админ"      
     StrCmp $0 "0" 0 +2
     MessageBox MB_OK|MB_ICONINFORMATION "Не админ !"
     SectionEnd

     
    Более продвинутый с макросом (меняя SID можно смотреть разные права...) :
     

    Цитата:
    outfile UserIsAdmin.exe
     
    !Include "LogicLib.nsh"
     
    !macro _UserIsAdminNT5 _a _b _t _f
    Push $1
    !insertmacro _LOGICLIB_TEMP
    System::Call '*(&i1 1,&i1 2,&i5,&i1 5,&i4 32,&i4 544)i.r1' ;S-1-5-32-544
    System::Call 'advapi32::CheckTokenMembership(i n,i r1,*i.s)i.s'
    System::Free $1
    Pop $1
    Pop $_LOGICLIB_TEMP
    IntCmpU $1 0 0 +2 +2
    StrCpy $_LOGICLIB_TEMP 0
    Pop $1
    !insertmacro _!= $_LOGICLIB_TEMP 0 `${_t}` `${_f}`
    !macroend
    !define UserIsAdminNT5 `"" UserIsAdminNT5 ""`  
     
    Section
    ${If} ${UserIsAdminNT5}
            DetailPrint "admin"
    ${Else}
            DetailPrint "not admin"
    ${EndIf}
    SectionEnd

     
    Известен и такой код (но как то не четко срабатывает...)  :
     

    Цитата:
    OutFile "Admin_privileges.exe"
    RequestExecutionLevel admin
     
    Section  
      System::Call "kernel32::GetModuleHandle(t 'shell32.dll') i .s"
      System::Call "kernel32::GetProcAddress(i s, i 680) i .r0"
      System::Call "::$0() i .r0"
      IntCmp $0 1 +3
      MessageBox MB_OK "Требуются права администратора для запуска этой установки"
      Abort  ; "Только пользователь с правами администратора может запустить этот установщик."
    SectionEnd

     
    С плагином :
     

    Цитата:
    Outfile Example.exe
     
    RequestExecutionLevel admin  ;Require admin rights on NT6+ (When UAC is turned on)
     
    !include LogicLib.nsh
     
    Function .onInit
    UserInfo::GetAccountType
    pop $0
    ${If} $0 != "admin" ;Require admin rights on NT4+
            MessageBox mb_iconstop "Administrator rights required!"
            SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
            Quit
    ${EndIf}
    FunctionEnd
     
    Page InstFiles
     
    Section
    SectionEnd

     
    Можно сначала перечислить права всех пользователей ПК, потом делать выводы. Выбирай и ищи сам...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 12:03 24-07-2015 | Исправлено: MKN, 12:10 24-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
     
    Спасибо!!!  
    Буду разбираться с вашим примером.
    Начал копать в эту сторону самостоятельно и нашёл плагин UAC, но что- то с ним пока не срастается, и сценарий примера UAC_DualMode выдаёт ошибку в 250-ой строке.
     
    Добавлено:

    Цитата:
    В начале кода стандартной установки проверяешь права "на админа". Если админ - установка продолжается, если нет - сообщение, что прав нет.  

    Тут немного другая проблема. Надо не только проверить, надо, чтобы стандартная установка происходила с правами админа.
    В оригинальном установщике, если пользователь не админ, то портативная установка не может пройти в Program Files, а на кнопке стандартной установки, виден значок UAC.
    http://i71.fastpic.ru/big/2015/0724/48/5b5b454483bb7a4dd89e4b1ecd697148.png

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 13:05 24-07-2015 | Исправлено: megane68, 13:08 24-07-2015
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
    К слову про код твоей страницы... Намутили чего то и усложнили...
    Можно было, к примеру так :
     

    Цитата:
    !include "MUI2.nsh"  
    !insertmacro MUI_LANGUAGE "Russian"  
     
    Page custom MyPage SetFlags  
    Page Instfiles
       
     Var Dialog  
     Var RadioButton1  
     Var RadioButton2  
     Var Font1  
     Var Font2  
     Var Radio1  
     Var Radio2  
       
    Function MyPage  
    !insertmacro MUI_HEADER_TEXT "Выберите тип установки:" "стандартный или портативный для всех пользователей."  
    nsDialogs::Create 1018    
    Pop $Dialog    
       
    CreateFont $Font1 "Tahoma Bold" "8" "700"  
    CreateFont $Font2 "Tahoma Bold" "8" "700"  
       
    ${NSD_CreateRadioButton} 0 25u 100u 10u "Standard installation"  
    Pop $RadioButton1  
    ${NSD_SetState} $RadioButton1 1
    SendMessage $RadioButton1 ${WM_SETFONT} $Font1 1
    ${NSD_CreateLabel} 20 40u 300u 10u "Установить для текущего пользователя этого компьютера."    
       
    ${NSD_CreateRadioButton} 0 75u 100u 10u "All users or portable"  
    Pop $RadioButton2  
    SendMessage $RadioButton2 ${WM_SETFONT} $Font2 1    
    ${NSD_CreateLabel} 20 90u 300u 10u "Установить для всех пользователей этого компьютера."    
     
    nsDialogs::Show    
    FunctionEnd  
     
     Section "1" St
    MessageBox MB_OK "Standard installation"
    SectionEnd
     
    Section "2" Port
    MessageBox MB_OK "All users or portable"
    SectionEnd
     
    Function SetFlags
    ${NSD_GetState} $RadioButton1 $Radio1
    ${NSD_GetState} $RadioButton2 $Radio2  
     
    ${If} $Radio1 = 1
    SectionSetFlags ${Port} 0
    SectionSetFlags ${St} 1
    ${EndIf}    
     
    ${If} $Radio2 = 1  
    SectionSetFlags ${St} 0
    SectionSetFlags ${Port} 1
    ${EndIf}
    FunctionEnd  

     
    и шрифт не обязательно новый создавать, если устраивал жирный из заголовка... Есть ведь ${WM_GETFONT}
    Но это так, мелочи...
     
    ps  
    Цитата:
    В оригинальном установщике, если пользователь не админ, то портативная установка не может пройти в Program Files

    Ну и у себя так сделай... Если пользователь не админ, то ...
     
    ps2
     

    Цитата:
    Надо не только проверить, надо, чтобы стандартная установка происходила с правами админа.

    Ты хочешь решить двойную задачу одним установщиком.
    Чтобы и запускался от пользователя , а потом ещё и устанавливался, как админ, если выбрано...
    "Как админ" тут весьма условно - всего лишь установка в иную папку назначения... И если настоящий админ грамотно перекроет кислород посторонним установкам, то рядовой пользователь ничего не сделает... Можно конечно сделать в установщике, чтобы даже для пользователя назначались крутые права, но опять же - зачем ?
    Если я тебя правильно понял...  
     
    Есть ещё хедер MultiUser.nsh для комбинированных установок...  
    Наверное проще для "чистой" двойной установкии использовать два дистр-ва с разными правами...
    Только нахрена так делать...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 13:23 24-07-2015 | Исправлено: MKN, 13:47 24-07-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    типа как-то так:

    Цитата:
    !include "MUI.nsh"
    !include LogicLib.nsh
     
    ; MUI Settings
    !define MUI_ABORTWARNING
    !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
    !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
     
    ; Welcome page
    !insertmacro MUI_PAGE_WELCOME
    ; License page
    !insertmacro MUI_PAGE_LICENSE "Licence.txt"
    ; Components page
    !insertmacro MUI_PAGE_COMPONENTS
    ; Directory page
    !insertmacro MUI_PAGE_DIRECTORY
    ; Instfiles page
    !insertmacro MUI_PAGE_INSTFILES
    ; Finish page
    !define MUI_FINISHPAGE_RUN "$INSTDIR\dir\app.exe"
    !insertmacro MUI_PAGE_FINISH
    !insertmacro MUI_LANGUAGE "English"
    !insertmacro MUI_LANGUAGE "Russian"
    !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
    ; Uninstaller pages
    !insertmacro MUI_UNPAGE_INSTFILES
    ; Language files
    ; MUI end ------
    /* semafor's */
    var s1 /* as normal */
    var s2 /* as portable */
    RequestExecutionLevel admin
     
    ................
    InstallDir "$PROGRAMFILES\dir"
    InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "Path"
    ShowInstDetails hide
    ShowUnInstDetails hide
    Function .onInit
    /*  init semafor's */
    StrCpy $s1 0
    StrCpy $s2 0
    UserInfo::GetAccountType
    pop $0
    ${If} $0 != "admin"
       ExpandEnvStrings $INSTDIR "%SYSTEMDRIVE%\dir"
    ${EndIf}
    FunctionEnd
    Section -STAND SEC01
    StrCpy $s1 1
    StrCpy $s2 0
    SectionEnd
     
    Section /o PORT SEC02
    StrCpy $s1 1
    StrCpy $s2 0
    SectionEnd
    Section "Main" SEC03
    StrCmp $s1 1 stndl
    StrCmp $s2 1 +1 stndl
    /* install as portable */
    .....
    goto done
    stndl:  
    /* normal install */
     
    done:
    SetAutoclose true
    SectionEnd
     
    ; Section descriptions
    !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
      !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Normal install"
      !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Install as portable"
    !insertmacro MUI_FUNCTION_DESCRIPTION_END


    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 14:20 24-07-2015 | Исправлено: Victor_VG, 22:31 24-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Ваш пример сценария установщика с кнопками, выдаёт ошибку:

    Цитата:
    Processed 1 file, 1 command line command, writing output:
    Adding plug-ins initializing function... Done!
    Error: could not resolve label "_LogicLib_Label_19" in install section "1" (0)
    Error - aborting creation process

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 14:20 24-07-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Номер с секциями и семафорами сей ошибки не даст, а остальное просто - не админ летит  в корень.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 14:26 24-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Ну и у себя так сделай... Если пользователь не админ, то ...  

    Надо не всеь установщик запускать с правами админа, а только в случае если выбрана стандартная установка.

    Цитата:
    Только нахрена так делать...

    Чтобы при портативной установке нельзя было установить сборку в Program Files.
     
    Добавлено:

    Цитата:
    Номер с секциями и семафорами сей ошибки не даст, а остальное просто - не админ летит  в корень.

    Вообще не понял.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 14:28 24-07-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Нужный скелет я выше привёл, мясо за вами.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 14:33 24-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Скелет выдаёт ошибку, которую я выше привёл. И ваш и от MKN.
    Попробовал секции обозвать:
    Section "1" SEC01 и т. д., но не помогло.  
     
     
    Добавлено:
    Victor_VG
    Прошу прощения, Ваш сценарий выдаёт ошибку на 30-ой строке:
    var $s1
    Очепятка, надо - Var s1
     
    Но, что- то я не понял что он делает? От админа запускается весь установщик, а в выборе типа установки вообще не пойму что?
    http://i71.fastpic.ru/big/2015/0724/70/8f916e9c06c0ac35800c4534eca07470.png

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 14:38 24-07-2015 | Исправлено: megane68, 15:08 24-07-2015
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68

    Цитата:
    Ваш пример сценария установщика с кнопками, выдаёт ошибку:

    может потому, что не указано очевидное - outfile "xxx.exe" ?  
    у меня на всех версиях NSIS работает нормально.
     
    Добавлено:

    Цитата:
    Чтобы при портативной установке нельзя было установить сборку в Program Files.

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

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 15:19 24-07-2015 | Исправлено: MKN, 16:03 24-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    может потому, что не указано очевидное - outfile "xxx.exe" ?  

    Не, выходной файл я в первую очередь назначил, это у меня на другом компе портабельный NSIS глючит непонятно почему.
    Сейчас нормально всё.

    Цитата:
    Это делается без всяких прав - если отмечена кнопка "портабл", то путь назначаешь - не Program Files, а какой душе угодно...

    Понимаешь в чём дело, это же сборка не включающая в себя официальный дистрибутив foobar2000.
    Поэтому я перестраховываюсь от шаловливых ручек пользователя, который установит плеер в PF и обязательно выберет портабельную установку сборки, чтобы пошли глюки.  
    А так, попробует установить - ан нет, они типа не устанавливается в PF в портабельном виде.
    Да и оригинальный установщик хочется повторить.  
     
    P.S. C шрифтом проблему решил так:
    CreateFont $Font "$(^Font)" "8" "700"
     
    Добавлено:
    MKN
    Блин...  
    Теперь и на этом компе появилась ошибка:

    Цитата:
     
    Processed 1 file, 1 command line command, writing output:
    Adding plug-ins initializing function... Done!
    Error: could not resolve label "_LogicLib_Label_19" in install section "1" (0)
    Error - aborting creation process
     

    В чём может быть проблема?

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 16:08 24-07-2015 | Исправлено: megane68, 16:12 24-07-2015
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
    Установи нормальный NSIS

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 16:47 24-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Установи нормальный NSIS

    Так стоит 2.46.5 Unicode. Это на другом он портабельный был.
    Видимо тут в чём- то другом проблема. Только в чём?
     
    Добавлено:
    MKN
    Кажись победил эту болезнь. сделал в ANSI, а потом перекодировал в Unicode.
    Работает.  
    Спасибо!
     
    А назначать на группу админские права, это слишком геморройно?
    Может примеры где есть?

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 17:16 24-07-2015 | Исправлено: megane68, 17:59 24-07-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Опечатки убрал, возня с правами лишняя. Выбор прост - если портабле он в $PF не идёт и поменять там путь ни-ззя...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 22:36 24-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    если портабле он в $PF не идёт и поменять там путь ни-ззя...

    Было бы замечательно, если бы сборка не накатывалась на оригинальный дистрибутив и устанавливалась с ним вместе. А так получается пользователь установил foobar2000 по своему желанию, а потом бац, а портабельную сборку туда нельзя.
    Не.... Пусть пока будет лучше уж весь установщик с правами админа.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 10:06 25-07-2015 | Исправлено: megane68, 10:18 25-07-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Я кстати то же явно ошибок наделал - попытался использовать ${EnumProcess} из того хидера что дал MKN и видимо где-то что-то упустил а в итоге наблюдал утечку памяти до 186 Мб когда ось пришибла тестовый процесс. А задумка была красивой - с её помощью отыскать хидер нужного процесса и убить его по хидеру не трогая все остальные. Ладно, значит бум думать дальше.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 10:44 25-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кстати, ошибка "_LogicLib_Label_19" была связана с названием файла *.nsi.  
    Этот инклюд не любит пробелов в названии.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 11:15 25-07-2015 | Исправлено: megane68, 11:16 25-07-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Я их никогда не использую, ибо это ограничение уровня ОС "Путь, или  одиночное имя файла включающее пробелы должны заключаться в кавычки" справедливое для всех ОС начиная с первых диалектов AT&T UNIX (1971 г).

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 11:52 25-07-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Я их никогда не использую

    Я как то после того как начал пользоваться семёркой и макосью, постепенно стал отходит от этого анахронизма. Даже был ни раз бит за это мастодонтами.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 12:34 25-07-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Ага, вы в сообществе UNIX попробуйте кому сказать что это анахронизм. Только заранее приготовьте бункер понадёжней.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 13:13 25-07-2015
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Компьютеры » Программы » Nullsoft Scriptable Install System | NSIS


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru