Войти

Показать полную графическую версию : Ещё одна программа для выбора приложений для установки


hb860
24-05-2009, 15:36
Собственно, вот.
http://pic.ipicture.ru/uploads/090524/thumbs/TSesUTT3Qz.jpg (http://ipicture.ru/Gallery/Viewfull/19362472.html)http://pic.ipicture.ru/uploads/090524/thumbs/95UEYasHLg.jpg (http://ipicture.ru/Gallery/Viewfull/19363797.html)http://pic.ipicture.ru/uploads/090524/thumbs/liJpLUgnN1.jpg (http://ipicture.ru/Gallery/Viewfull/19363819.html)
Сподвигнула меня на разработку своя собственная лень. Программа не позиционируется как замена таким монстрам как BoaSoft PostInstaller и WPI. Скорее, это приложение ближе к WIHU, да и то проигрывает ему своим функционалом. Её ключевая "фишка" - поиск исполняемых файлов для установки по шаблонам. В конфигурационном файле задается шаблон поиска вида winamp*exe, и в список приложений для установки добавятся файлы, например, Winamp-2.81.exe, Winamp5552.exe и т.п. Дело в том, что мне лень править конфигурационные файлы, когда меняется версия приложения. Конечно, можно называть установщики всё время одинаково, но мне так просто не удобно. Возможно, я такой не один, и поэтому я делюсь своим творением.

Приведу пример конфигурационного файла. Он очень наглядно демонстрирует возможности программы
[main]
;Заголовок окна приложения.
;caption=
;Секунд до запуска автоматической установки. Актуально при запуске проагрммы с ключом /a
timeout=30
;Папка, где искать дистрибутивы. По умолчанию имеет значение ".",подразумевается папка, где находится сама программа.
;softdir=D:\distr\autoprograms\SOFT\
;Количество групп
groupcount=1000
;Количество приложений
itemcount=1000

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Блок описания групп
;;;;;;;;;;;;;;;;;;;;;;;;;;;;

group1=Утилиты
group2=Мультимедиа
group3=Графика
group4=Интернет
group5=Игры
group6=Интерфейс
group7=Запись дисков
group8=Офис
group9=Антивирусы

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Блок описания элементов групп - самих приложений
;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[item1]
;Идентификатор группы. В данном случае 1=group1
groupid=1
;Шаблон поиска. Определяется так: softdir\mask
;Если приложения раскиданы по подпапкам,то в mask необходимо указать соответсвующую подпапку.
mask=tools\Утилиты*exe
;Параметры для тихой установки приложения. В данном случае это стандратный ключ NSIS
params=/S
; Описание приложения. Оно отображается в списке приложений. Если оно не задано - отображается найденный исполняемый файл.
Descr=Сборник утилит
;Выбрано ли по умолчанию
checked=1

[item2]
groupid=1
mask=tools\Acronis True Image*exe
params=/S
checked=1
Параметр файла конфигурации softdir понимает переменные среды типа %WINDIR%
Плюсы такого подхода:
- При замене версии приложения не надо править конфигурационный файл
- В случае, когда название дистрибутива "говорящее само за себя", не надо задавать описание.
Минусы:
- Когда задан шаблон вида
mask=nero*.exe
Checked=1, то в список будут добавлены Nero8.exe,nero6.exe,nero9.exe, и все они будут выбраны по умолчанию. Если необходимо, чтобы было выбрано только Nero6, придется задавать для каждого приложения свой элемент конфиграции. Например, так:

[item1]
groupid=1
mask=nero6.exe
params=/S
checked=1
[item2]
groupid=1
mask=nero8.exe
params=/S
checked=0
[item3]
groupid=1
mask=nero9.exe
params=/S
checked=0

Программа "умеет" выходить автоматически после установки приложений(функция управляется кнопкой).
Ключи командной строки:

/A(регистр не имеет значения, буква английская) - начать автоматическую установку после запуска.Запущенная командной applauncher.exe /A, программа установит найденные в softdir\mask приложения, для которых checked=1 через timeout секунд и закроется через 3 секунды сама после этого(если не отжать кнопку выхода).
/С(регистр не имеет значения, буква английская) - не искать приложения при запуске, использовать кэшированные предустановки. Для того, чтобы создать кэш, необходимо выполнить пункт меню "Установка - Построить кэш приложений". Целесообразно при запуске программы с компакт-диска. Например, имеем структуру
<CDROM Files>
--------SOFT
------------cdwrite
------------tools
Помещаем в <CDROM Files>\SOFT приложение applauncher.exe, в предварительно настроенном applauncher.ini задаем SoftDir=.(или вообще не задаём). Строим кэш приложений, и во время установки Windows вызываем приложение так:applauncher.exe /a /c

Ключи могут использоваться одновременно.

Известные баги:
- Если в группе нет ни одного приложения, группа всё равно отображается
Программа в стадии Alpha-тестирования, возможны ошибки в работе. Delphi 7+RxLib.
Забираем во вложении вместе с исходниками.

Habetdin
24-05-2009, 21:15
hb860, а интерфейс может быть измените? Как-то простовато :)

stasys44
24-05-2009, 23:20
Согласен, что главный плюс, что не надо править конфигурационный файл при изменении версии устанавливаемых програм. У меня большая коллекция бесплатных программ и за неделю новых версий скапливается много и такой подход мне нравиться.

По моему интерфейс соответствует простоте программы. Только жаль, что не Unicode, все во вопросиках.

Delphi 7+RxLib. Исходники не жалко. BoaSoft PostInstaller слишком для меня сложная, а ваша программа была бы в самый раз поучиться. Если не затруднит вас, пожалуйста, пришлите исходники.

hb860
25-05-2009, 09:13
Выложил исходники в шапку

stasys44, а в какой момент вопросики появляются ? я потестил под Win7 и ХР, не обнаружил проблем с кодировкой. А вообще, надо как-то скомпилить Юникодно, только я пока не знаю как это сделать.

stasys44
25-05-2009, 11:44
Вопросики вместо слов идут и на загрузочном экране, и в меню. Все таки региональная настройка на русский язык для неюникодвого текста, вчера не посмотрел и подумал, это из-за того что ненастроена на русский. ОС английская.

hb860
25-05-2009, 21:26
- Окно "Автоматический запуск" не центирурется при изменении размеров окна программы »
Исправлено. Новая версия в шапке
И ещё одно исправление:
Предпололжим есть такой конфиг:

........
group1=Утилиты
group2=Мультимедиа
group3=Графика
group4=Интернет
group5=Игры
group6=Интерфейс
group7=Запись дисков
group8=Офис
group9=
group10=Аваст
group11=Лопаты совковые
........

[item36]
groupid=8
mask=office\Перевод*.EXE
params=/S
checked=1

[item37]
groupid=10
mask=avir\avast\setup.bat
Descr=Avast! Home
params=
checked=1


Так вот, аваст будет в группе совковых лопат. Эта ошибка тоже исправлена, элементы групп больше не перемешиваются

P.S> реализовал режим кэша, исправил ещё мелкие ошибки, которые нашел. Забираем во вложении. По-моему, наконец-то получилось то, что я хотел.

stasys44, ОСь какая ? Я попробую "повторить" :)

stasys44
25-05-2009, 23:15
stasys44, ОСь какая ? Я попробую "повторить" »
Windows XP английская

Refer
26-05-2009, 08:17
А реально ли в программе организовать поддержу профилей установки?
Типа создается 2-3 кэша приложений: базовый набор, для дизайнеров, для инета и т.д.
Желательна поддержка профилей и при установке через командную строку.
------
программа супер! то что надо...

hb860
08-06-2009, 08:24
Refer, реально. Попробую на досуге.
-----------
Исправлено:
-Кеш настроек не сохранял ключ автоустановки
-Глюк с выделением отдельной группы - её элементы не всегда отмечались
-При установке приложений окно "белело". Отрисовка исправлена.

Версия 1.0.1.4 Alpha в шапке с исходниками

CXREF
09-06-2009, 09:13
Вместо, например, groupid=1 надо зделать чтоб надо было указывать так: group1, тогда станет понятно даже не читая пояснение к конфигу.

Или тогда уже так: groupid=group1.

hb860
06-08-2009, 22:02
Версия 1.0.1.5 Alpha в шапке с исходниками
+установка приложений в отдельном потоке. Окно приложения не виснет, не белеет и лишено всех артефактов предыдущих версий.

ToDo:
*реализовать профили установки, возможность их загрузки и выбора из командной строки
*убрать долбаный баг с группами

hb860
14-12-2009, 09:47
Не подумайте что тема "сдохла". Новая версия пишется на C#. Дается нелегко, но оно того стоит.

stasys44
14-12-2009, 15:33
Больше программ - больше выбора по вкусу. К сожалению, не могу все теcтировать...

hb860
14-12-2009, 23:46
Да и не надо. Я протестирую сам и выложу :)

stasys44
24-11-2010, 10:37
Аууу!

Один форумчанин захотел использовать wildcard * и я вспомнил вашу програму




© OSzone.net 2001-2012