SFX Creator 4 Alpha - создаём SFX архивы
-
Nun-Nun
Re: SFX Creator 4 Alpha - создаём SFX архивы
K.A.V.,
При установке SFX Creator 2.6 окно программы открывается на заднем плане. Может сделаете, чтобы оно открывалось на переднем плане? Если не ошибаюсь, я когда-то раньше уже упоминал об этом дефекте.
При установке 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}" было только имя, а в заголовке имя с версией!

Еще 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.:
вы вырезали тот код, который отвечает за определение наличия процесса...
В том-то и дело, что процесс определяется без этой части кода...
Полный код, который приводит к зависанию.
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 ? Или это не важно? (Проверил позже, - перемещение ничего не дает)
Проверил все еще раз. Скомпилировал все заново. Полный код виснет. Урезанный работает.
Возможно это защищенный системный процесс
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 архивы
Цитата Limonica:
ведь перенаправляет в SysWOW64
Задайте путь $%WinDir%\Sysnative вместо $SYSDIR. Требуется проверка. Вопрос по этому поводу задал ниже...
Я не разбирался в возможностях NSISа в этом отношении, но ясно, что для 32 битного процесса, коим является процесс инициируемый инсталлятором, необходимо перенаправление отключать, чтобы попасть в System32, что морочно. Я пока делаю так: Добавляю в пакет батник, который запускаю через %WinDir%\Sysnative\cmd в 64 битной среде с правами Админа, и он уже ковыряется в System32.
Если нужно что-то патчить, а патчи 32 битные, то надо, с помощью того-же батника, скопировать нужные файлы на нейтральную территорию (TEMP), став их владельцем и получив полный доступ, пропатчить и вернуть назад, восстановив владельца и права доступа. Если оригинальные файлы в System32 переписать не удается, чаще всего получается их переименовать и, после перезагрузки, удалить, если необходимо. Так, что CMD еще живо
ведь перенаправляет в 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 архивы
atsasinWTF, Нужно поставить галочку "Задействовать UI оболочку"
А, если нужно просто сообщение перед установкой без графического интерфейса, - в главном окне в поле "Дополнительные возможности" выберите "Показать сообщение перед запуском"
А, если нужно просто сообщение перед установкой без графического интерфейса, - в главном окне в поле "Дополнительные возможности" выберите "Показать сообщение перед запуском"
-
Nun-Nun
Re: SFX Creator 4 Alpha - создаём SFX архивы
truvo, Извините, что отвечаю, хотя вопрос не ко мне... Если программа не установлена - Setup_rar. Если установлена, достаточно запустить автоматическое обновление и все "свежее" поселится у вас 
Можете учесть это сообщение:

Можете учесть это сообщение:
SFX Creator 4 Alpha - создаём SFX архивы
-
atsasinWTF
Re: SFX Creator 4 Alpha - создаём SFX архивы
Salmo, зайдя впервые в тему, сложно понять, в чем смысл того сообщения.
-
Salmo
Re: SFX Creator 4 Alpha - создаём SFX архивы
truvo, Да, согласен, трудновато... Смысл такой: Если у вас была установлена программа ранее, возможно, она содержит ошибку (отсутствует нужный файл). Поэтому, после автоматического обновления, нужно проверить его наличие по пути SYS\ofiles\SelfDel.exe. Успехов...
K.A.V., Здравствуйте. Еще вопрос, в связи с вопросом Limonica. Если я пропишу путь установки для файла, используя виртуальную папку Sysnative для 64 битной системы, как программа переварит такой вариант, получу ли я доступ в System32? У меня нет 64 битной винды, проверить не могу...
K.A.V., Здравствуйте. Еще вопрос, в связи с вопросом Limonica. Если я пропишу путь установки для файла, используя виртуальную папку Sysnative для 64 битной системы, как программа переварит такой вариант, получу ли я доступ в System32? У меня нет 64 битной винды, проверить не могу...
-
Salmo
Re: SFX Creator 4 Alpha - создаём SFX архивы
Salmo, но если я собрался, впервые зайде в тему, скачать по вашему совету Setup_rar - у меня же не установлена эта программа ранее, это же ясно! Зачем вы тогда отсылаете к тому сообщению? Или вы полагаете, что в сегодняшнем Setup_rar у автора осталась какая-то старая ошибка?
-
atsasinWTF
Re: SFX Creator 4 Alpha - создаём SFX архивы
truvo, Нет, в этом пакете ошибки нет. Мой ответ Вам начинался фразой:
Цитата Salmo:
Если программа не установлена - Setup_rar.
- этим можно было ограничиться (и мне и Вам), но я больше сосредоточился на фразе:
Цитата truvo:
какие из вложений ему скачать для получения свежайшего варианта?
То, что Вы впервые в этой теме, явно не подразумевает, что Вы не скачали ранее еще где-нибудь эту программу, поэтому, я упомянул второй вариант, учитывая, что еще кто-то интересуется вопросом обновления... Извините, что сделал Вас жертвой многословия...
Цитата Salmo:
Если программа не установлена - Setup_rar.
SFX Creator 4 Alpha - создаём SFX архивы
- этим можно было ограничиться (и мне и Вам), но я больше сосредоточился на фразе:
Цитата truvo:
какие из вложений ему скачать для получения свежайшего варианта?
SFX Creator 4 Alpha - создаём SFX архивы
То, что Вы впервые в этой теме, явно не подразумевает, что Вы не скачали ранее еще где-нибудь эту программу, поэтому, я упомянул второй вариант, учитывая, что еще кто-то интересуется вопросом обновления... Извините, что сделал Вас жертвой многословия...
