|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
|
Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Есть такой макрос
!define ANSIToUTF8 "!insertmacro ANSIToUTF8"
!macro ANSIToUTF8 SOURCE_STRING OUTPUT_STRING
Push `${SOURCE_STRING}`
System::Store SR2
System::Call "kernel32::MultiByteToWideChar(i0,i0,tR2,i-1,i0,i0)i.R1"
IntOp $R1 $R1 * 2
System::Alloc $R1
Pop $R0
System::Call "kernel32::MultiByteToWideChar(i0,i0,tR2,i-1,iR0,iR1)"
System::Call "kernel32::WideCharToMultiByte(i65001,i0,iR0,i-1,t.s,iR1,i0,i0)"
System::Free $R0
System::Store L
Pop `${OUTPUT_STRING}`
!macroend
Вопрос снят. Нашел Utf8Converter |
|
------- Последний раз редактировалось Dodakaedr, 21-02-2016 в 10:12. Отправлено: 09:47, 21-02-2016 | #1991 |
|
Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Помогите, пожалуйста, разобраться с ini файлом. Не определяется секция и при записи нового значения создается дубль секции.
|
|
------- Отправлено: 10:43, 21-02-2016 | #1992 |
|
Пользователь Сообщения: 98
|
Профиль | Отправить PM | Цитировать Dodakaedr, NSIS не умеет работать с INI-файлами в кодировках отличной от ANSI. А ваш файл INI имеет кодировку UTF-8. По этой причине и получается ошибка. Воспользуйтесь плагином Unicode для преобразования кодировок. Примерный код сценария будет следующий:
Пример сценария
# Обработка INI-файлов кодировке UTF-8
# Используемые плагины:
# - Unicode v1.1 (http://nsis.sourceforge.net/Unicode_plug-in)
# - EnumINI (http://nsis.sourceforge.net/EnumINI_plug-in)
outfile "TestINI.exe"
Section main
; Выполняем конвертацию исходного файла INI из кодировки UTF-8 в ANSI
; во временный файл с именем _Config.ini
unicode::FileUnicode2Ansi "$EXEDIR\Config.ini" "$EXEDIR\_Config.ini" AUTO
; Извлекаем из стека результат обращения к функции
Pop $1
; Проверяем наличие в INI-файле секции с именем "General"
EnumINI::SectionExist "$EXEDIR\_Config.ini" "General"
; Извлекаем из стека результат обращения к функции
Pop $1
; Выполняем сравнение значения переменной $1 с "1"
StrCmp $1 "1" 0 +6
; Если результат сравнения положительный (секция существует), то...
; Показываем уведомление пользователю
MessageBox MB_OK|MB_ICONINFORMATION "Указанная секция существует."
; Записываем во временный новый INI-файл значение для заданного ключа
WriteINIStr "$EXEDIR\_Config.ini" "General" "RutaBaseExtraccion" "$EXEDIR\"
; Выполняем конвертацию временного файла INI из кодировки ANSI в UTF-8
; и перезаписываем исходный файл INI
unicode::FileAnsi2Unicode "$EXEDIR\_Config.ini" "$EXEDIR\Config.ini" UTF-8
; Извлекаем из стека результат обращения к функции
Pop $1
; Переходим на команду удаления временного файла INI (_Config.ini)
Goto +2
; Если результат сравнения отрицательный (секция НЕ существует), то...
; Показываем уведомление пользователю
MessageBox MB_OK|MB_ICONSTOP "Указанная секция не существует!!!"
; Удаляем временный файл INI, он больше не нужен.
Delete "$EXEDIR\_Config.ini"
SectionEnd
Рекомендую ввести дополнительные проверки как, например, наличие самого файла INI и результатов конвертирования. К сожалению, оба используемых плагина сделаны в редакции ANSI, поэтому пользоатели NSIS Unicode оказываются в пролёте. |
|
Отправлено: 15:21, 21-02-2016 | #1993 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Flix:
|
|
|
------- Отправлено: 16:00, 21-02-2016 | #1994 |
|
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать А возможно как то отключить автоматический detailprint таких команд как rename и delete?
|
|
Отправлено: 15:08, 23-02-2016 | #1995 |
|
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Привет.
Нужно реализовать такую функцию: проверка подключения к интернету и если подключение активно, то автоматически открывается браузер и переходит на заданный url Пожалуйста помогите реализовать эту задачу. С уважением, Serg866 |
|
Отправлено: 12:23, 09-03-2016 | #1996 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата Serg866:
Если интернет есть, то в $1 - online если нет, то в в $1 - offline Можно также использовать (но совершенно ни к чему) : ; http://msdn.microsoft.com/ru-ru/libr...(v=vs.85).aspx System::Call 'wininet.dll::InternetGetConnectedState(*i .r0, i 0) i.r1' IntFmt $R1 "0x%X" "$0" ; (connection in hex) MessageBox MB_OK "$1 $R1 " ; есть сеть - $1 == 1 ; нет - $1 == 0 ; $R1 - описание соединения: Modem=0x01, LAN=0x02, Proxy=0x04, RAS=0x10, Offline=0x20 Configured=0x40 и др ; также в $R1 может быть результат сложения разных сочетаний... Например : ; Значение 0x12 представляет собой сочетание INTERNET_CONNECTION_LAN (0x02) и INTERNET_CONNECTION_RAS_INSTALLED (0x10) |
|
|
Последний раз редактировалось MKN, 09-03-2016 в 13:30. Отправлено: 13:02, 09-03-2016 | #1997 |
|
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать MKN. Красава! То что надо.
С проверкой я понял, а команду для открытия url как прописывать? если что у меня в скрипте один url уже есть (линк на созданной странице) |
|
Отправлено: 16:50, 09-03-2016 | #1998 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Serg866:
|
|
|
------- Отправлено: 09:09, 10-03-2016 | #1999 |
|
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Коллеги, попутно ещё такая задачка.
Надо прописать удаление с раб.стола папки, в имени которой есть пробел и плюс название на кириллице. Условно это вот так выглядит RMDir /r $DESKTOP\Моя папка И конечо не работает, ругается при компиляции из-за пробела. |
|
Отправлено: 12:06, 10-03-2016 | #2000 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 | |
|