PDA

Показать полную графическую версию : KarriSetup


Страниц : [1] 2

AlexSlipknot
18-03-2011, 11:54
KarriSetup. Автоматизация установки различных программ[hr]
http://img838.imageshack.us/img838/5205/c4f4b4ea7c55.png

Добавлен конвертер WPI -> KarriSetup!

Название Программы: KarriSetup
Версия программы:Обновляю по мере необходимости.
Адрес странички: http://slipknot.servehttp.com/ks/index.html
Язык: Neutral
Лицензия: естественно free.

Необходимые файлы:

setup.exe (http://slipknot.servehttp.com/ks/devbuilds/setup.exe)
KarriIde.exe (http://slipknot.servehttp.com/ks/devbuilds/KarriIde.exe)
MAKEDAT.EXE (http://slipknot.servehttp.com/ks/devbuilds/MAKEDAT.EXE)


Дополнительные файлы:

Простой скрипт example.kss (http://slipknot.servehttp.com/ks/devbuilds/example.kss)
Конвертер "config.js" -> "converted.kss" converter.exe (http://slipknot.servehttp.com/ks/devbuilds/converter.exe)
Конвертер boawpi converter_boawpi.exe (http://slipknot.servehttp.com/ks/devbuilds/converter_boawpi.exe)


Системные требования:
Windows 2000, Windows ME, Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008;

Описание:
KarriSetup создана в помощь авторам сборок (WPI) софта. Программа ничем не уступает стандартной WPI, а также имеет ряд преимуществ:

Защита паролем средством rar-архиватора;
Защита скрипта;
Экономия дискового пространства используя ключ: removeafterinstall;
Простой скрипт-файл;
Возможность продолжения установки;
Возможность выбора программ для установки в процессе установки;
Полная поддержка Windows 7;
Возможность исключения конфликтующих программ используя ключ: uncheck;
Возможность исключения конфликтующих программ используя ключ: nosystem;
Возможность выбора программ для установки во время текущей установки;


Как пользоваться:

Подготовьте ваши инсталляционные пакеты;
Запустите KarriIde.exe и откройте скрипт (example.kss);
Отредактируйте скрипт;
Откомпилируйте скрипт;
Все пути в скрипте должны быть относительными(например "Install\Office\OpenOffice3.exe");
После успешной компиляции поместите "PWPI.dat" в папку с "setup.exe". Например:
F:\setup.exe
F:\PWPI.dat
F:\Install\inst_prog1.exe
F:\Install\Office\inst_prog2.exe
F:\Install\Multimedia\inst_prog3.exe
F:\Install\SysUtils\inst_prog4.exe


Как пользоваться конвертером:
Просто перетащите файл config.js на converter.exe. После успешной конвертации в этой же папке создастся файл converted.kss.

FAQ:

Как добавить возможность установки программы с запуском нескольких программ?
Смотрите скрипт. Там это реализовано с "утилита 1", "утилита 1 команда 2"...




;Это простой скрипт
[Setup]
LogoImage=header.png
Timer=20
TimerEnabled=1
WindowColor=clSilver
HintMemoColor=clSilver
ProjectDir=C:\
LogFile={tmp}\somelog.log
Font=Times New Roman
FontSize=10
.
[Messages]
Copyright=© Имя компании
Install=Установить
Stop=Стоп
Stopping=Остановка...
Cancel=Остановить таймер.
ConfirmExit=Установка приостановится после завершения текущей установки. Вы можете продолжить установку позднее. Хотите прекратить инсталляцию?
ConfirmKill=Внимание! Это аварийное завершение. Программа может завершить текущий процесс. Это может навредить компьютеру! Продолжить завершение?
PreviousExists=Предыдущая установка не была завершена. Продолжить предыдущую установку?
.
[Components]
Opera=class="Mm"; command="opera.exe"; checked="1"; description="Это браузер";
Aimp=class="Mm"; command="AP.exe"; checked="1"; description="Это плеер";nosystem="|3|,|4|";
;Параметр nosystem отвечает за исключение конфликтующих программ. 3 - WinNT, 4 - Win2000, 5 - WinXP, 6 - WinVista, 7 - Win7
Утилита 1=class="Ut"; command="{tmp}\path\util1\FileAt.exe"; checked="1"; description="Утилита #1"; uncheck="|Утилита 2|,|Opera|"; archonly="x64"; unrarbefore="f1.rar"; unrarto="{tmp}\path\util1"; rarpas="somepassword"; removeafterinstall="{tmp}\path\util1";heir="|Утилита 1 команда 2|,|Утилита 1 команда 3|";
Утилита 1 команда 2=class="Ut"; command="ut12.exe"; checked="1";
Утилита 1 команда 3=class="Ut"; command="ut13.exe"; checked="1";
Утилита 2=class="Ut"; command="{tmp}\path\util2\FileAt2.exe"; checked="0"; description="Утилита #2"; uncheck="|Утилита 1|"; unrarbefore="f2.rar"; unrarto="{tmp}\path\util2"; rarpas="somepassword"; removeafterinstall="{tmp}\path\util2";
OpenOffice3=class="Of"; command="OO3.exe"; checked="1"; description="Это Офис";




http://s014.radikal.ru/i328/1103/19/6c680b9048a0.png http://s46.radikal.ru/i112/1102/d9/6b1a7b3b248e.png http://s51.radikal.ru/i132/1103/2a/2864d5a32b42.png

Помогите сделать KarriSetup лучше!
Если все-таки кто-то заинтересовался и/или имеет какие-либо предложения по улучшению - пишите.

Ruslan-kam
18-03-2011, 12:24
или имеет какие-либо предложения по улучшению - пишите. »
Я её ещё не понял и не пользовал, но есть пару предложений.
И так, добавь создание логов при установке как в wpi. Исключение программ из установки с помощью переменных типа: разрядность системы, имя пользователя и тп.
Может ещё что вспомню позже напишу.

AlexSlipknot
18-03-2011, 15:52
добавь создание логов при установке как в wpi. Исключение программ из установки с помощью переменных типа: разрядность системы »
Ок. Добавил. разрядность системы: используя параметр archonly. Ведение лога в файл "Системный_диск\KarriSetup.log"

Ruslan-kam
18-03-2011, 17:34
Ведение лога »
а можно задать выбор. Чо бы лог сохранялся ещё и в папку Log из директории с KarriSetup.
И можно как нибудь сделать её "безопасной" для антивирусов. С авастом расставаться не хочу, а он собака Карри банит :)
И ещё было бы кашерно, но наверное полная наглость с моей стороны попросить тебя наваять трансформатор файлов wpi. Что бы легче было переходить с wpi на Карри.

AlexSlipknot
18-03-2011, 18:46
Чо бы лог сохранялся ещё и в папку Log из директории с KarriSetup. »
Конечно можно, вот только я не совсем понял куда... В общем так, я сделаю по-больше констант и просто добавлю параметр выбора папки. На счет аваста... Ну я подумаю как это сделать... Может действительно упаковать АСПаком. А на счет конвертера - сам думал над этим. Это будет не так-то уж и просто, но я постараюсь )

alexsf
18-03-2011, 21:28
На счет аваста... Ну я подумаю как это сделать... Может действительно упаковать АСПаком.
Нортон тоже ругается. Т.Ч. надо и "под него" делать.

Нортон не дает скачать файл. Удаляет сразу, без права восстановления. Отключать пока не буду, подожду исправленный файл.

Ruslan-kam
19-03-2011, 00:45
я не совсем понял куда »
в wpi есть переменная %wpipath% это переменная директории от куда запускается wpi. Я сохраняю логи в папку "%wpipath%\Log"
В Карри можно сделать переменную %KarriPath%

AlexSlipknot
19-03-2011, 01:14
Ок, убрал детект. Причиной была сжатая unrar.dll без которой программа работать не будет. Результаты virustotal.com (http://www.virustotal.com/file-scan/report.html?id=e577c257734214a0e47385828824e634361e71f588676e3d10c591c200a2f898-1300485885). Добавил параметр LogFile в секции [Setup]. Здесь можно прописать любой путь сохранения лог-файла. Работаю над конвертером.

Ruslan-kam
19-03-2011, 02:10
AlexSlipknot, и поправь пожалуйсто шапку. в секции Необходимые файлы: все ссылки ведут на setup.exe

Ок, убрал детект. »
Ооо хорошо теперь хоть могу потестить.

И ещё вопросик. Зачем используешь свои переменные {tmp} - временная папка. {wd} - папка windows...
Можно ведь их и многие другие брать из системы.

AlexSlipknot
19-03-2011, 02:52
Так, шапку поправил, Перекомпилировал Setup.exe.
Важно!: параметр uncheck теперь поддерживает многострочность, и "выделить все\снять выделение" теперь работает на порядок быстрее. Но теперь нужно заключать компоненты в вертикальный слэш, как показано на скрипте. {tmp} и {wd} и (sysdrive) нужны для того чтобы например извлекать файлы из архивов в нужные директории без дополнительных sfx-модулей.

AlexSlipknot
19-03-2011, 14:20
{tmp} - временная папка. {wd} - папка windows...
Можно ведь их и многие другие брать из системы. »
Может я не правильно выразился. Эти переменные и содержат в себе пути которые читаются функциями API

Ruslan-kam
19-03-2011, 18:09
AlexSlipknot, я тебя понял. Просто есть же переменная %temp%, %windir% и много других.

AlexSlipknot
19-03-2011, 18:45
Ruslan-kam, Karri поддерживает только переменные которые определены в самой программе.

Ruslan-kam
23-03-2011, 10:38
Откомпилируйте скрипт; »
Что то у меня не получается скрипт откомпилировать
При попытке откомпилировать красным выделяет
[Setup]
ProjectDir=E:\!install\!WPI\
И всё.

AlexSlipknot
23-03-2011, 10:49
При попытке откомпилировать красным выделяет
[Setup]
ProjectDir=E:\!install\!WPI\
И всё. »
Внизу есть строка состояния. Там расшифрована ошибка. Скорее всего папка не существует.
З.Ы: Обновлен KarriIde. В предыдущей версии скрипт не компилировался если не существовало лого-картинки. Теперь лого-картинка не обязательна.

Ruslan-kam
23-03-2011, 21:23
З.Ы: Обновлен KarriIde»
Оооо теперь откомпилировалось.
Но скорость загрузки оставляет желать лучшего. Загрузка каталога длится по ощущениям на треть дольше wpi. И почему то установка сама по себе началась...

AlexSlipknot, и можешь ещё добавить исключение программ из установки с помощью переменной версии винды (хр, 7, виста)

Ааа понял почему установка сама началась. Там таймер идёт. Поэтому прошу оптимизируй пожалуйста её для экранов маленького разрешения. У меня нетбук 1024х600 и кнопки Карри вообще не видно. Сейчас переключился в разрешение 1024х768 увидел этот таймер :)
И добавь ещё чекбокс над каждой категорией (мультимедиа, офис и т.п.) ато одной тотально выделяющей весь список мало.
И ещё в конвертер добавь отсекание тэгов. Дело в том что wpi в описании к программе поддерживает интернет теги типа <p></p> и тп.
И ещё вопрос как можно увеличить шрифт в списке?

AlexSlipknot
24-03-2011, 01:55
Ruslan-kam, Во-первых огромное спасибо, за проявленный интерес к Карри. Ну и по делу:скорость загрузки »Не вопрос. Сам хотел переделать движок. Дело в том что на скорость влияет описание программ. Это я обязательно исправлю. На счет разрешения подумаю. При старте окно сразу максимизируется до размеров экрана... Чекбоксы... хорошо, подумаю как это реализовать. Шрифт. Не вопрос - добавлю фичу в КарриИде. А вот на счет тегов... я не нашел в тех что у меня были примерах скрипта. Можешь выложить какой-нибудь WPI-скрипт чтобы я понял о чем речь.

Ruslan-kam
24-03-2011, 10:18
AlexSlipknot,

prog[pn]=['Personalization Panel для Windows 7 Starter и Home Basic'];
uid[pn]=['PERSPANEL'];
desc[pn]=['Автоматически установит патченные версии файлов для поддержки сторонних тем. Поддерживаются русские и английские системы:<P>- Windows 7 Начальная x86</P><P>- Windows 7 Начальная x64</P><P>- Windows 7 Начальная x86 Service pack 1</P><P>- Windows 7 Начальная x64 Service pack 1</P><P>- Windows 7 Домашняя базовая x86</P><P>- Windows 7 Домашняя базовая x64</P><P>- Windows 7 Домашняя базовая x86 Service pack 1</P><P>- Windows 7 Домашняя базовая x64 Service pack 1</P>'];
dflt[pn]=['no'];
forc[pn]=['no'];
bit64[pn]=['no'];
cat[pn]=['Красивости'];
cmds[pn]=['"%wpipath%\\Install\\Ornaments\\panel_full_setup.exe" /S'];
cond[pn]=['getOSver()=="Win7"'];
pn++;
вот пример

AlexSlipknot
25-03-2011, 01:29
Ок. Программа кардинально изменилась. Сменил внутренний скрипт - загрузка и чтение скрипта увеличилась в несколько раз.
Виртуальная машина использует одно ядро процессора, 192 Мб оперативки. Скрипт: 222 программы (компонента), 29 классов. Время загрузки от 3 до 3,5 секунд!
Соответственно сменен движок компилятора. Фичи новой версии компилятора: секция [Classes] теперь не нужна вообще. Программы автоматически сортируются. Более приоритетная программа - та класс которой находится выше по списку. Например, если скрипт такой:

program1=class="class1"; command="command.exe";
program3=class="class2"; command="command.exe";
program2=class="class1"; command="command.exe";
Здесь очередность программ будет такая: Первым идет class1, значит сначала установятся программы 1 и 2 и только после них будет установлена 3я программа. Функция сортировки которая перемещает программу 2 на вторую строчку - автоматическая.
Добавлены чекбоксы над каждым классом.
Добавлен параметр nosystem. О ней подробнее в скриптинге.
Добавлена возможность изменять шрифт и размер параметрами Font и FontSize.
Устранена ошибка возникающая при малом разрешении экрана. Теперь программа правильно "прилипает" к левой части экрана.
В конвертер добавлен отсекатель тегов <P>, не зависящий от регистра.
Ну и минус - не успел доработать визуальную оболочку компилятора KarriIde, не все то что можно написать ручками отобразится красивыми навесками в компиляторе, но это не важно. Главное новый движок работает довольно быстро и без ошибок (по крайней мере я пока не замечал).

Комсомолец
25-03-2011, 05:42
AlexSlipknot, еще не смотрел данную разработку-нод на работе блокирует сайт. Сразу хотелки:
1. Использование .INI вместо .DAT (возможно и первое и второе?),
2. Поддержку ключей тихой установки программ,
3. Количество запускаемых команд выполнения (пример):
[Components]
Opera=class="Mm";
command1="opera.exe";
command2="prog.exe";
commandX="progX.exe";
(штук 6 бы...)
4. Выделение всей группы программ (выделил группу Офис - выделились все программы в данной группе),

Вроде пока все что понял из описания и скриншотов. Дома еще посмотрю.
Ну и спасибо за программу. :)




© OSzone.net 2001-2012