Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   Ещё одна программа для выбора приложений для установки (http://forum.oszone.net/showthread.php?t=140924)

hb860 24-05-2009 15:36 1126330

Ещё одна программа для выбора приложений для установки
 
Вложений: 1
Собственно, вот.

Сподвигнула меня на разработку своя собственная лень. Программа не позиционируется как замена таким монстрам как 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


Программа "умеет" выходить автоматически после установки приложений(функция управляется кнопкой).
Ключи командной строки:
читать дальше »
  1. /A(регистр не имеет значения, буква английская) - начать автоматическую установку после запуска.Запущенная командной applauncher.exe /A, программа установит найденные в softdir\mask приложения, для которых checked=1 через timeout секунд и закроется через 3 секунды сама после этого(если не отжать кнопку выхода).
  2. /С(регистр не имеет значения, буква английская) - не искать приложения при запуске, использовать кэшированные предустановки. Для того, чтобы создать кэш, необходимо выполнить пункт меню "Установка - Построить кэш приложений". Целесообразно при запуске программы с компакт-диска. Например, имеем структуру
    <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 1126589

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

stasys44 24-05-2009 23:20 1126703

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

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

Цитата:

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

hb860 25-05-2009 09:13 1126879

Выложил исходники в шапку

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

stasys44 25-05-2009 11:44 1126974

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

hb860 25-05-2009 21:26 1127448

Цитата:

Цитата hb860
- Окно "Автоматический запуск" не центирурется при изменении размеров окна программы »

Исправлено. Новая версия в шапке
И ещё одно исправление:
Предпололжим есть такой конфиг:
Код:

........
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 1127542

Цитата:

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

Windows XP английская

Refer 26-05-2009 08:17 1127699

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

hb860 08-06-2009 08:24 1137982

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

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

CXREF 09-06-2009 09:13 1138934

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

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

hb860 06-08-2009 22:02 1187571

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

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

hb860 14-12-2009 09:47 1294794

Не подумайте что тема "сдохла". Новая версия пишется на C#. Дается нелегко, но оно того стоит.

stasys44 14-12-2009 15:33 1295019

Больше программ - больше выбора по вкусу. К сожалению, не могу все теcтировать...

hb860 14-12-2009 23:46 1295418

Да и не надо. Я протестирую сам и выложу :)

stasys44 24-11-2010 10:37 1550226

Аууу!

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


Время: 03:11.

Время: 03:11.
© OSzone.net 2001-