IZONE- http://www.izcity.com/- бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

Инсталляторы бывают разные

Ultima, ultima78@rambler.ru

В этой статье я хочу рассказать об инсталляторах и о том, как к ним относиться. Их плюсы и минусы. Бороться ли с ними или дружить.

Инсталляторы бывают разные - синие, белые и красные. Или говоря другим языком: плохие и очень плохие. Случалось ли вам криво написанным инсталлятором обрушить систему, или вы скачиваете программы из интернета сотнями или вы программист тогда эта статья для вас.

Инсталляторы - это как лемма в математике (лемма - теорема, которая помогает доказывать другие теоремы). Но всегда ли инсталляторы помогают, и нужна ли нам эта помощь?

Почему я не люблю инсталляторы.

За весь мой почти десятилетний опыт общения с компьютером инсталляторы я всегда не любил. Во первых, они всегда сами пытались решить, что мне лучше, копировали файлы, куда я не хотел, делали ненужные ссылки, ярлыки, правили реестр, устанавливали не то, что мне нужно. То ли дело DOS. Там, если у какой-нибудь программы инсталлятор и был, то уж после установки, запихнешь каталог в архив, а для инсталлятора, применишь волшебную клавишу F8. (Правда, были и исключения, но о них ниже). Но времена DOS прошли безвозвратно, и я ни за какие коврижки не откажусь от win 32 api.

Причины:

1. Мусор. Инсталляторы под Windows как минимум засоряют реестр, максимум же - могут снести систему. (Впрочем, сносят не инсталляторы а деинсталляторы, и у меня такие случаи бывали, но это не меняет сути) Инсталляторы сами не виноваты, виноваты скорее программисты, которые запихивают туда все что можно и все что нельзя. Поверьте старому вояке, хорошие инсталляторы есть, но их мало и в 90% случаях без них можно и нужно обойтись.

2. File & Resource. (без перевода) Нельзя забрать один нужный файл, например dll или bmp. Из-за одного файла инсталлировать программу метров на 50 - нет уж увольте.

3. Время. Не знаю как вы, а я скачиваю в интернете мелкие программы - утилитки сотнями в надежде найти золотую жилу (Интернет зависим, каюсь). Бывает, что нахожу. И чтобы посмотреть их всех уходит много времени. А иногда вообще невозможно, когда они выводят дружественную надпись "Установите IE 5.0". Я, например, IE на дух не перевариваю. (I like Opera). Самое смешное, что не всегда им он нужен полностью, а иногда и вообще не нужен. Например, устанавливая пару дней назад программу "Audio Converter" выплыло такое окно. Но после распаковки руками (через Win Commander, алгоритм cab) все заработало без проблем. И еще, почему-то все эти программы при запуске инсталлятора (setup) показывают окно "Лицензия". Нет, что бы написать, название программы, что она делает. Скачав два десятка программ я не могу вспомнить, что это за зверь "ps.exe", а лицензию никто и никогда не читает. И почему многие считают данные недостатки за достоинства???

4. Настройки. После переустановки системы необходимо заново их инсталлировать, настраивать опции, вспоминать данные которые в них вводили (но это уже проблемы реестра). У меня установка Windows занимала 15 минут, а остальных программ минимум 2 часа. И хотя я старался протоколировать все настройки, все равно что-то забывал.

5. Но если предыдущие причины были только об удобстве, то с этой согласятся даже ярые сторонники инсталляторов. Инсталляторы копируют файлы не полностью из инсталляционного архива. У меня было две таких (из проверенных) Norton Utility 4 Rus, Delphi 4.5

Я нашел способ этого больше не делать.

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

a) Сперва нужно изучить дистрибутив, бывает, что файлы просто лежат в какой-нибудь директории. Чаще всего в дистрибутивах Microsoft (например, MS Office97) и Symantec (например, NU 4).

b) Так же файлы могут находиться в Self Extract архиве "*,exe" (встречается редко). Например, Zip, Cab, Rar, Ace (по популярности). Распаковывать их удобнее всего через WinCommander (надо выделить архив и нажать Ctrl+PgDn, и содержимое архива у вас перед глазами).

с) Чаще всего инсталляторы создаются с помощью InstallShield - архивы "data.z", "data1.cab", "_setup.1", но могут быть и другие имена. Для из распаковки надо воспользоваться специальными утилитами от fOSSiL. Для 6 версии "i6comp.exe". 3 версию может смотреть DN (но только смотреть, для распаковки надо все-таки иметь файл "icomp.exe"). Файлы InstallShield более ранних версий (v1?) я так и не смог их распаковать вручную. Их отличительная особенность - все файлы имеют расширение "*.??_" (заканчиваются символом подчеркнуть), начинаются с символов "SZDD". Еще один неприятный момент с файлами от InstallShield, когда есть только один файл "*,exe", но тоже InstallShield архив. Кто бы подсказал?

d) Есть много инсталляторов, например Ghost (если не перепутал название), которые являются ничем иным, как cabSE - архивом. Такие файлы распаковываются методом c).

Если вам не удалось посмотреть файлы, то попробуйте после т.н. подготовки к инсталляции (после просмотра картинки, но до лицензии) заглянуть в каталог Windows\Temp. Файлы могут лежать там. Еще можно попытаться после инсталляции заархивировать установленные файлы, например, для программы AcdSee v2.4, c:\program files\AcdSee\*.* -> c:\program files\AcdSee\AcdSee_lite.zip. И на всякий случай экспортируйте ветки реестра: [HKEY_LOCAL_MACHINE\ SOFTWARE \ACD Systems\ACDSee32] и [HKEY_USERS\ .Default\Software\ ACD Systems\ACDSee32]. У меня все работает со всеми настройками. Поставил и забыл. Windows переустанавливал много раз, но главное не надо в программе лезть в options.

Если программа написана корректно, то она должна после переинсталляции работать правильно. В крайнем случае, попросит какой-нибудь свой vxd драйвер или msvcrt40.dll. Например, программа TaskInfo2000, после копирования tsknf302.vxd в свой каталог перешла у меня в разряд без инсталляции. А Flashget даже сама регистрирует свои параметры в реестре. Учитесь господа программисты и китайских товарищей.

Два слова, как я переустанавливаю Windows или Windows без инсталляции.

Когда моя система полетела в очередной раз, я поставил Windows по новой, настроил все прелести (обои, экран, драйвера, различные тюнинги) и поставил всего 3! программы: atGuard, PowerStrip, AVP. Запаковал в архив zip, т.к. они быстрее и получил 35Mbyte. Многие делают так же, но запаковывают еще и папку Program files и получают 500 и более Mbyte. Я же Program files не трогаю, потому что у меня там лежат программы идущие без инсталляции и со всеми настройками. И их не одна и не две, список в конце статьи. Инсталлирую я лишь только 2 программы MS Office (около 5 мин) и IE (ну очень редко). Саму систему я могу переставлять хоть каждый день, по времени распаковка около 5 минут. А т.к. я тестирую огромное число утилит, то система всегда балансирует на грани.

Эпилог. Инсталляторы - это не зло. Ими надо умело пользоваться.

В эпилоге хочу обратиться к программистам, которые разрабатывают утилиты. Я лично видел в каком-то форуме по Delphi много вопросов, какой инсталлятор использовать. Не используйте инсталляторы. Если ваша программа утилита, то он не нужен ни вам, ни нам - пользователям. В серьезных продуктах, например Lexicon от Арсенала, без инсталлятора, наверное, нельзя. Всегда найдутся люди, которым так удобнее, но если бы можно было проконтролировать процесс, обойти инсталляцию. Посмотрите на процесс инсталляции Norton Utility: некоторых пунктов нет в меню, некоторые есть по 2 раза. После инсталляции кидает свои системные библиотеки в три разных места, причем файлы одни и те же. Зато можно обойти инсталляцию, но не всю (кроме WinDoctor). Вообще, программы, глубоко интегрированные в реестр, очень трудно полностью восстановить. Тогда надо либо найти конкурентов, либо посмотреть может там не самый плохой инсталлятор?

Приложение 1: Список программ, которые у меня идут без инсталляторов:

ACDSee32
Acrobat Reader 4.0
Advanced Archive Password Recovery
ASPack
Business Market Viewer
ETypeDialer
Flashget
Jet-Audio Plus
lingvo 5a
Norton Utilities lite (не все, только те утилиты, что мне нужны)
Nuts & Bolts lite (-"-"-)
Opera
Purse (кошелек)
Quick View Plus 3.0.3
rJPa MPx Encoder
ShutDown NOW! v3.31
Socrat 97 (словарь)
TaskInfo2000 3.0
The Bat!
Thumbs 3.30
Winamp
Windows Commander
WinRAR
ZipFolders

И это еще не все, есть еще с пол сотни мелких утилит, да и наверняка что-то забыл. Разумеется, все эти программы я купил! На рынке, за 2 доллара :-).

 


Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com