CHAIKA

Главная | Регистрация | Вход
Суббота, 30.11.2024, 18:02
Приветствую Вас Гость | RSS
Меню сайта
Категории каталога
Мои статьи [51]
Справка по системе [59]
Запись [11]
Flash-накопители [21]
Закачка [35]
Игры [29]
Защита [76]
Локальная сеть [35]
WEB-master [44]
Восстановление [40]
Portable Soft [18]
Оптимизация [34]
Анонимайзер [4]
Ноутбуки [44]
Нетбуки [8]
Система - установка [21]
Деньги в интернете [19]
WINDOWS 7 [35]
Новые статьи [13]
Цифровое видео [26]
Мини-чат
200





Главная » Статьи » Portable Soft

Portable – сделай сам vol.2
Portable – сделай сам vol.2





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

В
качестве подопытного кролика я выбрал чудную программу для подсчета
трафика DU
Meter
. Выбрал ее, потому как нуждался в хорошей программе
подсчета трафика, к тому же уже имел опыт общения с этой программой и
решил не заморачиваться поиском альтернатив. В комментариях можете
тыкать меня носом в оные, невзирая на личности.

Итак, начнем.
Для проведения этой операции нам понадобятся:
1. Universal
Extractor
- оффсайт,
но активное обсуждение ведется здесь,
качать можно вот отсюда
2.
Сам DU Meter
3. Знание английского языка – но
можно и без него.
4. Самый главный пункт – стремление
и желание.


После того, как закачаете и установите
Universal Extractor (можно выкачать как зип-версию, так и
инсталлятор – зависит от ваших предпочтений). Одно отмечу от
себя: забирайте версию 1.5, потому как она более стабильна, но в этом
случае необходимо будет еще закачать обновление для программы The
Inno Setup Unpacker
. Она входит в состав инсталляционного
пакета Universal Extractor, но та, что была в пакете версии
1.5, не справилась с распаковкой. Об этом ниже. Еще одно отступление
– испытуемую программу можно распаковать и Inno Setup
Unpacker
-ом, но мы же с вами уважаемые люди и не будем ковыряться
в командной строке smile (по крайней мере, не на этом этапе).

Продолжаем разговор, как говаривал один из мультипликационных
персонажей. Немного об алгоритме наших действий. Во–первых мы
должны постараться распаковать необходимый инсталляционный пакет, а
потом уже чесать затылок и думать, что делать дальше – тыкать
по научному или читать литературу.
Таким образом, для начала
необходимо установить, чем упакован наш инсталлятор. Я делаю это
просто – Нажимаю F3 в Total Commander–е, благо
Lister-плагин
Fileinfo
установлен и настроен. По нажатии выскакивает такое вот
окошко (рис.1)




Рис.1

Если
же у вас нет установленного Тотал Коммандера, то вы сможете выделить
ехе-файл и нажав правую кнопку мыши (райт-клик) выбрать меню
Properties (Свойства). Теперь вы должны увидеть следующее (рис2.)





Рис.2
И
в первом, и во втором случае нас интересует одна и та же строчка:
Comments : This installation was built with Inno Setup. В переводе
это означает, что инсталляционный пакет был создан с помощью Inno
Setup














Inno Setup — бесплатный инсталлятор для Windows программ.
Впервые выпущенный в 1997 году, Inno Setup сегодня конкурирует и
даже превосходит многие коммерческие установщики по
функциональности и стабильности.







А значит нам нужен распаковщик для Inno Setup. Вот теперь
выбор за вами, либо распаковать все это хозяйство с помощью Universal
Extractor – райт-клик на файле инсталляции и выбираем
UniExtract to Subdir (рис.3)




Рис.3

Ну или с
помощью другой The Inno Setup Unpacker – а как это
делать, я не скажу, потому как не разбирался с этой программой,
можете занятся этим на досуге. Другие возможные варианты распаковки
не рассматривал, так как хватило того, что было под рукой. Едем
дальше – после распаковки получаем папку следующего
содержания:


{app}\
{pf}\
embedded\
install_script.iss


Из всего этого нас интересуют папка {app} вместе со
всем содержимым и файл install_script.iss – файл,
содержащий скрипты, необходимые для инсталляции. Подробно
рассматривать весь синтаксис скриптового файла инсталляции мы не
будем, для более глубокого изучения проследуйте сюда
или скачайте архив с приложениями к этой статье. Вернемся к нашим
баранам, как говорят французы. Открываем файл install_script.iss
любым текстовым редактором (я же опять нажимаю кнопку F3) и видим
следующие секции:
1. [Setup] – нас она не интересует,
это общая информация о пакете.
2. [Files] – самая
интересная часть, тут описывается пути установки файлов при
распаковке.
3. [Registry] – еще одна интересующая нас
секция. Тут прописаны все измения, которые будут внесены в реестр при
установке.
4. [Run] – тоже должна нас заинтересовать,
команды после установки.
5. [UninstallRun]
аналогична предыдущей секции, только тут команды, запускаемые при
удалении программы.
6. [Icons],[CustomMessages], [Languages]
– нам не важны. Все это вспомогательные команды для
инсталлятора.

Бросив беглый взгляд в секцию [Files], мы
с вами видим, что практически все, что нам нужно, находится в папке
{app}. Такой вывод я сделал на основании того, что большинство
команд инсталлятора выглядит следующим образом:


Source: "{app}\DUMeter.exe";
DestDir: "{app}";




Что буквально означает – из Источника (папки {app}
в инсталляторе) скопировать файлы в папку назначения на жестком
диске. Папку назначения выбирает пользователь при установке.


Source: "{pf}\Windows
Sidebar\Shared Gadgets\DUMeter.gadget\htlogo66x58.png"; DestDir:
"{pf}\Windows Sidebar\Shared Gadgets\DUMeter.gadget";



Эта и ей подобные строчки означают, что файлы из
инсталляционного пакета {pf} копируются в Program Files на
компьютер пользователя. Отмечу, что данная секция интересна
пользователям Висты, так как тут упоминаются файлы для Windows
Sidebar-а.. У меня установлен ХР, поэтому эта папка меня не
заинтересовала. Из всего вышеописанного следует, что ДУМетр спокойно
запустится из любой директории любого носителя. Но советую вам не
торопиться и обратить внимание на всякий случай на секцию [Registry]
:


Root: HKLM; Subkey: "Software\Hagel\DU
Meter"; ValueName: "InstDir"; ValueType: String;
ValueData: "{app}"; MinVersion: 0.0,5.0; Flags:
createvalueifdoesntexist uninsdeletekey
Root: HKCU; Subkey:
"Software\Hagel\DU Meter"; MinVersion: 0.0,5.0; Flags:
uninsdeletekey



Тут, как мы видим, в реестр добавляется информация о папке,
куда установлено приложение и информация для деинсталляции. Оно нам
не нужно, поэтому смело игнорируем эти команды. Остались последние
секции куда нам следует глянуть – это [Run] – тут,
как мы выше выяснили, находятся команды, которые запустятся при
удачной инсталляции. И секция [UninstallRun] – соответственно
необходимые для деинсталляции (в нашем случае - закрытия) программы.


Filename: "{app}\DUMeterSvc.exe";
Parameters: "/reinstall"; StatusMsg: "Installing DU
Meter service"; MinVersion: 0.0,5.0;
Filename:
"{app}\DUMeter.exe"; Parameters: "/regserver";
StatusMsg: "Registering DU Meter components"; MinVersion:
0.0,5.0;
Filename: "{app}\DUMeter.exe"; Parameters:
"--firstrun"; Description: "Run DU Meter";
MinVersion: 0.0,5.0;




В первой строчке говорится, что для успешного запуска
приложения необходимо для начала запустить DUMeterSvc.exe с
параметром "/reinstall" и зарегистрировать данный сервис
командой DUMeter.exe /regserver
(Как выяснилось в дальнейших
испытаниях, эта строчка добавляет программу в автозапуск –
поэтому ее использовать я не стал). Далее запускаем сам DUMeter.exe и
не забываем параметр –firstrun (хотя можно про этот параметр и
забыть).


Filename: "{app}\DUMeterSvc.exe";
Parameters: "/uninstall"; RunOnceId: "duserviceuninstall";
MinVersion: 0.0,5.0;
Filename: "{app}\DUMeter.exe";
Parameters: "/unregserver"; RunOnceId: "dumeteruninstall";
MinVersion: 0.0,5.0;




Здесь описаны ключи запуска при
удалении программы, в нашем случае - закрытии. Вот в принципе и все –
осталось только вышеопределенные команды запустить из командной
строки и гордиться собой. Вы только что своими руками создали
переносную программу. Но согласитесь, что каждый раз набивать эти
команды вручную дело конечно нехитрое, но хлопотное. Да и к тому же
если вы захотите распространять ваше детище, то в таком виде оно не
будет иметь успеха. Самый быстрый способ – это написать
бат-файл, где и перечислить все необходимые команды. Но или если вы
обладаете знаниями одного из языков программирования, то можете
скомпилировать лоадер (загрузчик) со сплаш-скрином (окошко которое вы
видите перед тем как загрузиться основная форма приложения, например
при запуске Excel и т.д.)
Лоадер я писать не стал, потому как
ленив и иду по пути наименьшего сопротивления, а вот бат-файлик
состряпать вам помогу. Необходимые справочные материалы - в
приложении, ну или, если хотите, вот вам ссылки
и еще
- для начала этого хватит . А пока повторяйте за мной.

Листинг
бат-файла.


@Echo Off
cls
color
1f
:Entrance
ECHO.
ECHO.
ECHO.
ECHO.
ECHO.
ECHO
+========================================================================+
ECHO
+ Portable DUMetr Controler by WarmSnow (Baku Azerbaijan 29-01-2008)
+
ECHO
+========================================================================+
ECHO
+ Press I to Instal , S - Start , C - Close , U - Uninstal +
ECHO
+========================================================================+
ECHO.
SET
CHOICE=
SET /P CHOICE="* Enter Choice: "
IF /I
'%CHOICE%'=='I' GOTO Install
IF /I '%CHOICE%'=='S' GOTO Start
IF
/I '%CHOICE%'=='C' GOTO Close
If /I '%CHOICE%'=='U' GOTO
Uninstall

CALL :inputerror

:Install
ECHO Now we'll
installing and registering service
ECHO And Applying first run
commands
DUMeterSvc.exe /reinstall
DUMeter.exe --firstrun

GOTO
EOF

:Start
ECHO Now Starting
application
DUMeterSvc.exe
DUMeter.exe
ECHO All Done

GOTO
EOF

:Close
ECHO Now Closing application
TASKKILL /F /IM
DUMeter.exe /T
TASKKILL /F /IM DUMeterSvc.exe /T

GOTO
EOF

:NOw Uninstalling application
ECHO
Uninstall
DUMeterSvc.exe /uninstall
DUMeter.exe
/unregserver

GOTO EOF

:inputerror
CLS
color
4f
ECHO.
Echo !! - ERROR - !!
ECHO !- Invalid input
specified. Please choose an available option by
Echo typing the
letter specified in the option you want to choose.
Echo.
pause
GOTO
:EOF

:EOF
color 1f
ECHO.
ECHO.
ECHO.
ECHO.
ECHO.
ECHO
+========================================================================+
ECHO
+ Again smile ?: +
ECHO
+========================================================================+
ECHO
+ [Y]es / [N]o and Exit +
ECHO
+========================================================================+
ECHO.
SET
CHOICE=
SET /P CHOICE="* Enter Choice: "
IF /I
'%CHOICE%'=='Y' GOTO Entrance
If /I '%CHOICE%'=='N' GOTO EOF2
CALL
:inputerror

:EOF2
Endlocal




И если вы все сделали правильно, то должны увидеть вот
такое окошко (рис.4)




Рис.4

Вот
теперь все. Надеюсь, не утомил вас своими буквами. Хороших переносных
программ вам. Все перечисленные программы и справочные материалы
приложены в архиве к этой статье. Вопросы направляйте по адресу
zaurbb@gmail.com




Zaur Baghirov aka Теплый Снег Baku Azerbaijan 29-01-2008





Полезные ссылки, не вошедшие во вложение к статье.



1. - Обзор команд и драйверов MS-DOS 6.2

2. - Command-line reference A-Z (Английский язык)

3. - Portable programs & Apps (Английский язык)

4. - Готовые Программы (Английский язык)



Остальные ссылки в первой части, она имеется в архиве.





File: how_to_portable_#2.rar

DownloadLink:

File-Size: 9.94 MB

Uploaded: 29/01/2008, 17:18:17

3% на восстановление и пароль по стандарту.






Ваш ТС



Источник:
http://wsnow2.blogspot.com/
Категория: Portable Soft | Добавил: chaika2 (20.05.2009)
Просмотров: 803 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
  • Все для веб-мастера
  • Программы для всех
  • Мир развлечений
  • Деревенька
  • Районная сеть Чайка.Net










  • Помогло? Скажи спасибо!

    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Copyright MyCorp © 2024 |