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.
12-03-2010, 14:53
:o
Я сначала не правильно понял суть пожелания, но после последнего сообщения до меня дошло, что требуется реализовать :)
1. Остаётся пара недель (а потом армия), поэтому нужно выложить хотя бы следующую версию
2. Это сложно в реализации и по времени и вообще по механизму (но осуществимо я думаю), т.к. нужно упаковывать сам NSIS в создаваемый дистрибутив, параметры проекта, разработать сам механизм и т.д. и т.п., поэтому я хоть как не успею сделать это до ухода...но на будущее это будет моей первоочерёдной задачей, т.к. возможность эта очень уж уникальная и интересная, и было бы приятно создать такого "монстра" :)

MKN
12-03-2010, 15:59
K.A.V.,
Остаётся пара недель (а потом армия) »
Я бы послужил за тебя, на время работы над проектом :)

Scorpkoms
12-04-2010, 18:54
Доброго времени! Не получается создать ярлык,что не так?
Что прописать в пустом поле?
Спасибо.
http://s006.radikal.ru/i215/1004/04/0de44994f545t.jpg (http://radikal.ru/F/s006.radikal.ru/i215/1004/04/0de44994f545.png.html)

K.A.V.
12-04-2010, 19:20
Здравствуйте, Scorpkoms
В поле "Командная строка ярлыка" прописывать значение не обязательно (здесь указываются параметры, которые нужно передавать приложению)

У вас не правильно указано значение в поле "К какому файлу создаём ярлык", в поле нужно указать полный путь к файлу (с переменной), например, если указанный вами файл CDex.exe располагается в главной директории программы, в поле укажите следующее:

$INSTDIR\CDex.exe
Прочитайте в справке к "SFX Creator" страничку "Переменные" ;)

Scorpkoms
12-04-2010, 20:19
K.A.V.,
Спасибо,попробую,справку читал,но не совсем понял,я впервые здесь.
Прочитал всю ветку,но хотелось бы примеров,для новичков.

Mishechka
27-04-2010, 11:51
После запуска программы у меня появляется такое окно:
http://ipicture.ru/upload/100427/thumbs/uIG9Oeyxva.png (http://ipicture.ru/Gallery/Viewfull/135925.html)

Это как понять?
Спасибо.

Mishechka
28-04-2010, 13:56
Так программа работает или нет?
Спасибо.
:clapping:

MKN
29-04-2010, 09:25
Mishechka,
Программа работает нормально. Что у тебя происходит - трудно сказать...

Scorpkoms
08-06-2010, 22:06
Доброго времени!
Как я понял автор проекта в армии,кто нибудь может мне помочь в компиляции,
выдает ошибку,кстати только в одной сборке.

smvpvl
05-10-2010, 07:01
Спасибо автору, отличная программа. Но никак не пойму, как создать в ней файл деинсталляции?! Вобщем с помощью этой программы (версия 2.1.1) создал инсталлятор, добавил ключи реестра, ярлыки на рабочий стол и в меню пуск-программы. Всё работает на ура. Но при создании файла деинсталляции, ничего не создается. Читал справку, но она ещё "сырая", ничего по поводу этого в ней не нашел.

Smith_Wesson
27-12-2010, 17:04
Ни как не пойму, как прописывать пути? Приведите пример нормального Ini-файла типа: Директория установки=
У меня, почему-то все файлы распаковываются в С:\ не зависимо от того, где лежит сам *.exe.
Не могу разобраться хоть убей - если мне нужно к примеру, с корня С:\ распаковать в корень Д:\ - ни чего не помогает.

Scorpkoms
28-12-2010, 09:48
Smith_Wesson,
В шапке скрин,смотри дир.для установки,слева кнопка,выбирай.

Smith_Wesson
28-12-2010, 10:52
Разобрался... Объясняю, для тех кто не понял - см. как на скрине:
http://s52.radikal.ru/i138/1012/64/96c6384ab6c7.jpg (http://www.radikal.ru)
Директорию для распаковки файлов из архива ХХХ.ехе, нужно прописывать в позицию 1, соответственно получаем ini-файл следующего вида:
[Главные_настройки]
Имя=ХХХ
Компрессор=LZMA
Размер словаря=3
Solid архив=1
Директория установки=$ProgramFiles
Выходной файл=C:\Program Files (x86)\SFXCreator\projects\ХХХ\ХХХ.exe
Прогресс распаковки=0
[Файлы для упаковки]
1=C:\Program Files (x86)\SFXCreator\projects\XXX
1_to=D:\BACKUP\TOOLS
[Выполнить]
1=1.bat
Для чего нужна позиция 2 (Директория установки=$ProgramFiles)- я так и не понял... В поле Директория установки= - можно прописывать что угодно. На распаковку в конечную директорию, оно ни как не влияет. Или я чего-то не понял? Ведь путь для распаковки архива, прописывается здесь: 1_to=D:\BACKUP\TOOLS еле-еле установил это методом тыка. Мануал для проги, совсем не понятный...
И ещё... Так и не разобрался, с командой "Добавить операцию в реестре" - приведите, плиз, пример ini-файл, аналог команды REG ADD
Есть вот такая строка:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ХХХХХ" /v CPI /t REG_SZ /d 12 /f - экспортируется ключ "CPI" с параметром "12" - как эта строка должна выглядеть в конечном ini-файле программы? Как добавляются ключи /v /t /d /f - об этом в мануале тоже, ни слова....

Smith_Wesson
30-12-2010, 16:31
Возникла ещё одна проблема:
в архивчике находится батник run.bat, который так же распаковывается в директорию D:\BACKUP\TOOLS, и должен запуститься при выполнении .ехе
[Выполнить]
(1=D:\BACKUP\TOOLS\run.bat).
Вот его содержимое:
@echo off
. . .
DEL /F /Q %systemdrive%\XXX.exe
DEL %0%

При этом, содержимое батника, корректно отрабатывается, а вот удаление .ехе (самого архивчика), почему-то не происходит. Хотя, если запустить батник отдельно, все нормально удаляется?
Даже не знаю, в чем может быть причина. Кто-нибудь поможет?

K.A.V.
30-04-2011, 03:44
При этом, содержимое батника, корректно отрабатывается, а вот удаление .ехе (самого архивчика), почему-то не происходит. Хотя, если запустить батник отдельно, все нормально удаляется?
Даже не знаю, в чем может быть причина. Кто-нибудь поможет? »
Здравствуйте, дело в том, что программа установки ждёт окончания выполнения запускаемых файлов, а т.к. при работе вашего BAT файла инсталлятора занят, т.е. "висит" в процессах, ожидая окончания работы BAT файла, поэтому сам инсталлятор удалиться не может.

Ранее в сообщениях уже предлагалась реализация самоликвидации инсталлятора, но т.к. данная возможность не несёт в себе критичную важность для проекта, разработка данной функции не началась.

MKN
30-04-2011, 10:29
K.A.V.,
С возвращением ! Служба интерес к творческому развитию "дела NSIS_а" надеюсь не подорвала ? :)

K.A.V.
01-05-2011, 13:38
С возвращением ! Служба интерес к творческому развитию "дела NSIS_а" надеюсь не подорвала ? »
Спасибо)
Интерес не подорвался, только вот сейчас в этот огромный исходник придётся не один день вникать, сложно всё так кажется после такого перерыва... :)

K.A.V.
17-05-2011, 10:01
Вообщем...пока всё идёт оочень медленно, пока полностью в коде не разберусь и всё не вспомню... :(
Пока вот сижу и думаю (добавляю поддержку графического интерфейса), на странице где идёт разброс команд по
компонентам (http://img704.imageshack.us/img704/8009/76863144.jpg)...если начать разброс соответсвующих команд по компонентам, то потом врядли удастся вернуть эту команду в ту же позицию группы (это важно, например, для группы исполнения, где порядок иногда очень важен), где она была изначально (ну например если вы ошиблись и отнесли команду не в тот компонент), единственное, можно будет сохранить группу, в которой находилась команда...

хотел бы обратиться к участникам форума, кто ПЕРЕсобирает дистрибутивы на основе NSIS инсталлятора, ваши скрипты определения установленного ПО будут весьма полезны для SFX Creator

MKN
25-05-2011, 16:46
ваши скрипты определения установленного ПО будут весьма полезны для SFX Creator »
Думаю, что коллекционировать скрипты определения установленного ПО не оч. хорошая идея.

Во-первых, таких скриптов будет без счёта, а во-вторых, вполне достаточно проверять наличие имени приложения в ключе, куда его помещает путное ПО :
SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\имя приложения

Для бестолкового же ПО, проверять наличие конкретных (определённых пользователем в скрипте) ключей и файлов. (Так вроде уже реализовано в SFX Creator_е) С перспективой определения и сравнения версий исполняемых файлов и библиотек и выдачи соответствующего сообщения...

Отдельно надо выделить проверку наличия установленного ПО посредством MSI установщиков.

Делается это обычно по коду продукта. Либо упрощённо, по наличию этого кода в соответствующем ключе реестра либо более "тщательно", но громоздко с помощью макроса опубликованного kotkovets и включенного в справочник.

Сейчас файл нужного msi инсталлятора, приходится вручную открывать с помощью MSI редактора и в таблице Property искать ProductCode, который и использовать в скрипте.

Вот тут есть смысл попробовать упростить пользователю задачу по нахождению этого кода продукта в MSI установщике.

Для автоматизации действий, можно экспортировать Property с помощью известной утилитки MsiDb.Exe (и ключей) в файл.
http://msdn.microsoft.com/en-us/library/aa370083(v%3Dvs.85).aspx
Результат экспорта - "специализированный" файл, с расширением idt, - по сути обыкновенный текстовый файл, в котором
находим строку ProductCode, напротив которой нужное нам значение - {разные цифирки}.

Скрипт должен изъять это значение и поместить куда надо... (Т.е. надо найти в файле Property.idt строку, начинающуюся с "ProductCode" и поместить в переменную всё что есть в этой строке в скобках {}, кроме самой записи ProductCode. )

Это было бы действительно весьма полезно... (для начала, сделать хотя бы только утилитку для извлечения ProductCode из MSI файла)

K.A.V.
25-05-2011, 18:28
Я не отказываюсь ни от каких идей и пожеланий для улучшения SFX Creator, конечно, всё что вы MKN предлагаете (и предлагали до этого), весьма интересно, заманчиво и полезно, я стараюсь реализовать всё, что в моих силах (вы надеюсь уже не раз в этом убедились)

Я приму на заметку данное пожелание и оно будет рассмотрено после выхода версии 2.2 eXtended (http://kav-soft.3dn.ru/index/0-18) (ну или по крайней мере, когда я уже допишу её, будем думать над этим)




© OSzone.net 2001-2012