Показать полную графическую версию : SFX Creator 4 Alpha - создаём SFX архивы
Хотелось поскорее создать хоть что-нибудь, что будет работать »
Указываете в главном диалоге параметры SFX архива, добавляете файлы в проект => Компилировать
Это вам показалось сложными действиями??
Все опции замурованы под слоем меню и подменю »
Все возможности программы видно именно при нажатии 1 клика либо в меню SFX Creator, либо в "Дополнительных возможностях", это вы считаете "замурованными возможностями"?
В итоге получается не совсем "дружественный" интерфейс и он будет сложен даже для среднего пользователя. »
Все основные настройки для SFX архива находятся в главном диалоге, все остальное - потребности пользователя, всё остальное было сгруппированно в выпадающем списке и в меню SFX Creator
Хорошим примером (в плане удобности интерфейса) может выступить программа типа Smart Install Maker, »
SFX Creator не написан на профессиональном языке программирования и изменения интерфейса не будет, я сделал максимально возможное, что можно было реализовать, мне кажется вполне удобным
в которой процесс создания инсталлятора »
SFX Creator создан для создания SFX архивов, дополнительная возможность подключения "Графического интерфейса" - это всего-лишь дополнение, для расширения функциональности
Проект изначально не задумывался для создания полноценных пакетов инсталляции, хотя и уже, с помощью SFX Creator можно создать очень гибкий инсталлятор, превосходящий по возможностям другие программы похожего типа
Просто, ну очень хотелось бы ощутить весь функционал по средствам приятного и понятного интерфейса. »
Или вы просто привыкли к тому, что все программы похожи друг на друга, а тут вы увидели совершенно другую структуру интерфейса у программы, и из-за этого, программа вам кажется "не дружелюбной"
но только представьте,
на сколько бы выросло число пользователей вашей программы если бы она была несколько "доступнее". »
Если вы всё ещё про интерфейс - то я вам выше уже всё объяснил - ограничения языка программирования не дают мне возможности "слизать интерфейс" у уже существующих программ
Или вы просто привыкли к тому, что все программы похожи друг на друга, а тут вы увидели совершенно другую структуру интерфейса у программы, и из-за этого, программа вам кажется "не дружелюбной" »
Может и так...
Если вы всё ещё про интерфейс - то я вам выше уже всё объяснил - ограничения языка программирования не дают мне возможности "слизать интерфейс" у уже существующих программ »
Я вас понял.
но только представьте,
на сколько бы выросло число пользователей вашей программы если бы она была несколько "доступнее". »
Проще говоря: "Я принципиально забил бы большой и толстый на эту программу, если бы вы не ответили на мой репорт об ошибке."
Вероятно большинство так и делает.
[hr]
K.A.V.
Моё сообщение - это всего лишь "отзыв" о программе.
Всё же, согласитесь, хорошо что я так информативно излагаю что мне не по душе, чем если бы я написал: "мне не понравилась программа" или "неудобная программа".
Спасибо за внимание.
Моё сообщение - это всего лишь "отзыв" о программе. »
А я разве что-то сказал про это? Я вижу что это отзыв, просто я привык развёрнуто отвечать на каждое предложение пользователей, относящиеся к программе
Всё же, согласитесь, хорошо что я так информативно »
...что я так развёрнуто отвечаю на ваше сообщение, а не просто говорю "Спасибо за отзыв о программе" ;)
Всё же, согласитесь, хорошо что я так информативно излагаю что мне не по душе, чем если бы я написал: "мне не понравилась программа" или "неудобная программа". »
Конечно соглашусь, это гораздо лучше...Если бы была возможность сделать интерфейс более "кучным", то я бы сделал это...Но, впринципе, и так всё находится под рукой...
Мне кстати кажется это более удобным (выпадающий список с необходимыми функциями), чем передвигаться (как в других программах) по дереву настроек, +на каждой страничке ещё есть с десяток вкладок...
Limonica
10-09-2012, 19:22
KAV как сделать так, чтоб процесс распаковщика принудительно прекращался, не проверяя выполнился процесс или нет?
Limonica
10-09-2012, 20:04
И ещё, я вам точно говорю функция перезаписи неработает sours.nsi не вписывается строка:
SetOverwrite try
При всех четырёх положениях таже ошибка перезаписи.
не проверяя выполнился процесс или нет? »
При добавлении приложения поставить галочку "Не ждать завершения исполнения"?
И ещё, я вам точно говорю функция перезаписи неработает »
А я вам говорю, что всё прекрасно работает
Выделите в списке файлов проекта необходимую запись, как появятся данные для редактирования записи в двух полях ниже, только тогда устанавливайте настройку перезаписи файлов, об этом написано в файле справке!
У меня всё прекрасно работает, тестировал на системном файле svchost.exe, чтобы уж наверняка :)
P.S.
Если вы не обновились до последней версии (на днях было обновление ccode.exe), то у вас не будет работать настройка "Перезаписывать старые")
Limonica
11-09-2012, 14:24
Можете добавить в "Порядок выполнения команд" - "Выполнить собственные функции"?
Limonica, возможность выполнения собственных NSIS функций создана для выполнения функций только до или после распаковки файлов, так что данная "Дополнительная возможность" вряд-ли будет доступна для управления ею в "Порядке выполнения команд"
При добавлении выполнения своей функции выбирайте переключателем, когда выполнить...
Limonica
11-09-2012, 22:27
При добавлении приложения поставить галочку "Не ждать завершения исполнения"? »
Не то!
Не то! »
Ну значит объясните более понятно, чего вы хотите добиться, ибо
чтоб процесс распаковщика принудительно прекращался, не проверяя выполнился процесс или нет? »
я могу понять только как "как запустить приложение отдельным потоком и не ждать его завершения"
По другому вашу фразу понять не могу
Limonica
12-09-2012, 08:48
при распаковке файлов запускается исполняемый файл, но в нём по видимому ошибка и процесс распаковщика так же остаётся висеть в диспетчере задач, не выполняя при этом других задач, предложенный вами вариант непомог, тоже самое.
запускается исполняемый файл, но в нём по видимому ошибка и процесс распаковщика так же остаётся висеть в диспетчере задач, не выполняя при этом других задач »
Это впринципе невозможно...Т.к. NSIS всего-лишь посылает команду на запуск приложения и сразу же переходит к следующей строке кода, и NSIS никак в данном случае не взаимодействует с запущенным приложением
Поэтому зависание процесса распаковщика (при выбранном "Не ждать завершения исполнения") в вашем случае больше похоже на фантастику, чем на реальность (так же как и "неработоспособность переключателя перезаписи файлов")
Возможно ваш распаковщик спотыкается на чем-то другом...
Народ,
нужна переменная PROGRAMDATA (что соответствует пути c:\ProgramData\ )
она же ALLUSERSPROFILE
есть возможность добраться для общей папки всех пользователей?
Limonica
12-09-2012, 22:34
Эта переменная $PROFILE
Limonica, неа, это не она.
K.A.V., возможно ли реализовать функцию исключения в разделе "Компоненты"!? То бишь, при выборе одного компонента, галочка снималась бы с другого! Что-то типа этого!...)) Или диалог, на подобии диалога "Выбора компонентов", но с Радиокнопками! Было бы полезно! :) Хотя и так, в программе уже много возможностей, что ее смело можно отнести к категории программ для создания инсталляторов, нежели к самораспаковывающимся архивам! :teeth:
Народ,
нужна переменная PROGRAMDATA (что соответствует пути c:\ProgramData\ )
она же ALLUSERSPROFILE
есть возможность добраться для общей папки всех пользователей? »
Здравствуйте :)
Вы можете использовать любые переменные операционной системы в SFX Creator, если необходимой переменной в SFX Creator нет, то вам необходимо указывать в поля SFX Creator переменную, заключенную в символы % и перед переменной ставить символ переменной SFX Creator - $
Например, в вашем случае, вам необходимо в поля в SFX Creator указывать вот так:
$%ALLUSERSPROFILE%
Так же, вы можете использовать любую переменную из временных сред ОС (пример переменных на Windows 7)
$%ALLUSERSPROFILE% ==C:\ProgramData
$%APPDATA% ==C:\Users\{username}\AppData\Roaming
$%COMMONPROGRAMFILES% ==C:\Program Files\Common Files
$%COMMONPROGRAMFILES(x86)% ==C:\Program Files (x86)\Common Files
$%COMSPEC% ==C:\Windows\System32\cmd.exe
$%HOMEDRIVE% ==C:
$%HOMEPATH% ==C:\Users\{username}
$%LOCALAPPDATA% ==C:\Users\{username}\AppData\Local
$%PROGRAMDATA% ==C:\ProgramData
$%PROGRAMFILES% ==C:\Program Files
$%PROGRAMFILES(X86)% ==C:\Program Files (x86) (only in 64-bit version)
$%PUBLIC% ==C:\Users\Public
$%SystemDrive% ==C:
$%SystemRoot% ==C:\Windows
$%TEMP% ==and$%TMP% ==C:\Users\{username}\AppData\Local\Temp
$%USERPROFILE% ==C:\Users\{username}
$%WINDIR% ==C:\Windows
---
Данной информации нет в файле справки к SFX Creator...Честно сказать, даже и не вспомнил об упоминании данной информации :(
На днях значит обновлю только файл справки и внесу данную информацию на страничку "Переменные SFX Creator"
---
K.A.V., возможно ли реализовать функцию исключения в разделе "Компоненты"!? »
Может и возможно, честно сказать затруднюсь ответить однозначно, т.к. не уверен в положительном исходе, знаю только одно - при попытке разработки, мозг будет думать усиленно :)
Или диалог, на подобии диалога "Выбора компонентов", но с Радиокнопками! »
А здесь однозначно нет
переменную, заключенную в символы % и перед переменной ставить символ переменной SFX Creator - $ »Вот в чем секрет, по одному пробовал, а то, что их вместе нужно использовать, даже не подумал.
Спасибо. Значит все круто.
Еще вопрос по деинсталляции:
у меня в проекте импортируется ветка реестра,
но впоследствии при деинсталляции этой проги (созданным же в проекте модулем удаления) реестр никак не подчищается.
Как можно удалить хотя бы ту ветку что я импортировал?
vodo4nik
14-09-2012, 06:12
Здравствуйте.
Вопрос: как задать для exe файла без иконки, иконку с другого ico файла.
Попробую пояснить на пальцах - есть ехешник у которого нет иконки, при задании параметров на компилирование нигде не нашел как указать, например, что ему надо брать иконку с рядом лежащего файла ico. После компиляции и установки (создании ярлыка на раб столе в меню _пуск_) этот файлик не имеет иконки. Например иконку для деинсталляции задать можно - указав путь к файлу ico. Как сделать такое для основного исполняемого файла. Если это придется делать через "собственные функции" - накидайте простенький скрипт-шаблон пожалуйста, поскольку в языке NSIS я не разбираюсь.
Второй вопрос: Ярлыки и папки с ярлыками, созданные в меню "Пуск" через диалог - Дополнительные возможности - Добавить ярлык не удаляются созданным программой деинсталлятором в W7x64. Ярлык, созданный через это же меню на Раб Столе удаляется нормально, как и установленные файлы. Вот в WXP SP3 например эти ярлыки и папки с ярлыками созданные в меню "Пуск" удаляются. Что сделать, чтобы они удалялись и на семерке?
Третий вопрос: какой командой запускать msi файл на выполнение, для страницы компонентов, например xnafx40_redist.msi. Спасибо.
odinokiyklaus
19-09-2012, 13:58
Доброго дня всем!
Замечательно, что вы создали такое приложение. Респект и уважение!
Есть насущная необходимость для создания архива обладающего нетривиальными возможностями, но по порядку..
1. Цель - после получения архива, и его запуска он распаковывается в папку, которую выбирает сам пользователь. Видимость процесса роли не играет. После распаковки и установки файла блокировки (см. п.3), на папку с распакованным файлом нужно установить пароль с проверкой на:
a - проверкой на время или дату доступа к папке (к примеру, доступ разрешен только до 31 января 2012 года)
б - проверкой на количество регистраций в папке с паролем и после n-ного количества смена пароля или блокировка доступа..
2. После распаковки архива в какую-либо папку сохраняется файл блокировки,
3. Если к примеру срок давности прошел, или превышено количество входов в папку с паролем, и пользователь из почты скачивает этот же архив и пытается заново его распаковать, то в процессе распаковки проверяется наличие этого файла блокировки, и если он существует, то распаковка становится невозможна.
Уважаемые, может подскажите, как можно реализовать данный алгоритм работы??
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC