1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Создание инсталляционных пакетов

Тема в разделе "Nullsoft Scriptable Install System", создана пользователем YURSHAT, 1 фев 2012.

  1. Тех. админ Администратор

    Регистрация:
    26 дек 2011
    Сообщения:
    514
    Симпатии:
    601
    Пол:
    Мужской
    Пользователь YURSHAT разместил новый ресурс:

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

    Узнать больше об этом ресурсе...
     
    Sal'vador, Katarn, AlexandR и 6 другим нравится это.
  2. Старожил

    Регистрация:
    2 фев 2012
    Сообщения:
    15
    Симпатии:
    10
    Изменил шапку.
    Добавил ссылку на справочник по NSIS.
    В данный справочник входят статьи по написанию своего инсталлятора, различные примеры готовых кодов, а также переведённые команды из справки NSIS
    Рекомендую всем - начните с него! :)
     
    aibek1996, Winst@n, Krinkels и 4 другим нравится это.
  3. Ветеран Проверенный

    Регистрация:
    16 июн 2011
    Сообщения:
    211
    Симпатии:
    106
    Пол:
    Мужской
    Редактор что и в ссылке выше. Похож на inno'вский. Редактировать на много удобней. По умолчанию выставил русский язык.
     
  4. Старожил

    Регистрация:
    2 фев 2012
    Сообщения:
    15
    Симпатии:
    10
  5. Тех. админ Администратор

    Регистрация:
    26 дек 2011
    Сообщения:
    514
    Симпатии:
    601
    Пол:
    Мужской
     
  6. Ветеран Проверенный

    Регистрация:
    19 дек 2011
    Сообщения:
    351
    Симпатии:
    401
    YURSHAT,
     
  7. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    584
    Симпатии:
    346
     
  8. Старожил

    Регистрация:
    18 май 2012
    Сообщения:
    16
    Симпатии:
    0
    У меня в инсталле кнопка Отмена и красный крестик для закрытия окна не активны во время установки программы (на MUI_PAGE_INSTFILES) и на финише (MUI_PAGE_FINISH)
    информацию не смог найти в справочнике, хочу чтобы во время распаковки файлов и на финише можно было бы нажать Отмену и все операции прервались бы.
     
    Последнее редактирование: 4 сен 2012
  9. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    584
    Симпатии:
    346
    Опять же нужен код, так сложно что то сказать
     
  10. Старожил

    Регистрация:
    18 май 2012
    Сообщения:
    16
    Симпатии:
    0
    Krinkels, вы мне поможете?
     
  11. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    584
    Симпатии:
    346
  12. Старожил

    Регистрация:
    18 май 2012
    Сообщения:
    16
    Симпатии:
    0
    Мда. Еще бы знать что каждая строчка что означает и делает


    Как скопировать файлы программы в установщик и чтобы установщик их установил? вот что нашел
    У меня набор файлов программы, мне нужно без всякого Windows Installer установить программу средствами самого nsis. ну элементарный вопрос на который я не нашел ответа.
     
  13. Борода Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    718
    Симпатии:
    534
    Пол:
    Мужской
    msiexec.exe - меняешь на свою программу, все остальное, в том числе msi-пакет - это параметры.
    Даже я это понял, хотя нсис для меня такой темный лес, что плутаю в первом шаге от окраины.
     
  14. Старожил

    Регистрация:
    18 май 2012
    Сообщения:
    16
    Симпатии:
    0
    Я вот не понял, что значит на свою программу? Вот я скачал репак программы, установщик которой сделан на nsis. как он устанавливается? как он у других ставится? что за программу он использует?
     
  15. Борода Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    718
    Симпатии:
    534
    Пол:
    Мужской
    Во, в справке нашел. кажется, то что нужно тебе.
     
  16. Старожил

    Регистрация:
    18 май 2012
    Сообщения:
    16
    Симпатии:
    0
    Gnom, думал и ничего не продумал я

     
  17. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    584
    Симпатии:
    346
    Скажи честно, ты открывал стандартную справку? Там же все есть. На http://nsis.sourceforge.net/Docs/ все описано, разбирай не хочу. Так почему ты не хочешь ничего делать и задаешь глупые вопросы? На http://forum.oszone.net тебя послали, так хочешь чтоб и здесь так же поступили?

    Добавлено через 1 минуту
    Такое не прокатит, нужно указывать путь полностью, например
    File /r "C:\Program Files\WinDjView\*"
     
  18. Борода Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    718
    Симпатии:
    534
    Пол:
    Мужской
    очень логично, что тут ты указываешь, куда распаковать.
    тут ты указываешь, откуда брать устанавливаемый файл, в данном случае - рядом со скриптом.
    В твоем случае - очевидно, что компилятор не обнаружил директорию, которая буквально называется $PROGRAMFILES рядом со скриптом
     
  19. Старожил

    Регистрация:
    29 май 2012
    Сообщения:
    18
    Симпатии:
    12
    Пол:
    Мужской
    У меня такой вопрос, как в *.ini файле удалить определённые секции по маске ?
    DeleteINISec "$tmp\sections.ini" DOC_1234 удалит только эту секцию, а мне нужно
    что-то типа DeleteINISec "$tmp\sections.ini" DOC_*
     
  20. Ветеран

    Регистрация:
    13 авг 2011
    Сообщения:
    35
    Симпатии:
    52
    Пол:
    Мужской
    Не знаю насколько рациональный (и реализуемый) алгоритм я предлагаю, но все же:
    1. Получение списка всех секций в ini файле.
    • Тут поможет плагин EnumINI. Может извлечь список секций в стек.
    2. Потом записать содержимое стека в массив.
    3. Создать новый массив со значениями по маске DOC_*, либо в том же массиве оставить только те значения, которые содержат DOC_ (смотря какой вариант легче реализовать).
    4 Удалить секции с помощью ${ForEachIn} (плагин nsArray).
    • Что-то типа:
    • ${ForEachIn} my_array $key $value
    • DeleteINISec "$tmp\sections.ini" $value
    • ${Next}
     

Поделиться этой страницей