|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
|
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Цитата K.A.V.:
|
||
|
Отправлено: 20:39, 22-10-2019 | #2361 |
|
Ветеран Сообщения: 862
|
Профиль | Отправить 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 | |
|