|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
Старожил Сообщения: 152
|
Профиль | Отправить PM | Цитировать Исходные данные:
TXT файл с одной изменяющейся числовой строкой. Задача: Проверить есть ли числовая строка в этом тестовом файле, если нет, то крутится в цикле ожидая появления. Решение: Читаем строку, заносим в переменную, ну а дальше как сравнить появилось число или нет? Цитата:
Содержимое id.log: Цитата:
|
||
Последний раз редактировалось Limonica, 17-04-2014 в 09:55. Отправлено: 09:45, 17-04-2014 | #1141 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Limonica:
Цитата K.A.V.:
Справочник NSIS -> Примеры кодов -> Работа со строками; Справочник NSIS -> Примеры кодов -> Замена строки в текстовом файле; Попробуйте подогнать под свои цели. А не получится - неработающий код сюда. По крайней мере, так будет более понятно, что вы хотели сделать. |
||
Последний раз редактировалось Kopejkin, 17-04-2014 в 10:15. Отправлено: 10:08, 17-04-2014 | #1142 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Limonica:
Следовательно, вам нужно самому фильтровать строку и вытаскивать значение из строки. Опять же, пока вы не научитесь пользоваться стандартными командами NSIS и включать логическое мышление - вы будете постоянно стопориться на таких простых задачах. Имеем: строку вида "ID=какое то число" Вопрос: как получить значение, которое идёт после символа "=" Ответ: вспоминаем стандартную и простую команду StrCpy (описание есть в справочнике) В нашем случае мы используем её для отсеивания первых трёх символов строки, чтобы получить значение "типа параметра ID" Пример функции, которая ждёт появления в значении вашей строки числа 687 |
|
------- Отправлено: 10:12, 17-04-2014 | #1143 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Не в тему, но давно хотел спросить о работе текстового редактора форума.
Почему при редактировании сообщения слетает форматирование? |
Отправлено: 10:26, 17-04-2014 | #1144 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Kopejkin:
Цитата Kopejkin:
|
||
------- Отправлено: 10:33, 17-04-2014 | #1145 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Здравствуйте.
Начал разбираться с NSIS и тут же уперся. Банальная, думаю, задача. Надо прочитать номер версии файла, поместить результат в name и в инсталлятор. Делаю так: !define PRODUCT_NAME "MyProg" !define PRODUCT_PUBLISHER "MyCorp" !define EXE_FULL_NAME "D:\4inst\prog.exe" var PROD_VERSION Name "${PRODUCT_NAME} v$PROD_VERSION" ... VIProductVersion "1.0.0.0" VIAddVersionKey "ProductName" "${PRODUCT_NAME}" VIAddVersionKey "LegalCopyright" "${PRODUCT_PUBLISHER}" VIAddVersionKey "CompanyName" "${PRODUCT_PUBLISHER}" VIAddVersionKey "FileDescription" "${PRODUCT_NAME} ${PROD_VERSION}" VIAddVersionKey "FileVersion" "1.0.0.0" ... Function .onInit !insertmacro MUI_LANGDLL_DISPLAY !include "FileFunc.nsh" ${GetFileVersion} "${EXE_FULL_NAME}" $R0 StrCpy $PROD_VERSION $R0 FunctionEnd А с записью информации о версии в инсталлятор совсем ничего не выходит, пока не укажу номер версии явно. |
Отправлено: 08:17, 18-04-2014 | #1146 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата kotompazb:
Если да, то...зачем? Можно 1 раз указать версию файла в скрипте и потом использовать везде переменные !define PRODUCT_VERSION "2.3.4.5" VIProductVersion "${PRODUCT_VERSION}" VIAddVersionKey "ProductName" "${PRODUCT_NAME}" VIAddVersionKey "LegalCopyright" "${PRODUCT_PUBLISHER}" VIAddVersionKey "CompanyName" "${PRODUCT_PUBLISHER}" VIAddVersionKey "FileDescription" "${PRODUCT_NAME} ${PRODUCT_VERSION}" VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}" Цитата kotompazb:
|
||
------- Отправлено: 08:44, 18-04-2014 | #1147 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Цитата K.A.V.:
|
||
Отправлено: 09:10, 18-04-2014 | #1148 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата kotompazb:
Код, который вы прописали, будет срабатывать тогда, когда пользователь запустит ваш пакет инсталлятора, соответственно, исходя из вашего кода, ваш пакет инсталлятора при запуске будет читать версию файла по пути "D:\4inst\prog.exe", это есть изначальный баг вашего кода, т.к. данного файла у пользователя на компе просто напросто не будет. Если же вы распаковали указанный файл и потом проверяете его версию - другой разговор. А судя по вашему текущему коду, у меня складывается такое впечатление, будто вы думаете, что в процессе создания EXE-файла пакета инсталлятора версия указанного файла "зашивается" в код вашего пакета инсталлятора и запоминается - это не так. |
|
------- Отправлено: 10:40, 18-04-2014 | #1149 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
|
|
Отправлено: 11:10, 18-04-2014 | #1150 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
[архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|