|
Компьютерный форум 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 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Цитата K.A.V.:
|
||
Отправлено: 20:39, 22-10-2019 | #2361 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 861
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
|
|
------- Отправлено: 09:56, 23-10-2019 | #2362 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
ClearErrors ${GetOptions} "$CMDLINE" "/D=" $R0 ${IfNot} ${Errors} StrCpy $INSTDIR "$R0" ${EndIf} Скрытый текст
${If} ${Silent} ClearErrors ${GetOptions} "$CMDLINE" "/D=" $R0 ${IfNot} ${Errors} StrCpy $INSTDIR "$R0" ${EndIf} ClearErrors ${GetOptions} "$CMDLINE" "/I" $R0 ${IfNot} ${Errors} StrCpy $INSTDIR "$PROGRAMFILES\${APP}" SetOutPath "$INSTDIR" File /r "${APPDIR}\${APP}\*" SetShellVarContext All CreateShortCut "$DESKTOP\${APP}.lnk" "$INSTDIR\${APP}.exe" CreateDirectory "$SMPROGRAMS\${APP}" CreateShortCut "$SMPROGRAMS\${APP}\${APP}.lnk" "$INSTDIR\${APP}.exe" ${EndIf} ClearErrors ${GetOptions} "$CMDLINE" "/Y" $R0 ${IfNot} ${Errors} SetShellVarContext All Delete "$DESKTOP\${APP}.lnk" ${EndIf} ClearErrors ${GetOptions} "$CMDLINE" "/T" $R0 ${IfNot} ${Errors} SetShellVarContext All Delete "$SMPROGRAMS\${APP}\${APP}.lnk" RMDir "$SMPROGRAMS\${APP}" ${EndIf} ClearErrors ${GetOptions} "$CMDLINE" "/P" $R0 ${IfNot} ${Errors} StrCpy $INSTDIR "$EXEDIR\${APP}" SetOutPath "$INSTDIR" File /r "${APPDIR}\${APP}\*" ${EndIf} Quit ${EndIf} |
|
Последний раз редактировалось AlekseyPopovv, 23-10-2019 в 20:35. Отправлено: 20:24, 23-10-2019 | #2363 |
![]() Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать AlekseyPopovv, мы уже вам всю обработку с нуля написали, и добавить еще одно условие с ключом /Y - это не сложная задача, учитывая то, как уже разжевана логика проверки ключей+я вам накидал несколько вариантов и пара из них "для новичков" с более простым кодом для понимания.
У меня вот вопрос нарисовывается, а вы вообще пытаетесь вникать в то, что мы тут вам пишем? Или просто копипастите? |
------- Отправлено: 18:38, 24-10-2019 | #2364 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
|
|
Отправлено: 17:41, 25-10-2019 | #2365 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать K.A.V.
Привет Подскажите, пожалуйста, самый простой способ (без использования winver) определить, что у пользователя установлена Windows10? Может по наличию какого-либо файла, который есть только в Win10? |
Отправлено: 00:44, 26-10-2019 | #2366 |
![]() Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата AlekseyPopovv:
Цитата AlekseyPopovv:
Если ключ есть, то следующий код в условии на проверку ключа I - проверка существования ключа Y Если ключа Y нет, то создавать ярлыки Простая логика же. Примеры построения логических конструкций есть в нашем справочнике. Цитата Serg866:
1. Можете проверять версию любого системного файла в папке System32 2. Либо в разделе можете прочитать значения новых DWORD ключей CurrentMajorVersionNumber (10) + CurrentMinorVersionNumber (0), которые появились как раз-таки в Windows 10 |
|||
------- Отправлено: 08:25, 26-10-2019 | #2367 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
|
|
Отправлено: 19:54, 26-10-2019 | #2368 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
Это можно сделать так: Скрытый текст
; Создадим константу, которая содержит Путь установки по умолчанию !define DEFAULT_DIR_INST "$PROGRAMFILES\SomeProgDir" ; Запишем её в атрибут InstallDir. Это будет наш $INSTDIR по умолчанию InstallDir "${DEFAULT_DIR_INST}" ... Var commandline ; переменная для считывания командной строки Var i_CommandlineSetDir ; переменная для хранения состояния "путь взят из командной строки" да=1, нет=0 ... Function .onInit ; Установим переменную в ноль (путь с командной строки не считывался) StrCpy $i_CommandlineSetDir 0 ${GetParameters} $commandline ; Если путь установки, сохранённый в установщике (в ${DEFAULT_DIR_INST}) не совпадает с текущим $INSTDIR, ; значит использовался NSIS параметр /D= ${If} "$INSTDIR" != "${DEFAULT_DIR_INST}" StrCpy $i_CommandlineSetDir 1 ; установим в единицу, т.е. путь взят из командной строки ${EndIf} ... ${GetOptions} "$CMDLINE" "/P" $R0 ${IfNot} ${Errors} ; проверка ключа /P ${If} $i_CommandlineSetDir = 0 ; если путь не взят из командной строки StrCpy $INSTDIR "$EXEDIR\${APP} Portable" ; меняем его на свой ${EndIf} ${EndIf} ... FunctionEnd |
|
Отправлено: 02:47, 27-10-2019 | #2369 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать Приветствую, кто нибудь может адаптировать https://nsis.sourceforge.io/mediawik...-in&oldid=6883 под NSIS 3.x
Или подсказать плаг что бы на странице распаковки файлов отобразить bmp/jpg и/или gif, перепробовал кучу на 2.46 работает на третьей версии нет. |
Отправлено: 21:58, 04-11-2019 | #2370 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|