background image

 

Rozdział 28 

Przygotowanie programu 
instalacyjnego aplikacji 

Trudno przecenić wpływ instalacji na późniejsze poprawne lub błędne działanie 
aplikacji. Nawet najlepszy program może okazać się niestabilny, jeśli zostanie 
niepoprawnie zainstalowany. Program instalacyjny i wrażenie jakie wywołuje na 
użytkowniku pełni rolę pierwszego powitania - użytkownicy właśnie na jego 
podstawie będą wyrabiać sobie pierwsze opinie o aplikacji i jej autorze. Na 
szczęście Delphi oferuje praktyczne narzędzie do tworzenia programów 
instalacyjnych. 

Razem z 

Delphi dostarczana jest specjalna wersja popularnego programu 

InstallShield - InstallShield Express. Program ten umożliwia tworzenie procedur 
instalacyjnych dla aplikacji, napisanych w 

Delphi. Po określeniu kilku 

parametrów, charakteryzujących pożądaną postać i sposób działania procedury 
instalacyjnej, InstallShield automatycznie przygotowuje gotowe nośniki (dyskietki 
lub dyski CD-ROM), zawierające program instalacyjny i pliki aplikacji. Mimo że 
InstallShield wykonuje lwią część zadań, związanych z przygotowaniem procedury 
instalacyjnej, autor aplikacji musi wykonać szereg czynności wstępnych. 

Po pierwsze - organizacja 

Gdy już zapadnie decyzja o udostępnieniu aplikacji użytkownikom, należy przede 
wszystkim zadbać o odpowiednie zorganizowanie i uporządkowanie elementów 
programu. Spośród plików, wchodzących w skład aplikacji, należy wybrać te 
niezbędne dla jej działania, oraz pliki o charakterze pomocniczym. Należy ponadto 
zwrócić uwagę, czy aplikacja nie korzysta z pewnych dodatkowych plików, np. 
elementów systemu operacyjnego, których pewna część  użytkowników może nie 
mieć. Przygotowanie odpowiednio zorganizowanej listy plików pozwoli 
zaoszczędzić wiele czasu podczas tworzenia dysków instalacyjnych. 

Ustalenie wymagań aplikacji w zakresie oprogramowania 
sieciowego 

Kolejnym krokiem powinno być określenie wymagań aplikacji w zakresie 
oprogramowania sieciowego. Czy aplikacja wymaga protokołu TCP/IP? Czy 

background image

830 

Część IV 

protokół ten jest zainstalowany na komputerze użytkownika? Czy wymagany 
będzie dostęp do współużytkowanego katalogu sieciowego? Czy system 
użytkownika ma niezbędne prawa dostępu do tego katalogu? Powyższe pytania 
ilustrują charakter problemów, jakie należy wziąć pod uwagę przed przystąpieniem 
do instalowania aplikacji. 

Sterownik bazy danych, niezbędny do uruchomienia 
aplikacji na komputerze użytkownika 

Oprócz wspólnych elementów oprogramowania sieciowego, aplikacja może 
wymagać sterownika bazy danych, dostosowanego do systemu konkretnego 
producenta. Jeśli np. aplikacja korzysta z tabel, rezydujących na serwerze Sybase, 
to w systemie użytkownika musi zostać zainstalowany moduł Open Client firmy 
Sybase. Jeśli aplikacja wymaga dowolnego sterownika ODBC, to musi on być 
zainstalowany w systemie użytkownika. Problem ten dotyczy wprawdzie tylko 
aplikacji typu klient-serwer i programów, wykorzystujących ODBC, jest jednak 
niezwykle istotny - bez odpowiednich sterowników aplikacja nie może działać. 

Wymagania, dotyczące serwera bazy danych 

Jeśli aplikacja korzysta z serwera bazy danych, to system kliencki musi mieć 
odpowiednie prawa dostępu do serwera. Czy serwer już istnieje, czy też trzeba go 
będzie dopiero przygotować do pracy? Czy jest to serwer lokalny, czy odległy? 
Wreszcie, czy system kliencki ma własny identyfikator użytkownika, hasło i prawa 
dostępu do serwera? 

Przygotowanie bazy danych 

Zanim system kliencki będzie mógł uzyskać dostęp do bazy danych, konieczne jest 
wykonanie szeregu czynności przygotowawczych. W 

przypadku systemów 

współpracujących z odległym serwerem, należy ustalić, czy to administrator 
serwera bazy danych musi utworzyć obiekty bazy, wymagane przez aplikację, czy 
też zadanie to spada na osobę instalującą aplikację. Jeśli obiekty bazy danych ma 
tworzyć autor aplikacji, to powinien on posłużyć się odpowiednimi do tego celu 
środkami - programem Database Desktop, skryptem w języku SQL lub innym 
narzędziem. 

Jeśli aplikacja wykonuje operacje na tabelach lokalnych, to należy przygotować 
kopie pustych tabel, które następnie zostaną dołączone do pakietu instalacyjnego. 
W praktyce konieczne jest sporządzenie kopii roboczych tabel, używanych przy 
tworzeniu aplikacji i usunięcie z nich wszelkich danych testowych. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

831

 

Wymienione powyżej zagadnienia ilustrują typowe problemy, z którymi styka się 
autor gotowej aplikacji przed przystąpieniem do tworzenia oryginałów dysków 
instalacyjnych. Jak już wspomniano, szczególnie istotne jest właściwe 
zaplanowanie instalacji. Instalowanie aplikacji do obsługi baz danych - 
a szczególnie aplikacji typu klient-serwer - to trudne przedsięwzięcie, którego 
powodzenie zależy w dużym stopniu od poczynionych przygotowań. 

W dalszej części niniejszego rozdziału omówimy tworzenie prostego 
i zaawansowanego programu instalacyjnego. W przypadku prostego programu 
instalacyjnego, autor musi jedynie określić szereg parametrów, bez których 
InstallShield nie będzie w stanie wygenerować odpowiedniego kodu. W części 
poświęconej tworzeniu zaawansowanego programu instalacyjnego, przedstawimy 
przykład umiarkowanie skomplikowanej procedury instalacyjnej, w której znajdą 
zastosowanie niektóre dodatkowe opcje programu InstallShield. 

W końcowej części tego rozdziału omówione zostaną zagadnienia, związane 
z użyciem skryptów SQL do tworzenia obiektów bazy danych w środowisku 
klient-serwer. Jeśli aplikacja nie może działać bez uprzednio przygotowanych 
obiektów bazy danych, umiejętność posługiwania się skryptami SQL okaże się 
niezbędna dla prawidłowego przygotowania instalacji. 

Prosta procedura instalacyjna (Basic Setup) 

Aby zainstalować specjalną wersję programu InstallShield, dostarczaną razem 
z Delphi,  należy uruchomić program instalacyjny z dysku CD-ROM Delphi. 
Dostęp do tego programu uzyskać można wprost z głównego ekranu procedury 
instalacyjnej Delphi, uruchamianej automatycznie po włożeniu dysku do napędu. 
Po zainstalowaniu program InstallShield można uruchomić wywołując plik 
wykonywalny 

ISX.EXE

, standardowo umieszczany w 

katalogu \

Program

 

Files\InstallShield\IS Express Delphi Edition

Przy pierwszym uruchomieniu program pyta, czy ma otworzyć istniejący projekt 
czy utworzyć nowy. Należy wybrać opcję tworzenia nowego projektu - 

Create

 

a 

New Setup Project

Na ekranie pojawi się teraz okno dialogowe 

New Project

. Należy w nim wpisać 

nazwę i typ projektu, katalog, a także określić, czy w ramach projektu ma być 
tworzona opcja instalacji indywidualnej (Custom Setup). W przypadku instalacji 
indywidualnej końcowy użytkownik może dostosować przebieg instalacji do 
własnych potrzeb, w szczególności zainstalować tylko wybrane komponenty 
aplikacji. 

W pierwszym przykładzie ograniczymy się do stworzenia najprostszej procedury 
instalacyjnej. Należy zatem wpisać jedynie nazwę projektu (w polu 

Project Name

), 

background image

832 

Część IV 

a następnie kliknąć przycisk 

Create

, co spowoduje utworzenie nowego projektu - 

zob. rysunek 29.1. 

Na ekranie pojawi się teraz główne okno programu InstallShield. Widoczna lista 
obejmuje dziewięć  głównych etapów tworzenia programu instalacyjnego. Każdy 
etap podzielony jest na szereg czynności cząstkowych. Sekwencyjne wykonanie 
kolejnych czynności doprowadzi do utworzenia programu instalacyjnego. 
InstallShield zaznacza czynności, które zostały już wykonane - pomaga to 
zorientować się, na którym etapie znajduje się bieżący projekt. Z listy wynika, że 
pierwszą czynnością po utworzeniu nowego projektu jest wprowadzenie 
informacji o aplikacji (Application Information). Jest to pierwsza czynność etapu 
Set the Visual Design, który decyduje o 

postaci graficznej programu 

instalacyjnego. Główne okno programu InstallShield przedstawiono na rysunku 
29.2. 

Postać graficzna procedury instalacyjnej 

W pierwszym z dziewięciu etapów tworzenia programu instalacyjnego należy 
wprowadzić informacje o instalowanej aplikacji i określić szereg parametrów, 
decydujących o wyglądzie programu. Aby wprowadzić dane o aplikacji, m.in. 
nazwę głównego pliku wykonywalnego, numer wersji, itd. należy kliknąć przycisk 

Application Information

 

Rysunek 29.1. 
W oknie 
dialogowym New 
Project określić 
można parametry 
nowego projektu. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

833

 

Informacje o aplikacji - Application information 

W sekcji 

App Info

 autor programu instalacyjnego wpisuje nazwę aplikacji, jej 

głównego pliku wykonywalnego i numer wersji. Możliwe jest również wpisanie 
nazwy firmy, jeśli w danym projekcie różni się ona od podanej przy instalacji 
programu InstallShield. 

W polu 

Application Name InstallShield

 wpisuje domyślnie nazwę projektu, podaną 

wcześniej w polu 

New Project

. Należy pamiętać, że wpisana tutaj nazwa stanie się 

automatycznie nazwą katalogu docelowego. Dlatego niewskazane jest 
wykorzystywanie pełnej długości pola, w którym można wpisać nazwę, składającą 
się nawet z osiemdziesięciu znaków. 

Zawartość pola 

Application Executable

 określa główny plik wykonywalny 

aplikacji. Plik ten zostanie automatycznie dodany do grupy 

Program Files

 w oknie 

dialogowym 

Groups and Files

 (pod warunkiem, że w oknie tym nie zdefiniowano 

jeszcze żadnych innych grup i plików). Z kolei w oknie dialogowym 

General Icon

 

Settings

 tworzona jest odpowiednia ikona (o ile nie zdefiniowano w nim wcześniej 

żadnych innych pozycji). Aby wybrać plik wykonywalny z listy należy posłużyć 
się przyciskiem wielokropka, widocznym obok pola 

Application Executable

Na tym etapie pracy nie zachodzi na ogół konieczność zmiany informacji o wersji 
i firmie. Dane o aplikacji są zatem kompletne. Stronę 

App Info

 przedstawiono na 

rysunku 29.3. 

 

Rysunek 29.2. 
Główne okno 
programu 
InstallShield. 

background image

834 

Część IV 

WSKAZÓWKA: 

Okno dialogowe, zawierające stronę 

App Info

, obejmuje jeszcze dwie strony - 

Main

 

Window

 i 

Features

, odpowiadające kolejnym pozycjom na głównej liście 

programu InstallShield. Aby uzyskać do nich dostęp nie trzeba zamykać okna 
dialogowego i powracać do głównej listy opcji - wystarczy zmienić aktywną 
stronę. Ta sama zasada obowiązuje w przypadku każdego z dziewięciu etapów 
pracy z programem InstallShield, ujętych na głównej liście. Opcje, wchodzące 
w skład każdego etapu, można wywoływać wprost z okna dialogowego. 

Okno główne - Main Window 

Na stronie 

Main Window

 autor programu instalacyjnego wpisuje tytuł jego 

głównego okna, wybiera ewentualny rysunek (mapę bitową) i ustala kolor tła. 
W polu 

Main Title

 (główny tytuł) wpisywana jest automatycznie nazwa aplikacji, 

podana na stronie

 App Info

. Można jednak samodzielnie wpisać inny tytuł, niosący 

więcej informacji niż sama tylko nazwa projektu. Tytuł w postaci tekstu można 
zastąpić rysunkiem - mapą bitową. Tytuł nie powinien być zbyt długi, gdyż 
program instalacyjny wyświetli go stosunkowo dużą czcionką. Zbyt długi napis nie 
zmieści się w oknie. 

Jeśli wybrana zostanie opcja wyświetlania mapy bitowej (Bitmap) w miejsce 
tekstu, to w polu Bitmap należy wpisać nazwę odpowiedniego pliku 

BMP

. Można 

również posłużyć się przyciskiem wielokropka w celu wybrania pliku z listy. 

Jako kolor tła (Backgroud Color) wybierany jest domyślnie stopniowo rozjaśniany 
niebieski (Dithered Blue). Można jednak wybrać inny kolor z rozwijanej listy. 
W przypadku naszego przykładowego, prostego programu instalacyjnego nie 
zachodzi potrzeba wprowadzania jakichkolwiek zmian na stronie 

Main Window

Należy zatem zaakceptować wartości domyślne i przejść do następnej strony. 
Stronę 

Main Windows

 przedstawiono na rysunku 29.4. 

Rysunek 29.3. 
Informacje 
o aplikacji wpisuje 
się na stronie App 
Info. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

835

 

Opcje dodatkowe - Features 

Strona 

Features

 zawiera tylko jeden element - przełącznik, decydujący 

utworzeniu specjalnego programu odinstalowującego aplikację. Jednym 

z wymagań przyznania aplikacji oficjalnego logo zgodności z Windows 95 jest 
wyposażenie jej w 

automatyczną procedurę odinstalowującą. Dlatego 

w większości przypadków omawiany przełącznik powinien pozostać uaktywniony. 
Procedura odinstalowująca usuwa wszystkie pliki zapisane na dysku przez 
program instalacyjny, a także wszelkie wpisy w rejestrze systemowym, utworzone 
domyślnie przez program InstallShield. Należy jednak pamiętać,  że nie będą 
automatycznie usuwane wszelkie dodatkowe wpisy w rejestrze, zdefiniowane 
przez autora programu instalacyjnego i aplikacji. Aby usunąć dodatkowe pozycje 
rejestru należy posłużyć się opcją 

Uninstall

 

Keys

 w oknie dialogowym 

Make

 

Registry

 

Changes

 (zob. dalsza część rozdziału). Stronę 

Features

 przedstawiono na 

rysunku 29.5. 

Rysunek 29.4. 
Strona Main 
Window (Okno 
główne) 
w programie 
InstallShield. 

 

Rysunek 29.5. 
Ta opcja decyduje 
o ewentualnym 
wygenerowaniu 
automatycznego 
programu 
odinstalowującego 
aplikację. 

background image

836 

Część IV 

Aby zachować wprowadzone informacje o aplikacji i formie graficznej programu 
instalacyjnego należy kliknąć 

OK

Opcje programu Install Shield, dotyczące Delphi 

W kolejnym etapie przygotowywania programu instalacyjnego należy wybrać 
wymagane przez aplikacją moduły oprogramowania, związane ze środowiskiem 
Delphi. Jeśli aplikacja przeznaczona jest do obsługi bazy danych, to 
najprawdopodobniej wymagała będzie zainstalowania aparatu bazy danych 
Borland Database Engine. Podobnie, jeżeli aplikacja uzyskuje dostęp do odległych 
serwerów, korzystając ze sterowników SQL Links firmy Borland, to oczywiście 
odpowiednie sterowniki powinny znaleźć się w pakiecie instalacyjnym. 

Opcje ogólne - General Options 

Aby wybrać moduły, z których korzystać  będzie instalowana aplikacja, należy 
kliknąć przycisk 

General Options

. Moduł SQL Links może być instalowany tylko 

łącznie z Borland Database Engine. Stronę okna dialogowego

 General Options

 

przedstawiono na rysunku 29.6. 

Dołączanie BDE 

Aby dołączyć do pakietu instalacyjnego moduł BDE należy uaktywnić odpowiedni 
przełącznik. Na ekranie pojawi się drugie okno dialogowe, w którym InstallShield 
pyta, czy program instalacyjny ma przeprowadzać pełną  (Full) czy cząstkową 

 

Rysunek 29.6. 
W oknie 
dialogowym 
General Options 
należy wybrać 
komponenty 
środowiska firmy 
Borland, które 
mają być 
instalowane razem 
z aplikacją. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

837

 

(Partial) instalacje BDE. Na razie należy wybrać domyślnie proponowaną pełną 
instalację i kliknąć 

OK

Definiowanie aliasów BDE, przeznaczonych do dołączenia 

Kolejne cztery okna dialogowe służą do konfigurowania aliasów BDE, które mają 
być tworzone automatycznie przez program instalacyjny. Aby zapewnić 
prawidłowe działanie zainstalowanej aplikacji należy zadbać o 

dołączenie 

wszystkich wymaganych aliasów. Aby dołączyć nowy alias należy kliknąć 
przycisk 

New

 i wpisać nazwę w oknie dialogowym, przedstawionym na rysunku 

29.7. 

Aby przejść dalej należy kliknąć przycisk 

OK

InstallShield pyta teraz, czy alias ma być instalowany do użycia zarówno z 16-
bitową, jak i 32-bitową wersją Borland Database Engine. Z reguły nie ma takiej 
potrzeby, dlatego odpowiedni przełącznik można pozostawić w 

stanie 

nieaktywnym i kliknąć 

OK

W trzecim kroku należy określić szczegółowe własności aliasu, który ma być 
utworzony w systemie docelowym. Nazwa aliasu przenoszona jest z poprzedniego 
okna dialogowego. W bieżącym oknie dialogowym należy natomiast wybrać typ 
aliasu. 

Jeśli alias odnosi się do tabeli lokalnej (np. typu Paradox lub dBASE), to 
konieczne będzie wpisanie ścieżki dostępu do plików, zawierających dane. Należy 
pamiętać,  że w 

ścieżce dostępu można stosować specjalne identyfikatory 

katalogów, rozpoznawane przez program InstallShield. Na przykład, w przypadku 
prostych programów instalacyjnych ścieżka dostępu do plików danych będzie 
składała się jedynie z identyfikatora <INSTALLDIR>. 

W wierszowym polu edycyjnym można określić dodatkowe parametry aliasu. Na 
przykład, jeśli skorzystanie z aliasu wymaga podłączenia do odległego serwera 
bazy danych, to w polu tym można wpisać nazwę serwera i identyfikator 
użytkownika. Aby zdefiniować wartość parametru, wystarczy wpisać jego nazwę, 
znak równości i wartość, np.: 

ENABLE BCD=TRUE 

 

Rysunek 29.7. 
InstallShield 
automatycznie 
utworzy aliasy 
BDE, stosowane 
przez aplikację, 
napisaną w Delphi. 

background image

838 

Część IV 

Omawiane okno dialogowe przedstawiono na rysunku 29.8. 

Czwarte i ostatnie okno dialogowe, związane z definiowaniem aliasów BDE, 
zawiera jedynie informację o zakończeniu definiowania aliasu. Należy kliknąć 
przycisk 

Finish

, co ostatecznie zakończy proces definiowania. 

Dołączanie sterowników SQL Links 

Kliknięcie przycisku 

Finish

 spowoduje powrót do okna dialogowego 

General

 

Options

. Jeśli aplikacja będzie łączyła się z odległym serwerem za pośrednictwem 

sterowników SQL Links, należy uaktywnić odpowiednią opcję. Program poprosi 
teraz o wybranie sterowników SQL Links, które mają być dołączone do aplikacji. 
Dostępne są sterowniki dla serwera Sybase SQL Server (zarówno ze starszą 
biblioteką DB-Library, jak i nowszą CT-Lib), Oracle, InterBase, Informix, DB2 
i Microsoft SQL Server. Należy zaznaczyć na liście  żądane sterowniki i kliknąć 
przycisk 

Finish

 (zob. rysunek 29.9). 

Rysunek 29.8. 
W tym oknie 
dialogowym należy 
szczegółowo 
zdefiniować nowy 
alias. 

 

Rysunek 29.9. 
Z listy, 
prezentowanej 
w tym oknie 
dialogowym, 
należy wybrać 
sterowniki SQL 
Links, które mają 
być zainstalowane 
razem z aplikacją. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

839

 

UWAGA: 

Jeśli w omawianym oknie dialogowym wybrany zostanie choć jeden sterownik 
SQL Links, to na ekranie pojawi się informacja o konieczności zainstalowania 
modułu BDE. Należy wówczas upewnić się, czy na stronie 

General Options

 

aktywny jest przełącznik BDE (Borland Database Engine). 

Aby przejrzeć listę plików, przygotowaną zgodnie z wybranymi opcjami, należy 
przejść na stronę 

Advanced

 okna dialogowego i kliknąć 

OK

Wybór komponentów i plików 

Na tym etapie przygotowywania programu instalacyjnego jego autor definiuje 
komponenty, wchodzące w skład aplikacji. Rozbicie aplikacji na komponenty 
umożliwia przygotowanie kilku różnych wariantów instalacji. Każdy komponent 
zawiera z reguły szereg logicznie powiązanych plików. Końcowy użytkownik 
może zatem bez szkody dla podstawowej aplikacji pominąć niektóre komponenty, 
korzystając z 

opcji instalacji indywidualnej. W 

omawianym tutaj prostym 

przykładzie wystarczy zdefiniować podstawowe komponenty, niezbędne do 
wygenerowania programu instalacyjnego. 

Grupy i pliki - Groups and Files 

Grupy zawierają zbiory związanych ze sobą plików - plików, które znajdą się 
w tym samym katalogu na komputerze docelowym. Oprócz grup, związanych 
z modułem BDE, InstallShield automatycznie tworzy grupę 

Program Files

w której  znajdą się pliki, tworzące rdzeń aplikacji. Aby otworzyć odpowiednie 
okno dialogowe należy skorzystać z przycisku

 Groups and Files

. Następnie należy 

podwójnie kliknąć na grupie

 Program Files

, co spowoduje rozwinięcie listy 

zawartych w niej plików. Na razie grupa zawiera jedynie wskazany wcześniej 
główny plik wykonywalny aplikacji. 

Do otwartej grupy powinniśmy dodać inne pliki, niezbędne do uruchomienia 
aplikacji. Elementy, wchodzące w skład  środowiska Delphi, takie jak Borland 
Database Engine, można pominąć, gdyż zostaną one uwzględnione w oddzielnych 
grupach. Potencjalnymi kandydatami na członków grupy 

Program Files

  będą 

wszelkie elementy lokalne w stosunku do aplikacji - takie, jak lokalne tabele baz 
danych (i ich pliki pomocnicze), pakiety Delphi (pliki DPL), biblioteki DLL, 
wymagane przez aplikację (na przykład 

DBCLIENT.DLL

), itp. Pliki, które mogą 

być  używane przez więcej niż jedną aplikację, np., niektóre biblioteki DLL 
i kontrolki ActiveX, powinny znaleźć się w katalogu wspólnym dla wszystkich 
aplikacji zainstalowanych w systemie. 

background image

840 

Część IV 

Pliki można umieszczać w grupie przeciągając je wprost z okna Eksploratora 
Windows na listę plików, należących do grupy. Aby uruchomić Eksploratora 
należy posłużyć się przyciskiem 

Launch Explorer

Należy pamiętać, że istnieje możliwość samodzielnego definiowania innych grup, 
co pozwala na rozmieszczenie plików w różnych katalogach. Aby dodać nową 
grupę, należy kliknąć przycisk 

Add Group

, wpisać nazwę nowej grupy i właściwy 

dla niej katalog docelowy (w polu 

Destination Directory

). Grupa zostanie 

utworzona po naciśnięciu przycisku 

OK

Specjalne identyfikatory katalogów 

W polu 

Destination Directory

 (katalog docelowy) można używać specjalnych 

identyfikatorów katalogów, rozpoznawanych przez program InstallShield. Dzięki 
nim możliwe jest jednoznaczne zdefiniowanie ścieżki dostępu, bez dokładnej 
znajomości struktury katalogów w systemie docelowym. Odpowiedni identyfikator 
zastępuje np. rzeczywistą  ścieżkę dostępu do katalogu 

SYSTEM

  środowiska 

Windows albo do katalogu

 Program Files

. W tabeli 29.1 wymieniono 

i opisano specjalne identyfikatory katalogów, rozpoznawane przez program 
InstallShield. 

Tabela 29.1. Identyfikatory katalogów, rozpoznawane przez program 

InstallShield. 

Identyfikator Zastępowany przez... 

<INSTALLDIR> 

Katalog docelowy, określony przez użytkownika 

<WINDIR> 

Katalog, w którym znajduje się system Windows 

<WINSYSDIR> 

Katalog SYSTEM w Windows 95 (lub SYSTEM32 
w Windows NT) 

<WINSYS16DIR> 

Katalog SYSTEM (z elementami 16-bitowymi) 
w Windows NT 

<WINDISK> Litera 

napędu, na którym znajduje się system 

Windows 

<WINSYSDISK> Litera 

napędu, na którym znajduje się katalog 

SYSTEM 

<ProgramFilesDir> 

Katalog Program Files 

<CommonFilesDir> 

Katalog Common Files 

[nazwa grupy] 

Katalog docelowy wskazanej grupy 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

841

 

WSKAZÓWKA: 

Do każdego z wymienionych powyżej identyfikatorów można dopisać nazwę 
dowolnego podkatalogu. Na przykład zapis 

<ProgramFilesDir>\Borland

 

zostanie zinterpretowany jako podkatalog Borland w standardowym katalogu 

C:\Program

 

Files

Po zdefiniowaniu wszystkich niezbędnych grup i 

przeciągnięciu do nich 

odpowiednich plików, można przejść na stronę 

Components

 tego samego okna 

dialogowego. Na rysunku 29.10 przedstawiono omówioną powyżej stronę 

Groups

Komponenty - Components 

Strona 

Components

 znajduje zastosowanie tylko przy tworzeniu programu 

instalacyjnego z opcją instalacji indywidualnej. Podział aplikacji na komponenty 
umożliwia użytkownikowi wybór składników, które mają zostać zainstalowane 
i tych,  które  mają być pominięte. W omawianym, prostym przykładzie nie ma 
potrzeby stosowania jakichkolwiek opcji, dostępnych za pośrednictwem strony 

Components

. Dlatego na razie stronę  tę pominiemy - na jej bliższe omówienie 

przyjdzie czas przy okazji omawiania przykładu zaawansowanego programu 
instalacyjnego. 

Warianty instalacji - Setup Types 

Również strona 

Setup Types

 używana jest tylko przy tworzeniu programu z opcją 

instalacji indywidualnej. W 

przypadku prostych programów instalacyjnych 

dostępna jest jedynie opcja pełnej instalacji. Dlatego na razie pominiemy opis 
strony 

Setup Types

 - powrócimy do niej przy okazji omawiania przykładu 

zaawansowanego programu instalacyjnego. 

Aby zachować utworzone definicje grup plików należy kliknąć 

OK

 

Rysunek 29.10. 
Na stronie Groups 
można zdefiniować 
i opisać grupy 
plików. 

background image

842 

Część IV 

Wybór elementów interfesju komunikacji z użytkownikiem 

W kolejnym etapie pracy realizowana jest tylko jedna czynność - wybór okien 
dialogowych (Dialog Boxes), które mają być wyświetlane przez tworzony program 
instalacyjny. 

Okna dialogowe - Dialog Boxes 

Po kliknięciu przycisku 

Dialog Boxes

 na ekranie powinno pojawić się okno 

dialogowe, przedstawione na rysunku 29.11. 

Okna dialogowe, które zostaną zaznaczone na liście, będą kolejno pojawiać się 
w trakcie instalacji. W tabeli 29.2 opisano dostępne okna. 

Tabela 29.2. Okna dialogowe, które mogą pojawiać się w trakcie instalacji. 

Nagłówek angielski 

Nagłówek polski 

Opis 

Welcome Bitmap 

Rysunek powitalny  Ilustracja (mapa bitowa) 

wyświetlana po uruchomieniu 
instalatora. 

Welcome Message 

Komunikat 
powitalny 

Komunikat wyświetlany po 
uruchomieniu instalatora. 

Software License 
Agreement 

Umowa licencyjna 
oprogramowania 

Okno z tekstem umowy 
licencyjnej - tekst w pliku 
wskazanym przez autora 
aplikacji. 

Readme Information 

Plik README - 
informacje 
z ostatniej chwili. 

Okno z tekstem wskazanego 
pliku "README". 

 

Rysunek 29.11. 
Okno Dialog Boxes 
umożliwia wybór 
okien dialogowych, 
które pojawiać się 
będą w trakcie 
instalacji. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

843

 

Nagłówek angielski 

Nagłówek polski 

Opis 

User Information 

Dane o użytkowniku  Okno, w którym użytkownik 

może wprowadzić swoje dane. 

Choose Destination 
Location 

Wybór katalogu 
docelowego 

Okno, w którym użytkownik 
może wybrać katalog docelowy. 

Setup Type 

Rodzaj instalacji 

Okno, umożliwiające 
użytkownikowi wybór instalacji 
typowej, minimalnej lub 
indywidualnej. 

Custom Setup 

Instalacja 
indywidualna 

Okno z opcjami instalacji 
indywidualnej. 

Select Program Folder  Wybór folderu 

programów 

Okno, umożliwiające 
użytkownikowi wybór folderu 
dla ikony aplikacji w menu Start. 

Start Copying Files 

Rozpoczęcie 
kopiowania plików 

Informacja poprzedzająca 
kopiowanie plików. 

Progress Indicator 

Wskaźnik postępu 

Informacja o postępie 
kopiowania plików. 

Billboards 

Ilustracje 

Ilustracja (mapa bitowa) 
wyświetlana podczas 
kopiowania. 

Online registration 

Rejestracja przez 
modem 

Opcja zdalnej rejestracji 
użytkownika za pośrednictwem 
modemu. 

Setup Complete 

Koniec instalacji 

Komunikat o zakończeniu 
instalacji. 

Aby dane okno pojawiło się w trakcie instalacji, wystarczy zaznaczyć je na liście. 
W przypadku niektórych okien możliwe jest określenie dodatkowych ustawień. 
Aby uzyskać dostęp do parametrów aktualnie podświetlonego okna dialogowego 
należy kliknąć przycisk 

Settings

Custom Setup 

Okno Custom Setup umożliwia instalację tylko wybranych przez użytkownika 
komponentów. 

background image

844 

Część IV 

Rysunki - mapy bitowe 

InstallShield Express pozwala na stosowanie jedynie 16-kolorowych map 
bitowych. Należy pamiętać o tym ograniczeniu, wybierając rysunek powitalny 
i ilustrację. Przykładowy rysunek powitalny jest statyczny - nie zmieni się, gdy 
użytkownik wybierze własny rysunek. Wybrana mapa bitowa pojawi się dopiero 
po uruchomieniu programu instalacyjnego.  

Zmiany w rejestrze systemowym 

W następnym etapie tworzenia programu instalacyjnego należy zdefiniować 
pozycje, jakie program instalacyjny ma wpisać do rejestru systemowego. 
Większość aplikacji nie wymaga jednak wprowadzania zmian w rejestrze, dlatego 
przy omawianiu prostego, przykładowego programu instalacyjnego możemy 
pominąć ten etap. 

Wybór folderów i ikon 

W tym etapie pracy należy zdefiniować foldery programów i ikony, które mają być 
tworzone przez program instalacyjny. W oknie dialogowym 

General Settings

 

(ogólne ustawienia) można wybrać ikony, które powinny znaleźć się w folderze 
aplikacji, umieszczonym w menu 

Start

. To samo okno dialogowe umożliwia 

zdefiniowanie parametrów wywołania aplikacji. 

Okno dialogowe 

Advanced Settings

 umożliwia z kolei umieszczenie w menu 

Start

 

osobnej ikony instalowanej aplikacji. Ponadto można tutaj wybrać alternatywny 
katalog roboczy, załadować ikonę z zewnętrznego pliku zasobów i zdefiniować 
klawisz skrótu dla aplikacji. 

W przypadku prostego programu instalacyjnego wszystkie powyższe czynności 
można pominąć. Jak już wcześniej wspomniano, na liście w oknie 

General 

Settings

 automatycznie umieszczona została ikona głównego pliku 

wykonywalnego aplikacji. Przy tworzeniu prostych procedur instalacyjnych nie ma 
na ogół potrzeby dokonywania jakichkolwiek dalszych zmian w konfiguracji 
folderów i ikon. Do zagadnienia tego powrócimy przy okazji omawiania przykładu 
zaawansowanego programu instalacyjnego. 

Przygotowanie zawartości nośników (Disk Builder) 

Ostatnim etapem pracy, który autor aplikacji może wykonywać na własnym 
komputerze, jest przygotowanie zawartości nośników. Polecenie 

Run Disk Builder

 

tworzy pliki, reprezentujące zawartość nośników (tzw. disk images). Oczywiście 
nośniki zawierać  będą instalowaną aplikację i sam program instalacyjny. Należy 
pamiętać o zadeklarowaniu właściwego typu nośnika - dzięki temu utworzone pliki 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

845

 

(disk images) będą miały właściwe rozmiary. Przed przystąpieniem do dalszych 
działań należy zapisać bieżący projekt. 

Po kliknięciu przycisku

 Disk Builder

 na ekranie pojawi się odpowiednie okno 

dialogowe. W jego lewym-dolnym rodu znajduje się rozwijana lista, z której 
można wybrać typ nośnika. Domyślnie przyjmowany jest rozmiar 1.44 MB. Do 
wyboru jest szereg innych typów dyskietek oraz dysk CD-ROM. Aby rozpocząć 
tworzenie plików, reprezentujących zawartość nośników należy skorzystać 
z przycisku 

Build

. Omawiane okno dialogowe przedstawiono na rysunku 29.12. 

Jeśli przygotowanie zawartości nośników zakończy się bez przeszkód, to w lewej 
części okna dialogowego pojawi się szereg ikon, reprezentujących dyskietki 
instalacyjne (jeśli jako nośnik wskazano dysk CD-ROM, to pojawi się tylko jedna 
ikona). Po przygotowaniu zawartości nośników należy kliknąć przycisk 

Close

, co 

spowoduje zamknięcie okna dialogowego. 

Testowanie procedury instalacyjnej 

W tym momencie stopień zaawansowania przygotowań pozwala już na 
przetestowanie programu instalacyjnego. Przed jego pierwszym uruchomieniem 
należy jednak zwrócić uwagę na kilka potencjalnych zagrożeń. Po pierwsze, 
program instalacyjny należy zawsze testować na osobnym komputerze - w żadnym 
wypadku nie na tym, na którym tworzona jest aplikacja. Konfiguracja komputera 
przeznaczonego do testów powinna być jak najbardziej zbliżona do konfiguracji 
komputera (lub komputerów) końcowego użytkownika. Dzięki temu test wypadnie 
bardziej wiarygodnie i pozwoli wykryć ewentualne problemy jeszcze przed 
pierwszą instalacją, przeprowadzaną u klienta. 

Po drugie, jeśli już doszło do sytuacji, w której testowy projekt został 
zainstalowany w systemie, zawierającym uprzednio standardowe komponenty 
środowiska firmy Borland, należy zachować szczególną ostrożność przy próbach 
odinstalowania aplikacji. Program odinstalowujący może bowiem usunąć pewne 

 

Rysunek 29.12. 
Pojawienie się 
okna dialogowego 
Disk Builder 
rozpoczyna proces 
przygotowania 
zawartości 
nośników, tj. 
programu 
instalacyjnego 
i spakowanych 
plików aplikacji. 

background image

846 

Część IV 

kluczowe elementy, niezbędne do poprawnej pracy środowiska programistycznego 
Delphi. Jeśli w trakcie odinstalowania Delphi akurat nie korzysta z danego 
komponentu, to system Windows uzna, że komponent ten nie jest używany 
i zezwoli na jego usunięcie. Program instalacyjny umieszcza szereg plików w tych 
samych katalogach, w których znajdują się pliki Delphi. Dlatego odinstalowanie 
aplikacji może skutecznie uniemożliwić dalsze korzystanie z Delphi. 

Usunięcie niektórych plików uniemożliwi także ponowne uruchomienie procedury 
Disk Builder, gdyż do przygotowania zawartości nośników niezbędne są pliki, 
które właśnie odinstalowano. Brakujące pliki trzeba w takim przypadku ponownie 
zainstalować z dysku CD-ROM, zawierającego pakiet Delphi. Dopiero to pozwoli 
naprawić szkody, spowodowane przez procedurę odinstalowującą. 

Powyższe rozważania nasuwają jeden wniosek: programy instalacyjne, utworzone 
przy pomocy narzędzia InstallShield, należy testować na specjalnie 
przygotowanych komputerach, chyba że nie przewiduje się usuwania raz 
zainstalowanej aplikacji. Wskazane jest ponadto sporządzenie kopii plików 

komputera testowego (w szczególności katalogu Windows i 

rejestru 

systemowego) przed zainstalowaniem aplikacji. W przyszłości, przy kolejnych 
testach procedury instalacyjnej, będzie można zawsze wrócić do pierwotnej, 
"czystej" konfiguracji systemu. 

OSTRZEŻENIE: 

Niepoprawnie przeprowadzony test procedury instalacyjnej w 

programie 

InstallShield może przynieść katastrofalne skutki. Niektóre zmiany, poczynione 
w środowisku systemowym komputera, używanego do przygotowania aplikacji, 
mogą okazać się niemal nieodwracalne. Konkurencyjny w 

stosunku do 

InstallShield program WISE umożliwia testowanie procedury instalacyjnej bez 
wprowadzania jakichkolwiek rzeczywistych zmian w systemie. Dzięki temu autor 
aplikacji może prześledzić proces instalacji bez obaw o stan swojego własnego 
systemu. Natomiast program InstallShield może w 

skrajnych przypadkach 

nieodwracalnie zmodyfikować system, na którym przygotowywana jest procedura 
instalacyjna. Należy podkreślić konieczność zachowania szczególnej ostrożności 
przy uruchamianiu jakiegokolwiek programu instalacyjnego - nawet własnego 
autorstwa. 

Przygotowanie nośników 

Ostatnim z 

dziewięciu etapów tworzenia programu instalacyjnego jest 

sporządzenie nośników dystrybucyjnych. Proces ten sprowadza się do skopiowania 
przygotowanych uprzednio plików (disk images) na dyskietki lub dysk optyczny. 
Gdy na ekranie pojawi się okno dialogowe 

Copy To Floppy

 wystarczy kliknąć 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

847

 

przycisk 

Copy All Disk Images

. InstallShield skopiuje odpowiednie pliki na kolejne 

dyskietki (zob. rysunek 29.13). 

Gotowych nośników można już  użyć do zainstalowania aplikacji na komputerze 
końcowego użytkownika. Jednak przedtem należy je przetestować, instalując 
aplikację na oddzielnym komputerze, przeznaczonym do prób. Pozwoli to raz 
jeszcze skontrolować działanie programu instalacyjnego i upewnić się, że nośniki 
są wolne od wad fizycznych. 

Jeżeli program instalacyjny działa poprawnie, to należy zapisać projekt 
w programie InstallShield, tak aby w przyszłości można było ponownie sporządzić 
nośniki instalacyjne. 

Zaawansowana procedura instalacji (Advanced Setup) 

W niniejszej sekcji omówiony zostanie bardziej złożony przykład. Pokażemy, 
w jaki  sposób  przygotować program instalacyjny, zawierający opcję instalacji 
indywidualnej (Custom Setup). Instalacja indywidualna umożliwia użytkownikowi 
końcowemu wybór plików, które mają zostać zainstalowane. Opcję taką wybiera 
wielu zaawansowanych użytkowników - powinni oni mieć możliwość pominięcia 
elementów aplikacji, które nie są niezbędne do jej funkcjonowania 
w podstawowym zakresie. Opcja instalacji indywidualnej pozwala na ograniczenie 
przestrzeni dyskowej, zajmowanej przez aplikację; jej obecność powoduje, że 
program instalacyjny postrzegany będzie jako bardziej dopracowany. 

Pierwsze kroki 

Jeśli w programie InstallShield wciąż otwarty jest poprzedni, prosty projekt, 
należy zapisać go na dysku, a następnie zamknąć, korzystając z opcji menu 

File\Close

. Należy teraz nacisnąć CTRL+N w celu utworzenia nowego projektu. 

 

Rysunek 29.13. 
Okno dialogowe 
Copy To Floppy 
umożliwia 
rozpoczęcie 
kopiowania plików 
na dyskietki lub 
inne nośniki. 

background image

848 

Część IV 

Na ekranie pojawi się okno dialogowe 

New Project

. Podobnie jak w poprzednim, 

prostym projekcie, należy w nim wpisać nazwę i typ projektu, katalog, a także 
określić, czy w ramach projektu ma być tworzona opcja instalacji indywidualnej 
(Custom Setup). W przypadku instalacji indywidualnej końcowy użytkownik może 
dostosować przebieg instalacji do własnych potrzeb, w szczególności zainstalować 
tylko wybrane komponenty aplikacji. 

Należy zatem uaktywnić opcję 

Include a custom setup type

, po czym wpisać 

nazwę projektu w polu 

Project Name

. Ponadto w polu 

Project Path

 należy wybrać 

istniejący katalog (pliki z projektami instalacji dobrze jest przechowywać 
w oddzielnym katalogu, takim jak

 \DATA

 lub 

\My Documents

; w omawianym 

przykładzie wybrano katalog 

\My Documents

). Projekt powinien znaleźć się 

w nowym podkatalogu o nazwie 

Installs

. Aby utworzyć nowy podkatalog 

należy najpierw wybrać 

C:\My Documents

 w polu 

Project Path

, a następnie 

wpisać 

Installs

 w polu 

New Subdirectory

. Tworząc projekt, InstallShield 

najpierw utworzy podkatalog, a następnie umieści w nim plik nowego projektu. 

Na ekranie pojawi się teraz główne okno programu InstallShield. Jak już 
wspomniano przy okazji omawiania prostej procedury instalacyjnej, w oknie tym 
widoczna jest lista obejmująca dziewięć  głównych etapów tworzenia programu 
instalacyjnego. Każdy etap podzielony jest na szereg czynności cząstkowych. 
Sekwencyjne wykonanie kolejnych czynności doprowadzi do utworzenia 
programu instalacyjnego. InstallShield zaznacza czynności, które zostały już 
wykonane - pomaga to zorientować się, na którym etapie znajduje się bieżący 
projekt. Etapy tworzenia procedury instalacyjnej wymieniono i scharakteryzowano 
w tabeli 29.3. 

Tabela 29.3. Dziewięć etapów tworzenia procedury instalacyjnej w programie 

InstallShield. 

Etap Opis 

Set the Visual Design 

Ustalenie  parametrów,  decydujących o 

postaci 

 

Rysunek 29.14. 
W oknie 
dialogowym New 
Project należy 
wpisać informacje 
o nowym projekcie. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

849

 

Etap Opis 

graficznej procedury instalacyjnej. 

Select InstallShields 
Options for Delphi 

Wybór komponentów środowiska firmy Borland, 
które mają być dołączone do instalowanej aplikacji. 

Specify Components and 
Files 

Grupowanie plików i tworzenie kilku wariantów 
instalacji. 

Select the User Interface 
Components 

Wybór okien dialogowych, które mają pojawiać się 
na ekranie w trakcie instalacji. 

Make Registry Changes 

Przygotowanie  automatycznej  modyfikacji  rejestru 
systemowego. 

Specify Folders and Icons  Zdefiniowanie  folderów  i ikon,  które  mają zostać 

utworzone w trakcie instalacji. 

Run Disk Builder 

Przygotowanie plików, będących kopiami dyskietek 
(lub innych nośników) instalacyjnych. 

Test the Installation 

Testowanie procedury instalacyjnej. 

Create Distribution Media  Kopiowanie plików na dyskietki lub inne nośniki. 

W momencie tworzenia nowego projektu, InstallShield wskazuje na pierwszy etap 
tworzenia programu instalacyjnego - Application Information. 

Postać graficzna procedury instalacyjnej 

Jak już wspomniano w sekcji „Prosta procedura instalacyjna”, w pierwszym 
z dziewięciu etapów tworzenia programu instalacyjnego należy wprowadzić 
informacje o instalowanej aplikacji i określić szereg parametrów, decydujących 
o wyglądzie programu. Aby wprowadzić dane o aplikacji, m.in. nazwę  głównego 
pliku wykonywalnego, numer wersji, itd. należy kliknąć przycisk 

Application

 

Information

Informacje o aplikacji - Application information 

W sekcji 

App Info

 autor programu instalacyjnego wpisuje nazwę aplikacji, jej 

głównego pliku wykonywalnego i numer wersji. Możliwe jest również wpisanie 
nazwy firmy, jeśli w danym projekcie różni się ona od podanej przy instalacji 
programu InstallShield. 

W polu 

Application Name InstallShield

 wpisuje domyślnie nazwę projektu, podaną 

wcześniej w oknie 

New Project

. Nazwa projektu może składać się z więcej niż 

jednego wyrazu, należy jednak pamiętać,  że wpisana nazwa stanie się 

background image

850 

Część IV 

automatycznie nazwą katalogu docelowego. Dlatego niewskazane jest 
wykorzystywanie pełnej długości pola, w którym można wpisać nazwę, składającą 
się nawet z osiemdziesięciu znaków. 

Zawartość pola 

Application Name

 wykorzystywana jest w kilku sytuacjach: 

„W oknach dialogowych 

Welcome Message

 (komunikat powitalny) i 

Choose

 

Destination Location

 (wybór katalogu docelowego). 

„Jako element domyślnie proponowanej ścieżki dostępu w polu 

Choose

 

Destination Location

. Domyślna  ścieżka dostępu ma postać: 

C:\Program

 

Files\Nazwa firmy\Nazwa aplikacji

 

UWAGA: 

Dane, wpisane w polu 

Application Name

, automatycznie zastąpią ustawienia 

wybrane w polu 

Choose Destination Location

. Jeśli użytkownik zmienił domyślny 

katalog docelowy (

Destination Location

), to zmiany te zostaną utracone. 

Nazwy, wpisywane w omawianym oknie dialogowym, używane są również w jako 
identyfikatory niektórych kluczy w 

rejestrze systemowym, tworzonych 

automatycznie przez program instalacyjny: klucza w gałęzi Uninstall, klucza 
w gałęzi App Paths i 

klucza z 

informacjami o 

użytkowniku. Pierwszy 

z powyższych trzech kluczy przyjmuje następującą postać: 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
Uninstall\Nazwa aplikacji 

W kluczu tym wpisywane są dwie wartości: 

DisplayName

 (nazwa wyświetlana 

na liście 

Dodaj/Usuń programy

 w Panelu sterowania) i 

UninstallString

 

(wywołanie programu 

UNINST.EXE

, odinstalowującego aplikację). 

Drugi klucz, umieszczany w gałęzi 

App

 

Paths

, przyjmuje taką formę: 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
App Paths\TWOJEXE.EXE 

Trzeci klucz, zawierający informacje o użytkowniku, wygląda tak: 

HKEY_LOCAL_MACHINE\SOFTWARE\Firma\Nazwa aplikacji\Wersja 

Wartości tego klucza zawierają imię i nazwisko użytkownika, nazwę firmy 
i ewentualnie numer seryjny. Aplikacja może odczytywać te wartości z rejestru 
systemowego. 

Zawartość pola 

Application Executable

 określa główny plik wykonywalny 

aplikacji. Plik ten zostanie automatycznie dodany do grupy 

Program Files

 w oknie 

dialogowym 

Groups and Files

 (pod warunkiem, że w polu tym nie zdefiniowano 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

851

 

jeszcze żadnych innych grup i plików). Z kolei w oknie dialogowym 

General Icon

 

Settings

 tworzona jest odpowiednia ikona (o ile nie zdefiniowano w nim wcześniej 

żadnych innych pozycji). Aby wybrać plik wykonywalny z listy należy posłużyć 
się przyciskiem wielokropka, widocznym obok pola 

Application Executable

W polu 

Version

 wpisać można numer wersji aplikacji. Pozwala to rozróżnić wersje 

tego samego programu zainstalowane na jednym komputerze. InstallShield próbuje 
odczytać numer wersji z 

zasobu VERSIONINFO, dołączonego do pliku 

wykonywalnego. Odczytana wartość jest automatycznie proponowana w polu 
Version. 

WSKAZÓWKA: 

W rozdziale 13 - „Ostateczne poprawki” opisano metodę dodawania standardowej 
informacji w wersji do aplikacji Delphi. 

W polu 

Company

 wpisywana jest automatycznie nazwa firmy, podana podczas 

instalacji programu InstallShield. Można jednak zamiast niej wpisać dowolną inną 
nazwę. Jak już wspomniano, wpisana tutaj nazwa zostanie automatycznie 
skopiowana do rejestru systemowego. 

Na rysunku 29.15 przedstawiono wypełnioną stronę 

App Info

Okno główne - Main Window 

Na stronie 

Main Window

 autor programu instalacyjnego wpisuje tytuł jego 

głównego okna, wybiera ewentualny rysunek (mapę bitową) i ustala kolor tła. 
W polu 

Main Title

 (główny tytuł) wpisywana jest automatycznie nazwa aplikacji, 

podana na stronie 

App Info

. Można jednak samodzielnie wpisać inny tytuł, niosący 

więcej informacji niż sama tylko nazwa projektu. Tytuł w postaci tekstu można 
zastąpić rysunkiem - mapą bitową.  

 

Rysunek 29.15. 
Informacje 
o aplikacji wpisuje 
się na stronie App 
Info. 

background image

852 

Część IV 

Tytuł nie powinien być zbyt długi, gdyż może nie zmieścić się w oknie. 

Należy teraz kliknąć przycisk 

Browse

, widoczny obok pola 

Logo Bitmap

 i rysunek 

(mapę bitową), który ma być używany w charakterze znaku graficznego aplikacji. 
W podkatalogu 

Images\Splash

  głównego katalogu Delphi dostępnych jest 

kilka gotowych rysunków. W programie InstallShield Express używać można 
wyłącznie 16-kolorowych map bitowych. 

Po wybraniu rysunku należy jeszcze ustalić jego położenie. Znak graficzny 
aplikacji umieszczany jest domyślnie w prawym-górnym rogu ekranu. Na ogół nie 
ma powodu, by zmieniać domyślnie proponowane położenie albo kolor tła ekranu. 

Stronę 

Main Window

 przedstawiono na rysunku 29.16. 

Opcje dodatkowe - Features 

Jak już wcześniej wspomniano, strona 

Features

 zawiera tylko jeden element - 

przełącznik, decydujący o utworzeniu specjalnego programu odinstalowującego 
aplikację. Przełącznik ten powinien pozostać uaktywniony, dlatego należy jedynie 
kliknąć 

OK

, co spowoduje zachowanie ustawień, dotyczących wyglądu procedury 

instalacyjnej. 

Opcje programu Install Shield, dotyczące Delphi 

W kolejnym etapie przygotowywania programu instalacyjnego należy wybrać 
wymagane przez aplikacją moduły oprogramowania, związane ze środowiskiem 
Delphi. O ile aplikacja nie korzysta z innego niż BDE aparatu bazy danych, 
konieczne będzie zainstalowanie właśnie Borland Database Engine. Podobnie, 
jeżeli aplikacja uzyskuje dostęp do odległych serwerów, korzystając ze 
sterowników SQL Links firmy Borland, to oczywiście odpowiednie sterowniki 
powinny znaleźć się w pakiecie instalacyjnym. 

 

Rysunek 29.16 
Strona opisująca 
okno główne - 
Main Window - 
w programie 
InstallShield. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

853

 

Opcje ogólne - General Options 

Aby wybrać moduły, z których korzystać  będzie instalowana aplikacja, należy 
kliknąć przycisk 

General Options

. Moduł SQL Links może być instalowany tylko 

łącznie z Borland Database Engine. 

Dołączanie BDE 

Aby dołączyć do pakietu instalacyjnego moduł BDE należy uaktywnić odpowiedni 
przełącznik. Na ekranie pojawi się drugie okno dialogowe, w którym InstallShield 
pyta, czy program instalacyjny ma przeprowadzać pełną  (Full) czy cząstkową 
(Partial) instalacje BDE. Należy wybrać domyślnie proponowaną pełną instalację 
i kliknąć 

OK

Definiowanie aliasów BDE, przeznaczonych do dołączenia 

Kolejny zestaw okien dialogowych służy do konfigurowania aliasów BDE, które 
mają być tworzone automatycznie przez program instalacyjny. Aby zapewnić 
prawidłowe działanie zainstalowanej aplikacji należy zadbać o 

dołączenie 

wszystkich wymaganych aliasów. Aby dołączyć nowy alias należy kliknąć 
przycisk 

New

 i wpisać nazwę w oknie dialogowym, przedstawionym na rysunku 

29.17. 

Aby przejść dalej należy kliknąć przycisk 

OK

InstallShield pyta teraz, czy alias ma być instalowany do wykorzystania zarówno 
z 16-bitową, jak i 32-bitową wersją Borland Database Engine. Aplikacje 32-bitowe 
nie korzystają z 16-bitowych aliasów, dlatego odpowiedni przełącznik można 
pozostawić w stanie nieaktywnym i kliknąć 

OK

W trzecim kroku należy określić szczegółowe własności aliasu, który ma być 
utworzony w systemie docelowym. Nazwa aliasu przenoszona jest z poprzedniego 
okna dialogowego. W bieżącym oknie dialogowym należy natomiast wybrać typ 
aliasu. 

Jeśli alias odnosi się do tabeli lokalnej (np. typu Paradox lub dBASE), to 
konieczne będzie wpisanie ścieżki dostępu do plików, zawierających dane. Należy 
pamiętać,  że w ścieżce dostępu można stosować nazwy grup plików (ujęte 

nawiasy kwadratowe). Zostaną one zastąpione nazwami katalogów, 

 

Rysunek 29.17. 
InstallShield 
automatycznie 
utworzy aliasy 
BDE, stosowane 
przez aplikację, 
napisaną w Delphi. 

background image

854 

Część IV 

przypisanymi do tych grup. Na przykład, zamiast 

<INSTALLDIR>\Data

 lub 

C:\DATA\RENTMAN\DATA

 w polu 

Path

  (ścieżka dostępu) można wpisać po 

prostu [Data Files], tj. odwołanie do grupy plików, która zostanie zdefiniowana 
później. InstallShield zastąpi nazwę grupy ścieżką dostępu do jej katalogu 
docelowego. 

W wierszowym polu edycyjnym można określić dodatkowe parametry aliasu. Aby 
zdefiniować wartość parametru, wystarczy wpisać jego nazwę, znak równości 
i wartość, np.: 

USER NAME=SYSDBA 

Omawiane okno dialogowe przedstawiono na rysunku 29.18. 

Czwarte i ostatnie okno dialogowe, związane z definiowaniem aliasów BDE, 
zawiera jedynie informację o zakończeniu definiowania aliasu. Należy kliknąć 
przycisk 

Finish

, co ostatecznie zakończy proces definiowania. 

Dołączanie sterowników SQL Links 

Kliknięcie przycisku 

Finish

 spowoduje powrót do okna dialogowego 

General

 

Options

. Jeśli aplikacja będzie łączyła się z odległym serwerem za pośrednictwem 

sterowników SQL Links, należy uaktywnić odpowiednią opcję. Program poprosi 
teraz o wybranie sterowników SQL Links, które mają być dołączone do aplikacji. 
Dostępne są sterowniki dla serwera Sybase SQL Server, Oracle, InterBase, 
Informix, DB2 i Microsoft SQL Server. Należy zaznaczyć na liście  żądane 
sterowniki i kliknąć przycisk 

Finish

Wybór komponentów i plików 

W tym etapie przygotowywania programu instalacyjnego jego autor definiuje 
komponenty, wchodzące w skład aplikacji. Rozbicie aplikacji na komponenty 
umożliwia przygotowanie kilku różnych wariantów instalacji. Każdy komponent 

Rysunek 29.18. 
W tym oknie 
dialogowym należy 
szczegółowo 
zdefiniować nowy 
alias. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

855

 

zawiera z reguły szereg logicznie powiązanych plików. Końcowy użytkownik 
może zatem bez szkody dla podstawowej aplikacji pominąć niektóre komponenty, 
korzystając z opcji instalacji indywidualnej. Autor programu instalacyjnego może 
zdefiniować grupy plików, należących do aplikacji ale przechowywanych 
w oddzielnych katalogach. Dzięki temu użytkownik końcowy może zrezygnować 
z instalacji niektórych plików pomocniczych. 

Grupy i pliki - Groups and Files 

Grupy zawierają zbiory związanych ze sobą plików - plików, które znajdą się 
w tym samym katalogu na komputerze docelowym. Oprócz grup, związanych 
z modułem BDE, InstallShield automatycznie tworzy trzy grupy Program Files 
(pliki programu), Help Files (pliki pomocy) i Sample Files (pliki przykładowe). 

Aby otworzyć odpowiednie okno dialogowe należy skorzystać z przycisku 

Groups

 

and

 

Files

. Następnie należy podwójnie kliknąć na grupie 

Program

 

Files

, co 

spowoduje rozwinięcie listy zawartych w niej plików. Na razie grupa zawiera 
jedynie wskazany wcześniej główny plik wykonywalny aplikacji. 

Do otwartej grupy należy dodać inne pliki, niezbędne do uruchomienia aplikacji. 
Elementy, wchodzące w skład  środowiska Delphi, takie jak Borland Database 
Engine, można pominąć, gdyż zostaną one uwzględnione w oddzielnych grupach. 
W grupie 

Program Files

 nie należy również umieszczać plików danych aplikacji - 

za chwilę pokażemy, w jaki sposób utworzyć dla nich osobną grupę. Do grupy 

Program Files

 powinny natomiast trafić wszelkie inne elementy niezbędne do 

działania aplikacji, takie jak pakiety Delphi, biblioteki DLL, pliki konfiguracyjne, 
informacyjne, itp. Pliki, które mogą być używane przez więcej niż jedną aplikację 
powinny znaleźć się w 

katalogu wspólnym dla wszystkich aplikacji 

zainstalowanych w systemie. Bardzo często funkcję  tę pełni katalog podkatalog 

Common Files

 katalogu 

Program Files

.  

Pliki można umieszczać w grupie, przeciągając je wprost z okna Eksploratora 
Windows na listę plików, należących do grupy. Aby uruchomić Eksploratora 
należy posłużyć się przyciskiem 

Launch Explorer

Po przeciągnięciu wszystkich niezbędnych plików do grupy Program Files, można 
przystąpić do kompletowania grupy Help Files. Opcja instalacji indywidualnej 
powinna dopuszczać pominięcie plików pomocy. Pliki takie zajmują zwykle dużo 
miejsca, a wielu użytkowników w ogóle z nich nie korzysta. Przeciąganie plików 
do grupy Help Files odbywa się tak samo, jak w przypadku grupy Program Files. 

Grupę Sample Files można usunąć, o ile do aplikacji nie będą dołączane pliki 
przykładowe. Do aplikacji, pisanych na zamówienie, nie dołącza się na ogół 
plików przykładowych. Nie ma zatem powodu, by pozostawiać pustą grupę 
plików. 

background image

856 

Część IV 

Należy natomiast utworzyć nową grupę, przeznaczoną na pliki bazy danych 
aplikacji. Oto odpowiednia procedura postępowania: 

1. Kliknąć przycisk 

Add Group

. W polu 

Group Name

 wpisać nazwę grupy 

Database Files

. W polu katalogu docelowego (Destination Directory

powinien pozostać wpisany identyfikator 

<INSTALLDIR

>. 

2. Kliknąć przycisk 

OK

3. Przeciągnąć pliki bazy danych z okna Eksploratora Windows do nowej grupy 

Data Files. Wyodrębnienie specjalnej grupy, zawierającej pliki danych, 
pozwala przechowywać pliki programu i jego dane w oddzielnych katalogach. 

4. Po przeciągnięciu wszystkich plików można przejść na stronę 

Components

Omówioną tutaj stronę 

Groups

 ilustruje rysunek 29.19. 

Komponenty - Components 

Podział aplikacji na komponenty umożliwia użytkownikowi wybór składników, 
które mają zostać zainstalowane i tych, które mają być pominięte. Na stronie 

Components

 autor programu instalacyjnego kojarzy grupy, utworzone wcześniej 

na stronie 

Groups

, z komponentami instalacji, które końcowy użytkownik będzie 

mógł włączać lub pomijać w swojej instalacji indywidualnej. Z reguły każda grupa 
plików ma swój odpowiednik w 

postaci komponentu. Między grupami 

a komponentami występuje zwykle relacja typu "jeden do jednego". 

Podobnie, jak na stronie 

Groups

, także i tutaj występują trzy standardowe 

elementy (oprócz komponentów związanych z 

BDE) - komponenty 

Application Files

 (pliki aplikacji), 

Help and Tutorial Files

 (pliki 

pomocy i 

samouczka) i 

Sample Files

 (pliki przykładowe). Jeśli przy 

 

Rysunek 29.19. 
Na stronie Groups 
można zdefiniować 
grupy plików 
i określić ich 
zawartość. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

857

 

definiowaniu grup usunięta została grupa Sample Files, to oczywiście należy 
usunąć także odpowiadający jej komponent.  

Na stronie 

Components

 w prosty sposób dodawać można komponenty, których nie 

ma na proponowanej liście, a 

także zmieniać nazwy i 

opisy istniejących 

komponentów. 

Do poprawnej pracy aplikacja wymaga plików danych, dlatego nie ma powodu, by 
tworzyć oddzielny komponent, skojarzony z grupą Data Files. Grupa ta - podobnie 
jak Program Files - zostanie skojarzona z komponentem 

Application Files

Z kolei grupa Help Files powinna być skojarzona z osobnym komponentem, tak 
aby końcowy użytkownik mógł z niej zrezygnować. 

Odpowiednie modyfikacje rozpoczniemy od zmiany nazwy grupy Help and 
Tutorial Files. Zamiast proponowanej nazwy można wpisać nazwę polską. Ponadto 
większość aplikacji, przeznaczonych dla wąskich grup odbiorców, nie zawiera 
specjalnego samouczka. Dlatego nowa nazwa powinna brzmieć np. Pliki pomocy. 
Aby zmienić nazwę, należy kliknąć przycisk 

Modify Component

, po czym wpisać 

nową nazwę w polu 

Component Name

. Zmienić można również opis komponentu 

(pole 

Description

). Aby zachować wprowadzone modyfikacje należy kliknąć 

OK

Kolejnym krokiem powinno być skojarzenie grup z 

poszczególnymi 

komponentami. Aby skojarzyć grupę z komponentem należy kliknąć (zaznaczyć) 
żądany komponent na liście 

Application

 

Components

, podobnie zaznaczyć grupę 

na liście 

File

 

Groups

, a następnie kliknąć przycisk 

Add to Application Component

Przycisk ten znajduje się pod listą 

File Groups

. Jeśli zaznaczona grupa jest już 

skojarzona z 

jakimś komponentem, to wspomniany przycisk pozostanie 

nieaktywny. 

InstallShield automatycznie kojarzy standardowe grupy i komponenty aplikacji, 
dlatego grupy Program Files i Help Files są już skojarzone z odpowiednimi 
komponentami. Niestety, grupy plików, związanych z BDE, nie są automatycznie 
kojarzone z odpowiadającymi im komponentami aplikacji - skojarzenie to należy 
zadeklarować samodzielnie. Z 

odpowiednim komponentem musi też być 

skojarzona nowa, dodatkowo utworzona grupa Database Files. Aby skojarzyć 
grupę z komponentem należy: 

1. Kliknąć grupę 

Database

 

Files

 na liście 

File

 

Groups

2. Klikn¹æ komponent 

Application Files

 (lub np. 

Pliki aplikacji

jeśli zmieniono nazwę komponentu) na liście 

Application Components

3. Kliknąć przycisk 

Add to Application Component

, co spowoduje dodanie 

zaznaczonej grupy do zaznaczonego komponentu. 

4. Powyższy proces należy powtórzyć w odniesieniu do wszystkich grup plików, 

związanych z modułem BDE. 

background image

858 

Część IV 

Proces definiowania komponentu zilustrowano na rysunku 29.20. 

Po zdefiniowaniu wszystkich komponentów aplikacji, można przejść na trzecią 
stronę omawianego okna dialogowego, dotyczącą wariantów instalacji - Setup 
Types. 

Warianty instalacji - Setup Types 

Na stronie

 Setup Types

 autor programu instalacyjnego może skojarzyć utworzone 

wcześniej komponenty aplikacji z jednym z trzech wbudowanych wariantów 
instalacji: 

Compact

 (minimalna), 

Custom

 (indywidualna) lub 

Typical

 (typowa). 

InstallShield dopuszcza zdefiniowanie tylko tych trzech wariantów instalacji; nie 
ma możliwości dodania własnych wariantów ani zmiany nazwy istniejących. 

Skojarzenie komponentu z wariantem instalacji przebiega w prosty sposób. 
Wystarczy zaznaczyć komponent na liście 

Application Components

, zaznaczyć 

wariant instalacji na liście 

Setup

 

types

, a następnie kliknąć przycisk 

Add

 

to

 

Setup

 

Type

W momencie pierwszego otwarcia strony 

Setup

 

Types

, każdy ze zdefiniowanych 

uprzednio komponentów aplikacji skojarzony jest ze wszystkimi trzema 
wariantami instalacji. Skojarzenie takie jest poprawne w przypadku instalacji 
indywidualnej (Custom), gdyż  użytkownik sam musi zdecydować, które 
z komponentów chce zainstalować, a które - pominąć. Również instalacja typowa 
obejmuje zazwyczaj wszystkie dostępne komponenty aplikacji. Gdyby w typowej 
instalacji niektóre z komponentów zostały pominięte, to użytkownicy, chcący 
w pełni wykorzystać potencjał programu, musieliby wybierać wariant instalacji 
indywidualnej. 

Wariant instalacji minimalnej (Compact) obejmuje zazwyczaj tylko te 
komponenty, bez których aplikacja nie może funkcjonować nawet 

 

Rysunek 29.20 
Podział aplikacji 
na komponenty 
umożliwia 
użytkownikowi 
wybór składników, 
które mają zostać 
zainstalowane 
i tych, które mają 
być pominięte. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

859

 

w podstawowym zakresie. Można tutaj pominąć pliki pomocy. Użytkownikom, 
którzy wybierają ten wariant instalacji, zależy zwykle na ograniczeniu zużycia 
przestrzeni dyskowej. 

Warianty Custom i Typical są zatem od razu skonfigurowane poprawnie. 
Konieczne będzie jedynie zmodyfikowanie wariantu Compact. W związku z tym 
należy kliknąć wariant Compact i usunąć skojarzony z nim komponent 

Pliki 

pomocy

Kliknięcie 

OK

 spowoduje zachowanie definicji grup, komponentów i wariantów 

instalacji. Omówioną tutaj stronę 

Setup Types

 przedstawiono na rysunku 29.21. 

Wybór elementów interfesju komunikacji z użytkownikiem 

Po przygotowaniu poszczególnych wariantów instalacji można przejść do wyboru 
elementów interfejsu komunikacji z 

użytkownikiem. Na tym etapie pracy 

realizowana jest tylko jedna czynność - wybór okien dialogowych (Dialog Boxes), 
które mają być wyświetlane przez tworzony program instalacyjny. 

Okna dialogowe - Dialog Boxes 

Chcąc wybrać okna dialogowe, które będą pojawiać się w trakcie instalacji, należy 
kliknąć przycisk 

Dialog Boxes

. Aby dane okno pojawiło się w trakcie instalacji, 

wystarczy zaznaczyć  je  na  liście. Pola 

Setup Types

 i 

Custom Setup

  są już 

zaznaczone, gdyż przy tworzeniu nowego projektu w programie InstallShield 
uwzględniono opcję instalacji indywidualnej. 

W przypadku niektórych okien możliwe jest określenie dodatkowych ustawień. 
Aby uzyskać dostęp do parametrów aktualnie podświetlonego okna dialogowego 
należy kliknąć przycisk 

Settings

. Na przykład, jeśli po uruchomieniu programu 

 

Rysunek 29.21. 
W oknie 
dialogowym Setup 
Types różnym 
wariantom 
instalacji 
przypisuje się 
poszczególne 
komponenty 
aplikacji. 

background image

860 

Część IV 

instalacyjnego na ekranie powinna pojawić się powitalna ilustracja, należy 
zaznaczyć na liście okno dialogowe 

Welcome

 

Bitmap

, a następnie przejść na 

stronę ustawień 

Settings

. Na stronie 

Settings

 należy skorzystać z przycisku 

wielokropka, co umożliwi wybór pliku z mapą bitową, która ma być  użyta 
w charakterze powitalnej ilustracji (zob. rysunek 29.22). 

Rysunek, widoczny w oknie podglądu (Preview) ma charakter przykładowy i nie 
zmieni się, gdy autor programu instalacyjnego wybierze własną mapę bitową. 
Nowy rysunek widoczny będzie dopiero po uruchomieniu programu 
instalacyjnego. Należy ponadto pamiętać,  że w programie InstallShield Express 
w charakterze rysunków powitalnych i ilustracji (billboards) używać można 
wyłącznie 16-kolorowych map bitowych. 

Plik README i umowa licencyjna oprogramowania 

Program instalacyjny może wyświetlać na ekranie tekst pliku 

README

 

(najświeższe informacje, pominięte w 

zwykłej dokumentacji) lub umowy 

licencyjnej oprogramowania. Dokumenty powinny być zapisane w 

plikach 

tekstowych. Należy pamiętać,  że tekst nie będzie automatycznie formatowany. 
Dlatego pliki tekstowe powinny zawierać w odpowiednich miejscach znaki końca 
wiersza. Tekst, widoczny w oknie podglądu (Preview) ma charakter przykładowy 
i nie zmieni się, gdy autor programu instalacyjnego wybierze własny plik 
tekstowy. 

Ilustracje (Billboards

Mapa bitowa, która ma być  używana podczas instalacji w charakterze ilustracji 
powinna nosić nazwę 

SETUP1.BMP

 albo 

SETUP1.WMF

. Katalog, w którym 

znajduje się mapa bitowa określić można na stronie Settings. 

 

Rysunek 29.22. 
Na stronie Settings 
określić można 
dodatkowe 
parametry okien 
dialogowych. 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

861

 

Zmiany w rejestrze systemowym 

W następnym etapie tworzenia programu instalacyjnego należy zdefiniować 
pozycje rejestru systemowego, wymagane przez aplikację. Większość aplikacji nie 
wymaga wprowadzania zmian w 

rejestrze. InstallShield tworzy w 

rejestrze 

systemowym kilka standardowych wpisów, dotyczących aplikacji. Jeśli aplikacja 
wymaga jakichkolwiek dodatkowych kluczy w rejestrze, to należy pamiętać 
o zdefiniowaniu ich z aktywną opcją 

Uninstall keys

. Zagwarantuje to usunięcie 

tych kluczy z 

rejestru systemowego podczas odinstalowywania aplikacji. 

Aplikacje, spełniające wymogi Windows Setup Guidelines, powinny zawsze po 
sobie "posprzątać". 

OSTRZEŻENIE: 

Podczas usuwania kluczy z rejestru systemowego Windows należy zachować 
szczególną ostrożność. Usunięcie niewłaściwego klucza uniemożliwi poprawne 
działanie którejś z zainstalowanych aplikacji. Zgromadzenie wszystkich informacji 
konfiguracyjnych w centralnej bazie danych ma wady i zalety. W szczególności, 
zbyt  łatwo można "ogłupić" dowolną aplikację usuwając lub modyfikując jej 
klucze w rejestrze.  

Wybór folderów i ikon 

Na tym etapie pracy należy zdefiniować foldery programów i ikony, które mają 
być tworzone przez program instalacyjny. W oknie dialogowym

 General Settings

 

(ogólne ustawienia) można wybrać ikony, które powinny znaleźć się w folderze 
aplikacji, umieszczonym w menu 

Start

. To samo okno dialogowe umożliwia 

zdefiniowanie parametrów wywołania aplikacji. 

Okno dialogowe 

Advanced Settings

 umożliwia z kolei umieszczenie w menu 

Start

 

osobnej ikony instalowanej aplikacji. Ponadto można tutaj wybrać alternatywny 
katalog roboczy, załadować ikonę z zewnętrznego pliku zasobów i zdefiniować 
klawisz skrótu dla aplikacji. 

Aby otworzyć odpowiednie okno dialogowe należy kliknąć przycisk 

General

 

Settings

. Jak już wcześniej wspomniano, na liście w oknie 

General

 

Settings

 

automatycznie umieszczona została ikona głównego pliku wykonywalnego 
aplikacji. Jej opis należy jednak zmienić na bardziej czytelny - sama nazwa 
projektu nie niesie zbyt wiele informacji. W tym celu należy kliknąć w polu opisu 
i zamienić nazwę projektu na dwu- lub trzy wyrazowy, bardziej czytelny opis 
aplikacji. Wpisany tutaj tekst nie powinien jednak być zbyt długi, gdyż 
wyświetlany będzie przy ikonie aplikacji w folderach programów. Aby zachować 
zmiany należy kliknąć przycisk 

Modify

 

Icon

background image

862 

Część IV 

Aby powrócić do głównego okna programu InstallShield klikamy 

OK

Przygotowanie zawartości nośników (Disk Builder) 

Ostatnim etapem pracy, który autor aplikacji powinien wykonywać na własnym 
komputerze, jest przygotowanie zawartości nośników. Polecenie Run Disk Builder 
tworzy pliki, reprezentujące zawartość nośników (tzw. disk images). Oczywiście 
nośniki zawierać  będą instalowaną aplikację i sam program instalacyjny. Należy 
pamiętać o zadeklarowaniu właściwego typu nośnika - dzięki temu utworzone pliki 
(disk images) będą miały właściwe rozmiary. Przed przystąpieniem do dalszych 
działań należy zapisać bieżący projekt. 

Po kliknięciu przycisku 

Disk Builder

 na ekranie pojawi się odpowiednie okno 

dialogowe. W jego lewym-dolnym rodu znajduje się rozwijana lista, z której 
można wybrać typ nośnika. Domyślnie przyjmowany jest rozmiar 1.44 MB. Do 
wyboru jest szereg innych typów dyskietek oraz dysk CD-ROM. Aby rozpocząć 
tworzenie plików, reprezentujących zawartość nośników należy skorzystać 
z przycisku 

Build

Jeśli przygotowanie zawartości nośników zakończy się bez przeszkód, to w lewej 
części okna dialogowego pojawi się szereg ikon, reprezentujących dyskietki 
instalacyjne (jeśli jako nośnik wskazano dysk CD-ROM, to pojawi się tylko jedna 
ikona). Po przygotowaniu zawartości nośników należy kliknąć przycisk 

Close

, co 

spowoduje zamknięcie pola dialogowego. 

Testowanie procedury instalacyjnej 

Na tym etapie pracy można już przystąpić do testowania procedury instalacyjnej. 
Test należy przeprowadzać na osobnym, przeznaczonym do tego celu komputerze, 
w żadnym wypadku nie na komputerze używanym do pisania aplikacji lub 
komputerze użytkownika końcowego. Jak już wspomniano, próba usunięcia 
elementów, współużytkowanych przez zainstalowaną aplikację i Delphi, może 
doprowadzić do poważnych problemów. Każdy program, nawet najprostszy, 
bezpieczniej jest zawsze testować na oddzielnym komputerze. 

Na komputerze używanym do pracy, a nie do testów, można bezpiecznie 
prześledzić działanie programu instalacyjnego aż do momentu, w którym zamierza 
on rozpocząć kopiowanie plików. Nie wolno natomiast dopuścić do faktycznego 
skopiowania plików aplikacji na dysk.  

Kopiowanie danych na nośniki 

Ostatnim z 

dziewięciu etapów tworzenia programu instalacyjnego jest 

sporządzenie nośników dystrybucyjnych. Proces ten sprowadza się do skopiowania 

background image

 Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 

863

 

przygotowanych uprzednio plików (disk images) na dyskietki lub dysk optyczny. 
Gdy na ekranie pojawi się okno dialogowe 

Copy To Floppy

 wystarczy kliknąć 

przycisk 

Copy All Disk Images.

 InstallShield skopiuje odpowiednie pliki na kolejne 

dyskietki. 

Gotowych nośników można już  użyć do zainstalowania aplikacji na komputerze 
końcowego użytkownika. Jednak przedtem należy je przetestować, instalując 
aplikację na oddzielnym komputerze, przeznaczonym do prób. Pozwoli to raz 
jeszcze skontrolować działanie programu instalacyjnego i upewnić się, że nośniki 
są wolne od wad fizycznych. 

Należy pamiętać o 

zapisaniu projektu w 

programie InstallShield, tak aby 

w przyszłości można było ponownie sporządzić nośniki instalacyjne. 

Instalowanie obiektów bazy danych 

W tej sekcji przedstawimy kilka wskazówek, dotyczących dystrybucji obiektów 
baz danych typu klient-serwer, należących do aplikacji. Bazy danych typu klient-
serwer nie można, w przeciwieństwie do lokalnej tabeli, po prostu dołączyć do 
aplikacji. W omawianym wcześniej przykładzie utworzono specjalną grupę 
plików, zawierającą plik danych InterBase 

RENTMAN.GDB

, należący do aplikacji 

RENTMAN

. Jeśli jednak baza danych miałaby być przechowywana na odległym 

serwerze lub w ogóle innej platformie systemowej, to nie dałoby się zastosować 
tego rodzaju rozwiązania. Musi zatem istnieć jakiś sposób, pozwalający 
zrezygnować z dołączania wszystkich plików bazy danych do aplikacji. 

Najlepszym rozwiązaniem jest dołączenie do aplikacji skryptów SQL, które 
wykonywane będą automatycznie przy jej pierwszym uruchomieniu, albo które 
administrator bazy danych musi samodzielnie uruchomić przed pierwszą próbą 
użycia aplikacji. Ten drugi wariant jest nawet bezpieczniejszy, gdyż autorowi 
aplikacji trudno przewidzieć, jakimi narzędziami do obsługi baz danych 
w systemie klienckim dysponować będą przyszli użytkownicy. 

Wszystkie poważne systemy zarządzania bazami danych oferują narzędzia do 
wykonywania skryptów SQL. Załóżmy,  że baza danych 

RENTMAN

 ma być 

tworzona na serwerze Microsoft SQL. Odpowiedni skrypt SQL byłby zapewne 
uruchamiany przy pomocy narzędzia ISQL, dołączanego do pakietu SQL Server, 
np.: 

isql -Usa -PSaPassword -Sserver -iRentMan.SQL -oRentMan.out 

Wykonanie tego skryptu spowoduje utworzenie zdefiniowanych w nim obiektów 
bazy danych, które staną się odtąd dostępne dla aplikacji. Działające w powyższy 
sposób narzędzie ISQL dołączane jest zarówno do pakietu Microsoft, jak i Sybase 
SQL Server. 

background image

864 

Część IV 

Jeśli z kolei baza danych 

RENTMAN

 ma być implementowana w środowisku 

Oracle, to można zastosować taki skrypt: 

sqlplus SYS/SysPassword@Server @RentMan.SQL 

Jeśli docelową platformą jest system InterBase, to odpowiednie polecenie przyjmie 
postać: 

isql \\server\rentman.dgb -i RentMan.sql -o RentMan.out -u 
SYSDBA -p masterkey 

Różne systemy zarządzania bazami danych zapewniają różnej jakości narzędzia do 
uruchamiania skryptów SQL w 

plikach wsadowych. W 

każdym przypadku 

możliwe będzie jednak przynajmniej utworzenie wszystkich obiektów bazy 
danych, wymaganych przez aplikację.