.: NSIS - все вопросы :. часть 2.

Ответить
 • Просмотры: 23
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

Если я вас еще не утомил, то, пожалуйста помогите еще с одним вопросом.

Как бы мне этак прописать. чтобы в самом начале запуска установщика была проверка учетной записи, и если учетка "пользователь" или "гость", даже, если запуск с правами администратора, то показывалось бы сообщение, что Вы, мил человек имеете совсем мало прав" и установка закончилась не начинаясь?.
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

MKN, Это то, что нужно. Попробую прикрутить к моему установщику. Спасибо. Этого в справке не видел.



PS. Всё красиво прикрутил, как в поставленной задаче и всё работает.

Не ясен один момент, кто такой Power?
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

inco1,

Будут.


Цитата inco1:



Если система неким уникумом установлена на диск D.
.: NSIS - все вопросы :. часть 2.




Не обязательно уникумом. По крайней мере раньше сама логика установщика Windows порождала таких кадавров
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

Всем доброго времени суток.

Я в тупике. Существует ли способ, чтобы не дожидаясь завершения команды "newadvsplash::show 5000 100 100" сделать переход к следующей команде?

Вариант с отдельным экзешником, как то не по взрослому. Может старожилы чего смогут подсказать?
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

Цитата inco1:



А есть ли команда поиска нескольких файлов C:\test.exe и C:\test1.exe и C:\test2.exe и если только все отсутствуют выдать сообщение?
.: NSIS - все вопросы :. часть 2.




Справочник по NSIS - Статьи - Логические конструкции: ${AndIf}
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

Begin2Fly, Я это пробовал в первую очередь. Пока эта команда не отработает следующая не начинается.
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

!include Logiclib.nsh



${IfNot} ${FileExists} C:\test.exe

${AndIfNot} ${FileExists} C:\test1.exe

${AndIfNot} ${FileExists} C:\test2.exe

MessageBox MB_OK "дыр-дыр-дыр"

${EndIf}
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

Да, у вас это работает. Видимо много чего имеет значение. Нужно некоторое время, чтобы собрать все до кучи. Пришлю в личку.
Аватара пользователя
K.A.V.

Re: .: NSIS - все вопросы :. часть 2.

Сообщение K.A.V. »

inco1, как вариант, можно воспользоваться плагином
NsThread
и создать функцию с отдельным потоком, в которой будет показываться изображение



Будет что-то типа:



Код:

Код: Выделить всё

Function ThreadProc
   newadvsplash::show 5000 100 100 /BANNER "$DESKTOP\2222222222222222222222222222222222.jpg"
   MessageBox MB_OK "Сообщение из потока"
FunctionEnd
Function .oninit
   ${Thread_Create} ThreadProc $R0
   MessageBox MB_OK "Основной поток"
FunctionEnd
Аватара пользователя
inco1

Re: .: NSIS - все вопросы :. часть 2.

Сообщение inco1 »

Цитата iglezz:



System::Call 'user32::GetSystemMetrics(i 0) i .r0' ; Ширина в пикселях

System::Call 'user32::GetSystemMetrics(i 1) i .r1' ; Высота в пикселях

StrCpy $2 "$0x$1" ; делаем строку "x"

${If} $2 != "1920x1080"

${OrIf} $2 != "1366x768"

MessageBox MB_ICONSTOP "Экран не тот, работать не буду"

Quit

${EndIf}
.: NSIS - все вопросы :. часть 2.




Почему-то не работает, ошибку показывает, даже если экран тот.
Ответить

Вернуться в «Автоматическая установка приложений»