|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
|
.: NSIS - все вопросы :. часть 2.
|
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором 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 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить 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 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить 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 | |
|