PDA

Показать полную графическую версию : SFX Creator 4 Alpha - создаём SFX архивы


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46 47 48 49 50 51 52 53 54 55

K.A.V.
09-02-2015, 16:23
На сколько я понял из справки, то приложение которое должно запускаться самое первое надо добавит в корень и связать с командой которая прописана в выполнениях приложений и shell команд и там же выставить выполнить перед распаковкой. »
в настойках групп и компонентов, когда в выполнениях приложений и shell команд добавлено несколько приложений, то в настройках компонентов не правильно связывается команда, а если по одному добавлять, то для компонета нормально »
Немного не так.

Диалог "Выполнение приложений и Shell-команд"
Настройка "выполнить до/после распаковки" была создана давным-давно, ещё в те времена, когда SFX Creator не был таким, каким является сейчас, а именно:
а) не было возможности настройки очерёдности команд в настройках проекта
б) не было возможности подключать графический интерфейс
в) не было возможности детально настроить порядок выполнения всех команд в скрипте при подключении граф. интерфейса

Сейчас же, если вы подключаете графический интерфейс и включаете возможность "Обработка групп и компонентов", то вам предоставляется возможность настроить порядок выполнения каждой команды в своём скрипте так, как пожелаете. Однако столь детальной настройки нет, если вы не подключаете графический интерфейс, вы можете воспользоваться только "Порядком выполнения команд"

Если вы создаёте простой SFX архив без графического интерфейса и без включения возможности "Обработка групп и компонентов" - то в данном диалоге вам в помощь именно данные переключатели в этом диалоге.
Но, если же вы подключаете граф. интерфейс с "Обработкой групп и компонентов", то настройки очерёдности в диалоге настройки групп и компонентов будут иметь приоритет над настройками во всех остальных диалогах типа "Выполнение приложений и Shell-команд", +настройки очерёдности в данном диалоге (Настройка групп и компонентов) имеют приоритет над настройками в возможности "Порядок выполнения команд" (которая в первую очередь была создана для silent архивов)

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

Да и проверить, как мне кажется, не очень много времени займёт, если что-то не понятно, компиляция тестового проекта от силы 3 секунды занимает :)

то приложение которое должно запускаться самое первое надо добавит в корень и связать с командой которая прописана в выполнениях приложений и shell команд и там же выставить выполнить перед распаковкой. »
Выставлять порядок выполнения команды в "Выполнение приложений и Shell-команд" в вашем случае бесполезно, настройка команды будет проигнорирована, т.к. "Настройка групп и компонентов" имеет приоритет и в ней же можно выставить распаковку ваших файлов.

Опять же, учитывая количество багов/неточностей в программе на текущий момент, я бы посоветовал вам раскидать абсолютно все команды своего проекта через диалог "Настройка групп и компонентов", раз уж вы подключаете графический интерфейс, по одной простой причине, например:
Если подключить графический интерфейс и создать команду в диалоге "Выполнение приложений и Shell-команд" с настройкой "Выполнить до распаковки файлов", то команда на исполнение приложения пропишется прям в самое начало кода и исполнится сразу после запуска вашего SFX архива, а не перед самым началом распаковкой файлов, этот небольшой баг как раз следствие ввода возможности граф. интерфейса, не всё было мной протестировано на версии 2.8 RC (была переписана практически с 0), "одним глазом" не всегда получается уследить за всем, ну, а от пользователей программы я тоже не получаю баг-репортов, отсюда и такое количество "детских ошибок" в SFX Creator...

Те приложения которые должны запуститься после распаковки, можно или даже нужно не добавлять в настройках групп и компонентов и выставить на запуск после распаковки файлов. »
Не совсем верно, да, можно и не добавлять и они будут "сами раскиданы", насчет "даже не нужно" тоже не соглашусь, SFX Creator'у "всё-равно", он всё-равно закинет ваши команды в код, главное, чтобы это было то место, где вы хотите видеть эту самую команду :biggrin:
Всё дело в том, какой вы проект создаёте, попробуйте отнести команду распаковки файла в какой-нибудь компонент и при этом, как вы сказали, не определять порядок команды на выполнение приложения через "Настройка групп и компонентов" и вы увидите, что данная команда будет выполнена гораааздо позже распаковки ваших каких-то файлов, записей с которыми может быть, скажем, 20...

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

Соленый
09-02-2015, 18:14
Артем, огромное спасибо за помощь, только что протестировал на двух осях, нужный результат получен.

K.A.V.
09-02-2015, 18:45
А как это сделать ? я добавляю файлы в проект с перезаписью из главного меню, можно было бы отнести к Управлению файловыми операциями, но там нет возможности »
Так там же есть выпадающий список с пунктом...Относите файлы к компонентам так же, как и остальные команды
http://s016.radikal.ru/i337/1502/56/f9cfbd9e3c38t.jpg (http://radikal.ru/f/s016.radikal.ru/i337/1502/56/f9cfbd9e3c38.jpg.html)

Можно было не заморачиваться и запустить процесс с финишной страницы, но там для запуска приложения только один вариант добавления пути к исполняемому файлу. В системах разной битности пути разные.
Может я не правильно переменную выставляю...????исполняемый файл одинаковый uiStub.exe пути разные
C:\Program Files (x86)\ХХХХХХХХ\Engine64\22.0.0.110\uiStub.exe
C:\Program Files (x86)\ХХХХХХХХХ\Engine\22.0.0.110\uiStub.exe
C:\Program Files\ХХХХХХХХХ\Engine\22.0.0.110\uiStub.exe
перменную я ставлю $PROGRAMFILES\Engine\22.0.0.110\uiStub.exe но с расположением исполняемого файла как в первом варианте не работает, может их можно как то свести ???? »
Что-то я не совсем понял вас :)
Если использовать переменную $ProgramFiles, то в 32-битных системах она будет вести в каталог C:\Program Files, в 64-битных в C:\Program Files (x86)
Если вы хотите, чтобы в 64-битных системах у вас приложение ставилось так же, как и в 32-битных, в каталог C:\Program Files, то используйте переменную $ProgramFiles64

По поводу папок Engine и Engine64, я не совсем понял суть, вы хотите, чтобы в зависимости от разрядности ОС создавалась та или иная папка? В данный момент такого SFX Creator не умеет, но вы можете же прописать распаковку файлов в этот каталог, не совсем понимаю, в чем вопрос.

По поводу запуска приложения после установки в зависимости от разрядности - такого в SFX Creator тоже нет, SFX Creator вообще с 64-битными ОСями пока не совсем совместим в плане создания универсальных архивов...

Но можете реализовать другим путём.
1. Если создаёте компоненты, то можете создать ещё один компонент, ниже всех остальных с именем "Запустить приложение после установки"
2. Перед этим создайте 2 команды с запуском вашего приложения в диалоге "Выполнение приложений и Shell-команд", привязав каждую к запуску в конкретной разрядности (там есть небольшой выпадающий список)
3. Поместите обе команды в созданный вами компонент
После отработки всех компонентов, запустится одно из двух приложений

Соленый
10-02-2015, 11:08
Написал PM. Еще раз выражаю огромную благодарность.

atsasinWTF
15-02-2015, 22:17
K.A.V.,
Здравствуйте,
Скачал пример, не работает, в чем может быть проблема?
Спасибо.

сделал все как здесь написано:
Готовый пример проекта с программой Total Commander
Вы можете загрузить этот пример проекта по этой ссылке (только без файлов TC)
1. Распаковать содержимое архива в папку <SFX Creator>\projects
2. Скопировать файлы Total Commander в папку <SFX Creator>\projects\Total Commander_UniSFX\AppFiles
3. Выходной файл будет находиться в папке проекта - <SFX Creator>\projects\Total Commander_UniSFX\Total Commander_UniSFX.exe

запускаю созданный файл - запускается\исчезает\снова появляется.
но прога не запускается.

K.A.V.
16-02-2015, 23:53
исчезает\снова появляется. »
Что исчезает/появляется?

Чем я смогу вам помочь в решении вашего вопроса, если вы никакой информации не предоставили? Поставьте себя на моё место и прочитайте ваше сообщение...
Может, напутали чего с путями, не так скопировали или ещё чего.

Nestor
22-02-2015, 23:06
K.A.V., здравствуйте. спасибо за программу. всё понятно и просто. но иногда при установке из созданных инсталяторов отдельные файлы почему то лежат не в тех папках, в которых должны находиться. версия последняя 2.8, антивирус при создании отключаю, ошибок при создании не выдаёт, файлы проекта пробовал перехешировать - не помогает. в чем может быть причина?
:help:

K.A.V.
23-02-2015, 07:00
но иногда при установке из созданных инсталяторов отдельные файлы почему то лежат не в тех папках, в которых должны находиться »
Значит напутали что-то с путями в проекте, сомневаюсь, что SFX архив будет сам раскидывать файлы, куда захочет, если конечно ошибка не в коде самого SFX Creator, который создал скрипт
Так я вам ничего сказать не могу, выложите файл проекта + скрипт, который получается после компиляции проекта (< Папка SFX Creator>\NSIS\Source.nsi), тогда и можно будет анализировать вашу проблему

файлы проекта пробовал перехешировать - не помогает »
А причем здесь функция кеширования файлов проекта? Эта возможность всего-лишь создаёт список файлов, которые вы добавили в проект и подставляет в них путь, который вы выбрали для распаковки

Nestor
23-02-2015, 10:37
А причем здесь функция кеширования файлов проекта? »
здравствуйте. вы же сами написали:
создаёт список файлов, которые вы добавили в проект и подставляет в них путь, который вы выбрали для распаковки »
возможно получается путь не правильный. скорее всего у меня просто руки кривые. пробовал просто распаковать архиватором созданный инсталятор тоже самое. выкинул из проекта папки приложений, которые распаковываются не туда и всё отлично. попозже обязательно пришлю файлы, куда можно залить? и кстати... с праздником !

atsasinWTF
25-02-2015, 17:33
K.A.V.,
Здравствуйте,
а будет ли "11 новых переменных для проекта: общие папки пользователей" уже в дистрибутиве "SFX Creator"?
чтобы не приходилось с "бубном плясать" при создании проекта.
спасибо.

K.A.V.
25-02-2015, 20:32
а будет ли "11 новых переменных для проекта: общие папки пользователей" уже в дистрибутиве "SFX Creator"? »
Если работа над SFX Creator возобновится - то будет

Nestor
26-02-2015, 12:39
K.A.V., здравствуйте. вы писали:выложите файл проекта + скрипт, который получается после компиляции проекта ».
куда выложить файлы?

K.A.V.
27-02-2015, 01:23
куда выложить файлы? »
Можете просто прикрепить архив к вашему сообщению...
На любой файлообмен, например, на http://rghost.ru/

Nestor
27-02-2015, 13:20
K.A.V., здравствуйте. залил http://rghost.ru/7f5CcRPPz

K.A.V.
27-02-2015, 14:02
Nestor, в данном случае - ошибка в SFX Creator, некоторые файлы проекта действительно распаковываются не туда, куда нужно
Баг этот можно исправить прямо сейчас на стороне пользователя, достаточно не добавлять пустые каталоги в проект
Вам всего-лишь нужно удалить из папки проекта 2 пустых директории, из-за которых SFX Creator прописывает неправильные пути для распаковки некоторых файлов

Вам необходимо удалить следующие пустые папки:
TC\Utils\APAP\Log
TC\Plugins\wlx\Syn2\Dictionaries

Nestor
27-02-2015, 17:41
спасибо большое, за подсказку! творческих успехов вам в ваших начинаниях! :)

K.A.V.
01-03-2015, 16:07
Важное обновление (15_ccode.zip)
1. Из-за ошибки в модуле ccode, созданный SFX-архив распаковывал некоторые файлы не в те директории, если в путях файлов вашего проекта присутствовали пустые директории.

2. Из-за ошибки в модуле ccode, не показывалась информация в баннере прогресса распаковки, если файлы проекта упаковывались методом 7-Zip

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

4. Из-за ошибки в модуле update, при обновлении отдельных файлов SFX Creator, модуль загружал все ранние файлы обновлений с сайта, а не только те, которые нужны (однако само обновление проходило корректно без распаковки ранних обновлений)

K.A.V.
19-03-2015, 21:15
Сдвинулись с мёртвой точки :)
Дневник разработки: версия 2.9 с поддержкой x64 систем (http://winxpregp.narod.ru/forum/9-14-1)

atsasinWTF
08-04-2015, 00:59
K.A.V.,
ставлю галку на самоудаление
получаю:
Error in script "\NSIS\source.nsi" on line xx -- aborting creation process
как исправить?
спасибо.

в версии 2.7 проблем нет, создается exe файл успешно.

K.A.V.
08-04-2015, 04:00
ставлю галку на самоудаление
получаю:
Error in script "\NSIS\source.nsi" on line xx -- aborting creation process
как исправить? »

1. Откройте файл проекта
2. Найдите секцию "Главные настройки"
3. Добавьте в неё следующую запись:
SelfDel метод=Сторонним EXE




© OSzone.net 2001-2012