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

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

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

Сообщение Salmo »

Цитата Salmo:



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




Это впринципе невозможно, т.к. в вашем случае данная функция никогда не будет вызвана

Функция "EnumProcessCall" будет вызвана лишь в том случае, когда вы включаете убитие процесса по, например, "части имени окна"

В вашем же случае (поиск по имени процесса) данная функция никогда не будет вызвана...

И зависание происходит не от того, что в скрипте присутствует функция, а из-за чего-то другого, а причину вам придётся искать самостоятельно






Цитата Salmo:



${KillProcess} "AVJF.EXE" $R1 ;Эта строчка тоже не нужна
SFX Creator 4 Alpha - создаём SFX архивы




"Не нужна" только в вашем случае! Вы помните оригинал сообщения, которое было написано выше данной команды??

Я сделал функцию универсальной, поместив в один запрос выбор пользоваелю...

Если процесс найден, то пользователю показывается сообщение и он сам решает, позволить ли пакету инсталлятора самому убить процесс, либо же пользователь сам закроет указанное приложение и только потом нажмёт кнопочку "ОК"

Так что данная строчка не лишняя Изображение




Цитата Salmo:



А может функция определения прав Админа "всунулась" не туда и должна быть над Function EnumProcessCall ?
SFX Creator 4 Alpha - создаём SFX архивы




Порядок функций в данной ситуации не имеет значения




Цитата Salmo:



Проверил все еще раз. Скомпилировал все заново. Полный код виснет. Урезанный работает.
SFX Creator 4 Alpha - создаём SFX архивы




Я уже объяснил...Значит виснет у вас на другом месте, но никак не из-за функции, которая никогда не выполняется в вашем пакете инсталлятора



---


Цитата truvo:



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




Встроенная функция обновлениея в SFX Creator создана для таких как вы Изображение

Update_2.6.1.zip для тех, у кого установлена программа Сентябрьской версии 2.6

Update_8.12.2012.zip для тех, у кого установлена версия 2.6.1






Цитата Salmo:



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




Сам без понятия...Нет возможности установить более совершенную систему отличную от WinXP, про 64-bit ОС вообще молчу... Изображение
Аватара пользователя
Salmo

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

Сообщение Salmo »

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



"Не нужна" только в вашем случае!
SFX Creator 4 Alpha - создаём SFX архивы




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

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

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

Цитата Salmo:



Но так как пакет будет работать именно с этой программой, то мне придется учитывать эту особенность
SFX Creator 4 Alpha - создаём SFX архивы




Ну тогда чуть измените код, и, пропишите просто сообщение, как вы и сделали, но только чуток измените команду после нажатия ОК, у вас сейчас при нажатии ОК идёт попытка убития процесса, можете сделать, чтобы был просто повторный поиск...вот так:





Код:

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

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

Ничего из кода не удаляйте, а просто замените символ + на - Изображение



P.S.

А если по хорошему и у вас проект будет постоянно компилироваться новыми версиями, и, чтобы при каждой компиляции не заморачиваться редактированием исходников, можете создать "Выполнить собственные функции" и просто подключаемая заранее написанная вами функция будет подключаться к проекту Изображение
Аватара пользователя
Nun-Nun

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

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

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



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




Спасибо учту...


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



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




Да я и не заморачиваюсь особо. В папке NSIS у меня хранятся все модернизированные исходники к моим проектам и я их просто копирую вместо созданного и просматриваю. Так нагляднее, хотя, когда будут отработаны окончательные варианты, может быть, сделаю так, как вы советуете... Спасибо.

У меня на основе SFX Creatorа уже сделаны несколько псевдо-портативных утилит, т.е. я не применяю пакеты только по прямому назначению, как инсталляционные пакеты, что имеет свои особенности. Например, ранее я вам писал, что плагин ExecDos.dll не любит запускать батники в скрытом виде, без ожидания конца работы батника (помните я просил добавить паузу после команды - это тоже не решало проблему для сложных батников, которые имеют разветвленные функции, - они зависали). Я стал использовать для запуска батников исключительно ExecCmd.dll, который этой проблемы не создавал. Писать об этом Вам не стал, потому, что ожидал ответ: "плагин только запускает батник и никак не влияет на его дальнейшую работу..." Но практика показала, что без ожидания конца работы батника он с запуском не справляется. Есть еще один нюанс... для случая, когда пакет помещен в автозагрузку. В этом случае, с запуском батника не всегда справлялся и плагин ExecCmd.dll (пакет распаковывался, но пуск не происходил). Т.е в этой экстремальной ситуации, когда грузится система и процессор нагружен, плагин не успевает корректно подгрузиться и выполнить свою функцию. Понятно, что до сути причин в этих случаях докопаться почти невозможно, поэтому я ищу другие варианты. Например, в случае с автозагрузкой (помня, что скрипты VBS меня никогда не подводили) я решил добавить в код свою функцию по созданию файла скрипта VBS для скрытного запуска батника без ожидания конца работы, что исключило сбои при запуске. Но такой вариант не очень изящный, потому, что подменяет штатные функции SFX Creatorа и, как я уже писал, запуск дополнительных исполняемых файлов перехватывают ХИПСЫ, если они есть в системе... Так, что имеется много частных случаев применения пакетов, которые имеют свои особенности и Вам, как разработчику программы, конечно, их учитывать было бы нереально... и не нужно Изображение Программа же Ваша, обладая значительной гибкостью, дает большие возможности решать эти не стандартные ситуации. Спасибо...
Аватара пользователя
Nun-Nun

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

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

Цитата Salmo:



В папке NSIS у меня хранятся все модернизированные исходники к моим проектам и я их просто копирую вместо созданного и просматриваю
SFX Creator 4 Alpha - создаём SFX архивы





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


Ну, как я уже увидел из всех ваших сообщений, вы пользуетесь SFX Creator'ом постоянно, поэтому...впринципе могу добавить чисто для вас такую возможность, при которой SFX Creator не будет создавать из файла проекта исходный код, а будет копировать готовый *.nsh файл и обрабатывать именно его при запуске процесса компиляции, но надо ли это вам? Изображение

К примеру, добавить в файла проекта *.INI строку с указанием *.nsh файла, который стоит обрабатывать при компилировании, а не создавать новый






Цитата Salmo:



Писать об этом Вам не стал, потому, что ожидал ответ: "плагин только запускает батник и никак не влияет на его дальнейшую работу..."
SFX Creator 4 Alpha - создаём SFX архивы




Ну а это вы зря...Откуда вы знаете, каков бы был мой ответ?

Я ведь, знаете ли, вообще SFX Creator'ом не пользуюсь...

Идея создания SFX Creator вообще появилась у меня после прочтения статьи
Создание SFX архива
, посмотрев на которую я подумал, что возможно, у меня получится сделать для пользователей автоустановки что-то более простое, понятнее и более функциональное, чем WinRAR SFX и 7z SFX

Конечно же, знал о таком детище как
Модифицированный SFX модуль 7-Zip'а для установок
, но лично для меня он кажется сложноватым...слишком много ненужных символов в командах и начинающему сложно (как мне кажется) разобраться во всех тонкостях...



Я пишу SFX Creator для народа, и, каким будет SFX Creator зависит исключительно от пользователей программы...

Да, я не программист с образованием и не смогу реализовать все ваши пожелания относительно того-же неудобного графического интерфейса программы, как тут кто-то высказывался...Но постараюсь сделать всё, что в моих силах и в рамках моих знаний Изображение



Так сказать, делаю как умею... Изображение
Аватара пользователя
K.A.V.

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

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

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



Ну, как я уже увидел из всех ваших сообщений, вы пользуетесь SFX Creator'ом постоянно
SFX Creator 4 Alpha - создаём SFX архивы




Да, с некоторого времени, переделал некоторые свои творения с использованием SFX Creator'а. Причина - маленький модуль, почти в 3 раза меньше того, который создавала программа, которой я пользовался, но главная причина в том, что она не обеспечивала запуск пакетов на Вин8 ( автор не верно подошел к решению интерфейса, включив на постоянной основе, функцию выбора типов ОС, ограниченную его списком, в котором нет Вин8), а я хочу сделать утилиту совместимую с восьмеркой... Правда, справедливости ради, скажу, что проблем с требуемыми мной функциями, у пакета не было ни в каких экстремальных ситуациях.


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



впринципе могу добавить чисто для вас такую возможность, при которой SFX Creator не будет создавать из файла проекта исходный код, а будет копировать готовый *.nsh
SFX Creator 4 Alpha - создаём SFX архивы




Спасибо, не надо меня так баловать Изображение ( ну только, если не сложно), лучше решать обще-потребительские задачи, раз Вы настроены расширять функционал программы. (напомню просьбу добавить в кеширование "все типы" файлов)


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



Ну а это вы зря...Откуда вы знаете, каков бы был мой ответ?
SFX Creator 4 Alpha - создаём SFX архивы




Извиняюсь, Изображение но такой ответ уже звучал то ли здесь, то ли в ветке по NSIS (автора не помню), найти уже не реально, но в память мне врезался хорошо, потому, что именно в этот момент возникли проблемы с запуском батника через ExecDos.dll и я промолчал...


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



Идея создания SFX Creator вообще появилась у меня после прочтения статьи Создание SFX архива, посмотрев на которую я подумал, что возможно, у меня получится сделать для пользователей автоустановки что-то более простое, понятнее и более функциональное
SFX Creator 4 Alpha - создаём SFX архивы




Меня эта статья, в свое время, отпугнула. Я не хотел тратить мозги на осваивание вспомогательных инструментов, лучше уделять внимание собственному проекту, поэтому, меня привлекла именно Ваша программа и подход к реализации функций. Зачем мучиться с китайскими палочками, осваивая их, когда есть удобная ложка Изображение


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



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




Готовы терпеть все капризы пользователей? Ну, тогда Вам терпения и мужества...


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



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




Этот диалог я помню, именно тогда я появился на форуме. Надо понимать, что функциональность важнее красивостей. Автор не оценив гибкость программы по достоинству и ее функционал, сосредоточился на второстепенном...



К.А.V, скажите, нужно ли напоминать о пожеланиях, которые вы одобрили и решили реализовать, но их пока нет какое-то время?

И еще, моя активность в теме и словоохотливость выглядят нескромно?
Аватара пользователя
K.A.V.

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

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

Цитата Salmo:



Спасибо, не надо меня так баловать ( ну только, если не сложно)
SFX Creator 4 Alpha - создаём SFX архивы




Да не сложно...Там прописать то впринципе пару строк, чтобы просто код не создавался, а сразу компилировался с подменой исходника Изображение




Цитата Salmo:



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




Вот я и захотел создать именно такую "ложку" Изображение




Цитата Salmo:



Готовы терпеть все капризы пользователей?
SFX Creator 4 Alpha - создаём SFX архивы




Я готов реализовать тот функционал, который реально необходим SFX Creator'у, а не просто пихать в код всё, что пользователи захотят...У каждого свои потребности и подстраиваться под желания каждого пользователя это будет не правильно, поэтому рассматриваем реальные проблемы и добавляем тот функционал, который может пригодиться всем при создании SFX




Цитата Salmo:



К.А.V, скажите, нужно ли напоминать о пожеланиях, которые вы одобрили и решили реализовать, но их пока нет какое-то время?
SFX Creator 4 Alpha - создаём SFX архивы




Вообще, все увиденные пожелания в данной теме я сохраняю в txt файл, в котором у меня заметки на следующую версию/исправления, лежит у меня он в папочке с исходниками SFX Creator, но вот после поломки компа, про


Цитата Salmo:



напомню просьбу добавить в кеширование "все типы" файлов
SFX Creator 4 Alpha - создаём SFX архивы




запамятовал, потому что не было возможности сохранить Изображение

Сегодня к вечеру, думаю, будет обновление Изображение



Если есть что-то ещё, оглашайте, возможно что-то и упустил Изображение




Цитата Salmo:



И еще, моя активность в теме и словоохотливость выглядят нескромно?
SFX Creator 4 Alpha - создаём SFX архивы




Да всё хорошо, активный участник, который заинтересован в развитии проекта и помогает другим пользователям программы решать возникшие проблемы при работе с программой, за это вам несомненно +
Аватара пользователя
atsasinWTF

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

Сообщение atsasinWTF »

K.A.V.,

Пожалуйста. сделайте возможность:

Вбивать свой заголовок окна

Убирать иконку

Вставлять свою иконку



Аватара пользователя
atsasinWTF

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

Сообщение atsasinWTF »

Цитата Salmo:



Сегодня пытался работать в программе на 7ке на 10 дюймовом экране... Работой это не назовешь, потому, что окно программы обрезано снизу по линии "дополнительные возможности", что не дало возможности довести дело до результата - готового пакета.
SFX Creator 4 Alpha - создаём SFX архивы




Знаю о проблеме с нестандартными разрешениями и с увеличенным dpi в частности, пока проблему устранить не могу... Изображение






Цитата Salmo:



он не сможет работать в программе, установленной в папку Programm Files
SFX Creator 4 Alpha - создаём SFX архивы




В SFX Creator нет жесткой привязки к устанавливаемому каталогу, так что пользователь может его изменить...

Но с другой стороны, было бы не плохо уведомить об этом пользователя...Сделаем проверку ОС в пакете инсталлятора и будем предупреждать пользователя об этом, такой вариант думаю подойдёт? Изображение




Цитата Salmo:



Мне часто приходится, пред установкой многофункционального пакета, создавать точку восстановления системы. В этом случае, я всегда включаю в пакет окно предложения сделать это или отказаться. Можно ли эту функцию реализовать SFX Creator'ом и будет ли она востребована?
SFX Creator 4 Alpha - создаём SFX архивы




Впринципе, можно сделать обычное окно сообщения с запросом...Как таковой SFX Creator не является программой для создания пакетов инсталляторов (хотя умеет Изображение ), поэтому делать именно графическое сообщение с диалогом будет не правильным

Посмотрю завтра, что можно сделать, вроде бы для NSIS я как-то тестировал плагин для создания точек восстановления...

Можем просто в "Дополнительную возможность" добавить новый пунктик Изображение

Завтра завтра всё скажу, сегодня уже неохото капаться Изображение



---

Вышло обновление

1. В "Управление проектами" в поле "Типы файлов для кеширования" укажите маску *.* для кеширования всех типов файлов в проекте

2. Salmo, Изображение


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




1. Создайте каталог MySources в каталоге SFX Creator

2. В INI файл проекта пропишите новую секцию:



Код:

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

[ccode]
Source=MyTEST

3. Скопируйте файл MyTEST.nsi в папку MySources

При наличии указанного вами файла в параметре "Source" SFX Creator не будет создавать каждый раз при компиляции новый исходный код из данных проекта, а будет копировать указанный вами файл в каталог "NSIS", подменяя Source.nsi
Ответить

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