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

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

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

Сообщение Begin2Fly »

${If} $EXEFILE == "Installer.exe"

MessageBox MB_OK "Обычный режим"

${Else}

Quit

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

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

Сообщение динозавра »

Друзья, нужна помощь. Состряпал для эксперимента экзешник.

Как запустить установленный батник?

Вот код



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

[spoiler]Код:
[/spoiler]

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

!define PRODUCT_NAME "PRODUCT"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "setup.exe"
InstallDir "C:\Program Files\Proga"
Icon "icon.ico"
SilentInstall silent
!define RUN "C:\Program Files\Proga\1.bat"
Section "MainSection" SEC01
  SetOutPath "C:\Program Files\Proga"
 SetOverwrite on
  File "..\1.bat"
SectionEnd
Section -Post
SectionEnd









Все, разобрался.



Код:

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

Exec '"$INSTDIR\1.bat"'

Теперь другая проблема. Как прописать, чтобы окошко батника не промилькивало?
Аватара пользователя
MKN

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

Сообщение MKN »

Цитата AlekseyPopovv:



K.A.V., Как пропустить (не показывать) страницу, если нет определённого параметра? И как назад?

Сделал так:

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

StrCmp $R0 0 0 +50
.: NSIS - все вопросы :. часть 2.




Изображение

раз уж решились кодить на NSIS, почитайте тогда, как минимум, наш
Справочник по NSIS
, в разделе "Статьи" для начала откройте для себя "метки", прочитав страничку "Labels: Метки, безусловные переходы", чтобы как минимум такой кошмар в коде не делать:


Цитата AlekseyPopovv:



StrCmp $R0 0 0 +50
.: NSIS - все вопросы :. часть 2.




потом забудете про это "+50" и будете голову ломать, почему у вас скрипт не работает после каких-то доработок
Аватара пользователя
iglezz

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

Сообщение iglezz »

Цитата AlekseyPopovv:



Как пропустить (не показывать) страницу, если нет определённого параметра? И как назад
.: NSIS - все вопросы :. часть 2.




Читать справку
4.5.3 Callbacks
.



Пример

[spoiler]Код:
[/spoiler]

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

Name "CallbackExampleSkipPage"
OutFile "CallbackExampleSkipPage.exe"
ShowInstDetails show
AutoCloseWindow false
RequestExecutionLevel user
Page components
Page directory dirPagePre
Page instfiles
Section "Install"
	DetailPrint "Doing some stuff..."
SectionEnd
Section /o "Skip Directory Page" secDir
SectionEnd
Function dirPagePre
	SectionGetFlags ${secDir} $1
	IntOp $1 $1 
Аватара пользователя
динозавра

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

Сообщение динозавра »

iglezz,

Спасибо, все красиво и не мелькает.. А то я уже через .vbs слепил.
Аватара пользователя
динозавра

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

Сообщение динозавра »

Друзья, У меня опять супер проблема. Ну никак не работает удаление файла из папки System32 на Вин х64.

Уже пишу такое и никак:





Код:

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

!include "x64.nsh"
Section
 Delete "$WINDIR\System32\1.txt
 Delete "$SYSDIR\1.txt
 Delete "C:\Windows\System32\1.txt"
SectionEnd

Но если я подсовываю 1.txt в SysWOW64 то оттуда удаляет. Что я делаю не так?
Аватара пользователя
Begin2Fly

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

Сообщение Begin2Fly »

Цитата AlekseyPopovv:



Как на "UnInstallBtn" назначить функцию на кастомной странице? Пример бы какой ни будь.
.: NSIS - все вопросы :. часть 2.




А где код, в котором этот "UnInstallBtn"?
Аватара пользователя
iglezz

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

Сообщение iglezz »

Так нет его, только это:

${NSD_SetText} $0 "$(^UnInstallBtn)"
Аватара пользователя
MKN

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

Сообщение MKN »

Внимательное чтение ${NSISDIR}\Docs\nsDialogs\Readme.html подскажет верный ответ.

Что-то в духе

Код:

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

${NSD_OnClick} $0 ИмяФункции
Аватара пользователя
динозавра

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

Сообщение динозавра »

Как сделать, что бы при выборе папки установки дописывалась папка приложения?

Пример: "C:\Program Files\Proga\", а не так "C:\Program Files".

Как удалить пустую папку при закрытии инсталлятора или при нажатии кнопки отмена?
Ответить

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