|
Компьютерный форум 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 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать diakov, Под NSIS 3.04 примеры из архива с плагином компилируются, запускаются и отображают всё, что прописано.
|
Отправлено: 10:10, 05-11-2019 | #2371 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать diakov,
Есть ещё занятный китайский плагин - XZBHelper. Можно организовать в процессе установки слайд шоу из картинок или, как настроишь (время показа и затухания). Кроме того, каждая картинка может являться гиперссылкой на какой либо сайт. Единственное, не то чтобы неудобство, а момент - в инишнике(файл Slides.dat) обязательна "авторская" запись: [_www.xiazaiba.com], остальное редактируемо. Скачать плагин : https://yadi.sk/d/pnunedULcQdcwg Ну, и ессно можно поместить картинку на страницу обычным способом при помощи кучи кода... Примеры были. |
Отправлено: 11:12, 05-11-2019 | #2372 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать iglezz, я пробовал компилить в этой сборке https://sourceforge.net/projects/nsisbi/, ничего не отображает.
MKN, спасибо, гляну. |
Отправлено: 15:41, 05-11-2019 | #2373 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать diakov,
Стоило упомянуть, что используется не чистый nsis, ибо в сборках-модификациях поведение может отличаться от стандартного. Как и в этом случае. Сборка по умолчанию создаёт unicode-установщик, который, соответственно, передаёт не-unicode плагину unicode-строки, а не ansi. Как результат - плагин получает абракадабру вместо текстовых строк. Решение 1: Добавить в скрипт атрибут Unicode false Решение 2: Передавать в unicode-установщике ansi-плагину строки конвертированные в ansi. Как это можно сделать
Добавляем в скрипт макрос для перекодировки (вариант не идеальный, но для большинства случаев достаточный):
!define Unicode2Ansi "!insertmacro Unicode2Ansi" !macro Unicode2Ansi String OutVar System::Call /NOUNLOAD 'kernel32::WideCharToMultiByte(i 0, i 0, w "${String}", i -1, t .s, i ${NSIS_MAX_STRLEN}, i 0, i 0) i ' Pop "${OutVar}" !macroend которую потом передаём плагину Таким образом строка Превращается в последовательность команд Сокращённый вариант Example.nsi из архива плагина
;-------------------------------- ; General Attributes Name "EmbeddedBanner plug-in test" OutFile "EBannerU.exe" ;-------------------------------- ;Interface Settings !include "MUI.nsh" ; To reduce package size, 70 bytes 2x2 placeholder !define MUI_WELCOMEFINISHPAGE_BITMAP plholder.bmp !define MUI_PAGE_CUSTOMFUNCTION_PRE pre !define MUI_PAGE_CUSTOMFUNCTION_SHOW show !define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" RequestExecutionLevel user !define Unicode2Ansi "!insertmacro Unicode2Ansi" !macro Unicode2Ansi String OutVar System::Call /NOUNLOAD 'kernel32::WideCharToMultiByte(i 0, i 0, w "${String}", i -1, t .s, i ${NSIS_MAX_STRLEN}, i 0, i 0) i ' Pop "${OutVar}" !macroend Function pre !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "" Functionend Function show ${Unicode2Ansi} "/HALIGN=LEFT" $R1 ${Unicode2Ansi} "/FIT=HEIGHT" $R2 ${Unicode2Ansi} "$EXEDIR\wizard.jpg" $R3 ebanner::show /NOUNLOAD $R1 $R2 "$R3" FunctionEnd Function leave ebanner::stop FunctionEnd Section SectionEnd |
Отправлено: 18:39, 05-11-2019 | #2374 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Запускаю приложение командой:
ExecWait "Proga\Proga.exe" В этом приложении есть настройки, которые вступят в силу после перезагрузки приложения, естественно это приложение само выдаёт запрос на перезагрузку приложения. Как сделать так, что бы после перезапуска приложения, оно снова запустилось с моего "*.exe" файла? Либо какой то есть выход с самим процессом "Proga.exe"... |
Отправлено: 16:04, 03-12-2019 | #2375 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать AlekseyPopovv,
Что имеется в виду под "что бы после перезапуска приложения, оно снова запустилось с моего "*.exe" файла?" ? Какая цель преследуется? |
Отправлено: 23:09, 03-12-2019 | #2376 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать iglezz,
Всё, спасибо, додумался. |
Последний раз редактировалось AlekseyPopovv, 04-12-2019 в 08:11. Отправлено: 06:51, 04-12-2019 | #2377 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать AlekseyPopovv,
Решением, думаю, стоит поделиться -- может ещё сгодится кому-нибудь. |
Отправлено: 19:23, 04-12-2019 | #2378 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:29, 04-12-2019 | #2379 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Добрый день. У меня проблема следующего характера. Инсталлятор не может прочитать путь, который указан в переменной по умолчанию. Игра у него установлена, следовательно есть данные в реестре для её удаления и последующего считывания директории.
InstallDirRegKey HKLM "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 17470" "InstallLocation" Неужели ветка реестра InstallDirRegKey HKLM "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*******" только для избранных? В параметрах инсталлятора указал RequestExecutionLevel admin, потом его убрал. Ничего не изменилось. Как можно решить или обойти данную проблему? Просто охота, чтобы программа установки самостоятельно искала директорию куда была установлена игра. |
Отправлено: 15:33, 05-01-2020 | #2380 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|