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

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

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

Сообщение inco1 »

Цитата iglezz:



Формат вызова неверный
.: NSIS - все вопросы :. часть 2.




Я уж попробовал по всякому. Изображение (и зачем было выделять в отдельный параметр ?)
Аватара пользователя
inco1

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

Сообщение inco1 »

MKN, Оно как-то странно работает или плохо документировано.



Скрытый текст

[spoiler]Для кода

Код:
[/spoiler]

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

AccessControl::GetRegKeyGroup "HKCU" "Software\7-Zip\"
Pop $R1
DetailPrint "HKCU:R1: $R1"
Pop $R2
DetailPrint "HKCU:R2: $R2"
AccessControl::GetRegKeyGroup "HKLM" "Software\7-Zip\"
Pop $R1
DetailPrint "HKLM:R1: $R1"
Pop $R2
DetailPrint "HKLM:R2: $R2"

Выдаёт в лог:



Код:

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

HKCU:R1: Software\7-Zip\
HKCU:R2: Cannot look up owner. Error code: 87
HKLM:R1: error
HKLM:R2: Cannot get current ownership. Error code: 2







К тому же у этого плагина не очень с обработкой ошибок, судя по моему непрофессиональному взгляду в исходники.
Аватара пользователя
iglezz

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

Сообщение iglezz »

iglezz, Спасибо. Это именно то, что нужно.
Аватара пользователя
inco1

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

Сообщение inco1 »

Привет. Подскажите, пожалуйста, как модифицировать данный код, чтобы кроме 1920*1080 добавить второе возможное разрешение по принципу: если у пользователя разрешение 1920*1080 или 1366*768, то продолжаем установку, если любое другое - аборт.

Не получается сопоставить логическую конструкцию.

Код:

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

Function .onInit
; Получаем текущие размеры экрана
   System::Call 'user32::GetSystemMetrics(i 0) i .r0' ; Ширина в пикселях
   System::Call 'user32::GetSystemMetrics(i 1) i .r1' ; Высота в пикселях
${If} $0 == 1920
${AndIf} $1 == 1080
MessageBox MB_OK "Установлено разрешение 1920x1080"
${Else}
   MessageBox MB_OK "Установлено любое другое разрешение"
${EndIf}
FunctionEnd
Аватара пользователя
iglezz

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

Сообщение iglezz »

Serg866, Например, так:

Код:

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

System::Call 'user32::GetSystemMetrics(i 0) i .r0' ; Ширина в пикселях (основного дисплея)
System::Call 'user32::GetSystemMetrics(i 1) i .r1' ; Высота в пикселях (основного дисплея)
StrCpy $2 "$0x$1" ; делаем строку "x"
${If} $2 != "1920x1080"
${AndIf} $2 != "1366x768"
    MessageBox MB_ICONSTOP "Экран не тот, работать не буду"
    Quit
${EndIf}

Для получения разрешения неосновного дисплея в многодисплейных конфигурациях код будет другой.
Аватара пользователя
inco1

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

Сообщение inco1 »

Всем доброй ночи.

Тут вот такое дело. Смотрю в CCleaner в "Запланированные задачи", там много всякой всячины. Такой вопрос: есть ли в NSIS команды для удаления запланированных задач?
Аватара пользователя
inco1

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

Сообщение inco1 »

...подскажите как сделать так чтобы nsis отсылал запрос на iplogger!?

Хочу получать статистику о запуске моего софта.
Аватара пользователя
inco1

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

Сообщение inco1 »

Здравствуйте. Такой вот вопрос. Если система неким уникумом установлена на диск D.

Будут ли в таком случае работать стандартные переменные?

Интересует $PROGRAMFILES.
Аватара пользователя
inco1

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

Сообщение inco1 »

Это рекламная кампания.

Я пускаю траффик и мне нужно отслеживать конверт.

В сам софт я лезть не имею права, да и откровенно говоря я дуб-дубом в коде, элементарный NSIS скрипт Еще могу написать, кое как, но не более...



В общем нужно сделать именно так. Вдруг есть решение, подскажите пожалуйста!
Аватара пользователя
inco1

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

Сообщение inco1 »

Всем доброго времени суток. Столкнулся с такой проблемой. Имеется команда "если файл не найден"



Код:

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

 (${IfNot} ${FileExists} C:\test.exe
 MessageBox MB_OK "дыр-дыр-дыр"
 ${EndIf}

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

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