SFX Creator 4 Alpha - создаём SFX архивы

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

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение Nun-Nun »

K.A.V.,



При установке SFX Creator 2.6 окно программы открывается на заднем плане. Может сделаете, чтобы оно открывалось на переднем плане? Если не ошибаюсь, я когда-то раньше уже упоминал об этом дефекте.
Аватара пользователя
Дэмиен

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение Дэмиен »

K.A.V., спасибо за обновление, всё заработало! Изображение

Еще 2 предложения появились Изображение, можно по умолчанию в ShortCuts.ini включить BackEnabled=1!?

И возможно ли добавить, к примеру в Дополнительные возможности -> Другие возможности, перед информации о версии )), раздел для редактирования заголовка инсталлятора!? По умолчанию задается заголовок окна и имя одинаковое! Вручную дописывать в Source.nsi команду Caption "Установка ${PRODUCT_NAME} ${PRODUCT_VERSION}" поднадоедает!...)) Просто, иногда надо чтобы в Name "${PRODUCT_NAME}" было только имя, а в заголовке имя с версией!
Аватара пользователя
K.A.V.

Re: SFX Creator 4 Alpha - создаём SFX архивы

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

Цитата K.A.V.:



Возможно это защищенный системный процесс
SFX Creator 4 Alpha - создаём SFX архивы




Да, этот процесс от защитного ПО, поэтому выгружается средствами самой программы вручную. От инсталлятора требуется только определить его наличие, выдать предложение о закрытии, дождаться ручного закрытия и продолжить работу. Все это проделывает без зависания, именно урезанный код, а полный виснет.


Цитата K.A.V.:



вы вырезали тот код, который отвечает за определение наличия процесса...
SFX Creator 4 Alpha - создаём SFX архивы




В том-то и дело, что процесс определяется без этой части кода...




читать дальше »




Полный код, который приводит к зависанию.



Function EnumProcessCall

StrCmp $R3 "$3" 0 nokill

${KillProcess} "$5" $R4

nokill:

FunctionEnd

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Function GetAccountType

UserInfo::GetAccountType

Pop $1

StrCmp $1 "Admin" okAccountType 0

MessageBox MB_OK|MB_ICONEXCLAMATION `Для установки программы "${PRODUCT_NAME}" необходимо войти в систему с правами Администратора!$\n$\nПрограмма установки завершает свою работу`

quit

okAccountType:

FunctionEnd



Function .onInit

Var /Global CommandLine

!insertmacro GetParametersCall $CommandLine

${GetTime} "" "L" $Day $Month $Year $WeekDay $Hour $Minute $Seconds

StrCpy $TMPDIR "$TEMP\sfxcreator_$Minute$Hour$Seconds"

StrCpy $R0 0

newSearch_1:

${FindProcessName} "AVJF.EXE" $R1 ;Вот же, поиск есть

StrCmp $R1 "1" 0 end_1

MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Для продолжения необходимо выгрузить $\nПожалуйста, закройте приложение самостоятельно.$\n$\nМожете отказаться от установки, нажав кнопку 'Отмена'" idOK +2

quit

${KillProcess} "AVJF.EXE" $R1 ;Эта строчка тоже не нужна

sleep 1000

goto newSearch_1

end_1:

CreateDirectory "$TMPDIR"

call PRE_Function

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Код между \\\\\\\\\\\\\ компилируется без ошибок и дает возможность установщику определить наличие процесса, ждет его ручное закрытие и отрабатывает, далее, без зависаний. Я, когда удалял верхнюю часть, подумал, что она относится только к Убиванию процесса(?), что мне не требовалось.




Может есть этому объяснение...

А может функция определения прав Админа "всунулась" не туда и должна быть над Function EnumProcessCall ? Или это не важно? (Проверил позже, - перемещение ничего не дает)



Проверил все еще раз. Скомпилировал все заново. Полный код виснет. Урезанный работает.
Аватара пользователя
Salmo

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение Salmo »

Цитата Limonica:



ведь перенаправляет в SysWOW64
SFX Creator 4 Alpha - создаём SFX архивы




Задайте путь $%WinDir%\Sysnative вместо $SYSDIR. Требуется проверка. Вопрос по этому поводу задал ниже...



Я не разбирался в возможностях NSISа в этом отношении, но ясно, что для 32 битного процесса, коим является процесс инициируемый инсталлятором, необходимо перенаправление отключать, чтобы попасть в System32, что морочно. Я пока делаю так: Добавляю в пакет батник, который запускаю через %WinDir%\Sysnative\cmd в 64 битной среде с правами Админа, и он уже ковыряется в System32.



Если нужно что-то патчить, а патчи 32 битные, то надо, с помощью того-же батника, скопировать нужные файлы на нейтральную территорию (TEMP), став их владельцем и получив полный доступ, пропатчить и вернуть назад, восстановив владельца и права доступа. Если оригинальные файлы в System32 переписать не удается, чаще всего получается их переименовать и, после перезагрузки, удалить, если необходимо. Так, что CMD еще живо Изображение
Аватара пользователя
Salmo

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение Salmo »

atsasinWTF, Нужно поставить галочку "Задействовать UI оболочку"

А, если нужно просто сообщение перед установкой без графического интерфейса, - в главном окне в поле "Дополнительные возможности" выберите "Показать сообщение перед запуском"
Аватара пользователя
Nun-Nun

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение Nun-Nun »

truvo, Извините, что отвечаю, хотя вопрос не ко мне... Если программа не установлена - Setup_rar. Если установлена, достаточно запустить автоматическое обновление и все "свежее" поселится у вас Изображение

Можете учесть это сообщение:
SFX Creator 4 Alpha - создаём SFX архивы
Аватара пользователя
atsasinWTF

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение atsasinWTF »

Salmo, зайдя впервые в тему, сложно понять, в чем смысл того сообщения.
Аватара пользователя
Salmo

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение Salmo »

truvo, Да, согласен, трудновато... Смысл такой: Если у вас была установлена программа ранее, возможно, она содержит ошибку (отсутствует нужный файл). Поэтому, после автоматического обновления, нужно проверить его наличие по пути SYS\ofiles\SelfDel.exe. Успехов...



K.A.V., Здравствуйте. Еще вопрос, в связи с вопросом Limonica. Если я пропишу путь установки для файла, используя виртуальную папку Sysnative для 64 битной системы, как программа переварит такой вариант, получу ли я доступ в System32? У меня нет 64 битной винды, проверить не могу...
Аватара пользователя
Salmo

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение Salmo »

Salmo, но если я собрался, впервые зайде в тему, скачать по вашему совету Setup_rar - у меня же не установлена эта программа ранее, это же ясно! Зачем вы тогда отсылаете к тому сообщению? Или вы полагаете, что в сегодняшнем Setup_rar у автора осталась какая-то старая ошибка?
Аватара пользователя
atsasinWTF

Re: SFX Creator 4 Alpha - создаём SFX архивы

Сообщение atsasinWTF »

truvo, Нет, в этом пакете ошибки нет. Мой ответ Вам начинался фразой:
Цитата Salmo:



Если программа не установлена - Setup_rar.
SFX Creator 4 Alpha - создаём SFX архивы




- этим можно было ограничиться (и мне и Вам), но я больше сосредоточился на фразе:
Цитата truvo:



какие из вложений ему скачать для получения свежайшего варианта?
SFX Creator 4 Alpha - создаём SFX архивы




То, что Вы впервые в этой теме, явно не подразумевает, что Вы не скачали ранее еще где-нибудь эту программу, поэтому, я упомянул второй вариант, учитывая, что еще кто-то интересуется вопросом обновления... Извините, что сделал Вас жертвой многословия... Изображение
Ответить

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