Четверг, 21.11.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Как часто ви на этот сайт заходите?
Всего ответов: 159
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Разные » Инсталлятор

Прединсталляторы и психология

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

Прединсталляторы могут использовать разные алгоритмы работы – однократные, многократные, активные и пассивные.

1. Прединсталляторы

Это программы, исполняемые до инсталляции программного обеспечения.

Архивы бесплатного программного обеспечения идут на различные ухищрения, чтобы получить компенсацию за расходы на поддержание вебсервера и сервиса. Т.к. программы распространяются бесплатно, то зарабатывать средства приходится за счет размещения рекламы спонсоров. Прединсталляторы – тот класс программ, которые могут существенно облегчить финансовые проблемы владельцев freeware архивов.

Обычно, скачанное пользователем бесплатное или демонстрационное программное обеспечение - файл, имеет имя, отличное от SETUP, INSTALL, RUN или START. Чаще всего сейчас в имени файла используется сокращенное название программы (например, http://pipa.send-sms.ru/get.php/pipa.exe). Это позволяет вместе с архивом программы представить пользователю дополнительный EXE файл с одним из таких названий (setup.exe например).

В подавляющем количестве случаев процесс инсталляции будет начат пользователем с запуска именно этого (setup.exe) файла. При этом в файл (setup.exe) могут быть включены следующие функции:

  • проверка версии операционной системы;
  • показ рекламной информации или подключение рекламного сервиса;
  • запуск инсталляции основной программы;
  • удаление прединсталлятора из памяти.

2. На чем программировать

Если посмотреть на статистику счетчиков http://extreme-dm.com на любом из вебсайтов, то можно увидеть примерно такое распределение версий ОС у посетителей:

Видно, что наибольший процент посетителей используют ОС Windows 2000 или Windows XP. Поэтому будем ориентироваться на структуру реестра именно этих OC.

В данном документе описан процесс разработки отдельных процедур программы для Интернет-рекламы.

3. Структура программы

Программа прединсталлятор должна быть компактной, быстро исполняться, отрабатывать рекламный сервис, запускать инсталляцию основной программы и завершать свою работу.

В нашем примере программа-прединсталлятор будет состоять из прозрачной формы Form1 (Border Style = 0, Appearance = 0)

4. Подключение рекламного сервиса

Рекламный сервис может выполняться разными способами:

  • обязательным однократным или многократным посещением web страницы разработчика или спонсора;
  • размещением рекламного плаката в качестве wallpapers;
  • записью ссылки на web сайт спонсора или разработчика в Favorites;
  • каким-либо иным способом.

Внимание! В любом случае пользователь должен быть предупрежден об особенностях сервиса, включенного в программное обеспечение. Производить или не производить инсталляцию – выбор пользователя.

Рассмотрим вариант, когда программа-прединсталлятор устанавливает в качестве стартовой страницы для Internet Explorer страницу спонсора.

Для этого необходимо выполнить запись в реестр Windows. Это может быть проделано непосредственно из программы на Delphi или с помощью Java-скрипта. Достаточно создать на диске текстовый файл Java-скрипта и записать в него код, а затем запустить из Delphi программы.

Листинг для записи в текстовый файл из программы на Delphi – в файле dlpp1.zip

Текст Java-скрипта (всего 3 строчки):

var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Popup("Стартовая страница");
WSHShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page", "http://www.privet.com");

Напишем Delphi-код для записи JS скрипта в файл set-page.js

Код:

procedure TForm1.FormActivate(Sender: TObject);
begin
AssignFile(f, 'c:\set-page.js');

 Rewrite(f); // Создать и открыть файл
 writeln(f, 'var WSHShell = WScript.CreateObject'+chr(40)+chr(34)+
 'WScript.Shell'+chr(34)+chr(41)+chr(59)); // Записать СТРОКУ в файл
 writeln(f, 'WSHShell.Popup'+chr(40)+chr(34)+'Стартовая страница'+
 chr(34)+chr(41)+chr(59)); // Записать СТРОКУ в файл
 writeln(f, 'WSHShell.RegWrite'+chr(40)+chr(34)+
 'HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page'+chr(34)+', 
 '+chr(34)+'http://www.privet.com'+chr(34)+chr(41)+chr(59)); // Записать СТРОКУ в файл
 CloseFile(f); // Закрыть файл

 ShellExecute(Handle, 'open', 'c:\set-page.js', nil, nil, SW_HIDE); // Выполнить команду. Запустить скрипт

end;

Здесь ‘ + chr(34) + ‘ – код для записи кавычек в файл Java-скрипта. Аналогично – для скобок и точки с запятой - '+chr(34)+chr(41)+chr(59)’. ASCII-коды можно посмотреть на http://www.lookuptables.com/

А для работы с ShellExecute необходимо добавить объявление (выделено красным):

uses   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI;При выполнении такой программы-инсталлятора в качестве стартовой страницы броузера Internet Explorer в Windows 2000 и Windows XP будет установлен адрес вебсайта www.privet.comПолный проект смотрите в файле dlpp2.zip

Здесь приведен самый простой вариант программы. В него надо добавить всего одну строку кода – запуск инсталляции основной программы. Это можно сделать просто включив в программу еще одну строку – например для инсталляции приведенной выше программы PIPA.EXE :

ShellExecute(Handle, 'open', ' pipa.exe', nil, nil, SW_HIDE);

Кроме того, следует удалить с диска файл с Java-скриптом, как уже ненужный после начала инсталляции

ShellExecute(Handle, 'open', ' kill c:\set-page.js', nil, nil, SW_HIDE);

Это самый простой образец программы-инсталлятора. Эффективность работы его можно значительно повысить, если произвести некоторые  доработки – например, файлы конфигурации. Тогда программа-прединсталлятор станет более универсальной, подходящей для широкого использования. Можно разработать программу для создания, редактирования и кодирования файлов конфигурации прединсталлятора. Т.е. разработать новый коммерческий продукт.

Программа-инсталлятор имеет удивительную эффективность для создания трафика – с самых «банальных» web-сайтов с посещаемостью 300-600 человек в день скачивается 100-150 экземпляров программ минимум. Можете представить сколько посещений вебсайта спонсора может обеспечить прединсталлятор.

Эффективность программы-прединсталлятора можно повысить производя так же и запись в Favorites броузера.

Ничего сложного в этом нет. Каждая запись в Favorites («Избранное») – это специальный файл в особом каталоге на диске C:

5. Запись в Favorites

Для этого необходимо работать с реестром Windows. Команды для работы с реестром.

function ReadString(const Name: String): String;

Возвращает строку значения параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.

Пример:

uses Registry;
. 
.
. 
var
Reg : TRegistry; 
begin
Reg := TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('\My Registry\',true);
Edit1.Text:= Reg.ReadString('My');
Reg.CloseKey;
Reg.Destroy;

Продемонстрируем функцию для чтения значения ключа реестра, в котором выше установили адрес стартовой страницы Internet Explorer (на форму Form1 нужно добавить кнопку Button1):

procedure TForm1.Button1Click(Sender: TObject);

begin

Reg := TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('\Software\Microsoft\Internet Explorer\Main\',true);
Form1.Caption:= '' + Reg.ReadString('Start Page');
Reg.CloseKey;
Reg.Destroy;

end;

Для работы с реестром необходимо добавить объявление (выделено красным):

uses   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Registry, ShellAPI;

Полный Delphi-проект с этого этапа разработки смотрите в файле dlpp3.zip

Рассмотрим Delphi код для создания записи в Favorites («Избранное»)

Пример для записи в «Избранное» Internet Explorer (папка Favorites) можно посмотреть здесь http://delphiworld.narod.ru/base/webbrowser_add_to_fav.html.

Напишем более простой код. Добавим его в процедуру TForm1.Button1Click

procedure TForm1.Button1Click(Sender: TObject);
begin
Reg := TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\',true);
Form1.Caption:= '' + Reg.ReadString('Favorites') + '\' + 'Zagranica.url';
ee:= Reg.ReadString('Favorites') + '\' + 'Hello.url';
Reg.CloseKey;
Reg.Destroy;

Form1.Caption:= ee;

//Создать новую запись в Favorites
//C:\Documents and Settings\Administrator\Favorites

AssignFile(f, ee);
Rewrite(f); // Создать и открыть файл
writeln(f, '[DEFAULT]');
writeln(f, 'BASEURL= http://www.geocities.com/aboutsoft/');
writeln(f, '[InternetShortcut]');
writeln(f, 'URL= http://www.geocities.com/aboutsoft/');
writeln(f, 'Modified=70037C581883C001A1');
CloseFile(f); // Закрыть файл

end;

Полный Delphi проект программы смотрите в файле dlpp4.zip

В принципе, здесь создан еще один коммерчески ориентированный продукт. Представьте себе веб-сайт-каталог тематических ссылок. Например список ссылок на mp3 музыкальные сайты. Используя приведенный выше VB код, можно создать такой каталог тематических ссылок на компьютере, в Favorites. Создается вложенная папка, например, «MP3 ссылки». И в неё помещаются записи с ссылками на тщательно проверенные каталоги MP3 музыки. Программа для создания таких каталогов – вполне коммерческий продукт. Новый продукт. Эта ниша на рынке еще не занята. Кроме того, программа может быть немного усовершенствована и получать обновления списка вебсайтов с вебстраницы разработчика. Технически, это очень просто.

6. Wallpapers – рекламные обои

В предыдущем руководстве программиста показано, что обои (оформление рабочего стола) тоже могут использоваться в рекламных технологиях

procedure TForm1.Button1Click(Sender: TObject);
 var
 Picture: TPicture;
 Desktop: TCanvas;
 X, Y: Integer;
 begin
 // Objekte erstellen 
 // create objects 
 Picture := TPicture.Create;
 Desktop := TCanvas.Create;

 // Bild laden 
 // load bitmap 
 Picture.LoadFromFile('bitmap1.bmp');

 // Geratekontex vom Desktop ermitteln 
 // get DC of desktop 
 Desktop.Handle := GetWindowDC(0);

 // Position des Bildes 
 // position of bitmap 
 X := 100;
 Y := 100;

 // Bild zeichnen 
 // draw bitmap 
 Desktop.Draw(X, Y, Picture.Graphic);

 // Geratekontex freigeben 
 ReleaseDC(0, Desktop.Handle);

 // Objekte freigeben 
 // release objects 
 Picture.Free;
 Desktop.Free;
 end;

Пример можно посмотреть здесь http://delphiworld.narod.ru/base/bmp_to_desktop.html

Обратите внимание, что графический файл для Desktop должен быть в формате .bmp

7. Об эффективности

Эффективность использования программ-прединсталляторов чрезвычайно высока. Свыше 70% программ инсталлируются сразу после скачивания и без всякого анализа состава программного пакета. В лучшем случае читается файл ReadMe.txt

Рекламную эффективность программ-прединсталлятров можно значительно увеличить используя специальный инсталлируемый на компьютер модуль для загрузки рекламы. В таком случае программа превращается в разновидность Adware и может вызвать у пользователей негативную реакцию. Тем не менее, рынок такого программного обеспечения развит и спонсорам предлагаются программные модули для загрузки рекламы по цене от 300$

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

Руководство написано для широкого круга лиц – программистов, администраторов, пользователей бесплатного ПО.

ee@oflameron.ru

Программист на Visual Basic, Delphi, Assembler, Java, PHP. Автор игры Oflameron. Автор руководств для программистов на Visual Basic, Delphi, Java, PHP и для начинающих web-дизайнеров.

Лицензионное соглашение. Некоммерческое использование данного руководства и прилагаемых кодов – совершенно бесплатно. Коммерческое использование возможно только с согласия автора.

Исходники здесь.

Получить ссылку на материал

Категория: Инсталлятор | Добавил: Барон (16.12.2011)
Просмотров: 1381 | Теги: инсталляторы, психология | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Delphi.NET [3]
Kylix Delphi for Linux [9]
Советы Дельферу [6]
Хитрости в Delphi [2]
Обзор Delphi [45]
Инсталлятор [11]
Пользовательский интерфейс [18]
Примеры Delphi [93]
Функции и процедуры [15]
Разные [31]
Королевство Delphi © 2010-2024
Яндекс цитирования