29 Rozdziaę 28


Rozdział 28
Przygotowanie programu
instalacyjnego aplikacji
Trudno przecenić wpływ instalacji na pózniejsze 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
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.
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),
832 Część IV
a następnie kliknąć przycisk Create, co spowoduje utworzenie nowego projektu -
zob. rysunek 29.1.
Rysunek 29.1.
W oknie
dialogowym New
Project określić
można parametry
nowego projektu.
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.
Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 833
Rysunek 29.2.
Główne okno
programu
InstallShield.
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.
834 Część IV
Rysunek 29.3.
Informacje
o aplikacji wpisuje
się na stronie App
Info.
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.
Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 835
Rysunek 29.4.
Strona Main
Window (Okno
główne)
w programie
InstallShield.
Opcje dodatkowe - Features
Strona Features zawiera tylko jeden element - przełącznik, decydujący
o 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.5.
Ta opcja decyduje
o ewentualnym
wygenerowaniu
automatycznego
programu
odinstalowującego
aplikację.
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 znalezć 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.
Rysunek 29.6.
W oknie
dialogowym
General Options
należy wybrać
komponenty
środowiska firmy
Borland, które
mają być
instalowane razem
z aplikacją.
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ą
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.
Rysunek 29.7.
InstallShield
automatycznie
utworzy aliasy
BDE, stosowane
przez aplikację,
napisaną w Delphi.
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 .
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
838 Część IV
Omawiane okno dialogowe przedstawiono na rysunku 29.8.
Rysunek 29.8.
W tym oknie
dialogowym należy
szczegółowo
zdefiniować nowy
alias.
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.9.
Z listy,
prezentowanej
w tym oknie
dialogowym,
należy wybrać
sterowniki SQL
Links, które mają
być zainstalowane
razem z aplikacją.
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 znalezć się w katalogu wspólnym dla wszystkich
aplikacji zainstalowanych w systemie.
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...
Katalog docelowy, określony przez użytkownika
Katalog, w którym znajduje się system Windows
Katalog SYSTEM w Windows 95 (lub SYSTEM32
w Windows NT)
Katalog SYSTEM (z elementami 16-bitowymi)
w Windows NT
Litera napędu, na którym znajduje się system
Windows
Litera napędu, na którym znajduje się katalog
SYSTEM
Katalog Program Files
Katalog Common Files
[nazwa grupy] Katalog docelowy wskazanej grupy
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 \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.
Rysunek 29.10.
Na stronie Groups
można zdefiniować
i opisać grupy
plików.
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.
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.
Rysunek 29.11.
Okno Dialog Boxes
umożliwia wybór
okien dialogowych,
które pojawiać się
będą w trakcie
instalacji.
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 Komunikat wyświetlany po
powitalny uruchomieniu instalatora.
Software License Umowa licencyjna Okno z tekstem umowy
Agreement oprogramowania licencyjnej - tekst w pliku
wskazanym przez autora
aplikacji.
Readme Information Plik README - Okno z tekstem wskazanego
informacje pliku "README".
z ostatniej chwili.
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 Wybór katalogu Okno, w którym użytkownik
Location docelowego 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 Okno z opcjami instalacji
indywidualna indywidualnej.
Select Program Folder Wybór folderu Okno, umożliwiające
programów użytkownikowi wybór folderu
dla ikony aplikacji w menu Start.
Start Copying Files Rozpoczęcie Informacja poprzedzająca
kopiowania plików kopiowanie plików.
Progress Indicator Wskaznik postępu Informacja o postępie
kopiowania plików.
Billboards Ilustracje Ilustracja (mapa bitowa)
wyświetlana podczas
kopiowania.
Online registration Rejestracja przez Opcja zdalnej rejestracji
modem 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.
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 znalezć 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
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.
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.
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
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
z 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ąć
Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 847
przycisk Copy All Disk Images. InstallShield skopiuje odpowiednie pliki na kolejne
dyskietki (zob. rysunek 29.13).
Rysunek 29.13.
Okno dialogowe
Copy To Floppy
umożliwia
rozpoczęcie
kopiowania plików
na dyskietki lub
inne nośniki.
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.
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 znalezć 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.
Rysunek 29.14.
W oknie
dialogowym New
Project należy
wpisać informacje
o nowym projekcie.
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
Rozdział 28 Przygotowanie programu instalacyjnego aplikacji 849
Etap Opis
graficznej procedury instalacyjnej.
Select InstallShields Wybór komponentów środowiska firmy Borland,
Options for Delphi które mają być dołączone do instalowanej aplikacji.
Specify Components and Grupowanie plików i tworzenie kilku wariantów
Files instalacji.
Select the User Interface Wybór okien dialogowych, które mają pojawiać się
Components 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ę
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:
oknach dialogowych Welcome Message (komunikat powitalny) i Choose
W
Destination Location (wybór katalogu docelowego).
element domyślnie proponowanej ścieżki dostępu w polu Choose
Jako
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
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.
Rysunek 29.15.
Informacje
o aplikacji wpisuje
się na stronie 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ą.
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.
Rysunek 29.16
Strona opisująca
okno główne -
Main Window -
w programie
InstallShield.
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 znalezć się w pakiecie instalacyjnym.
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.
Rysunek 29.17.
InstallShield
automatycznie
utworzy aliasy
BDE, stosowane
przez aplikację,
napisaną w Delphi.
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
w nawiasy kwadratowe). Zostaną one zastąpione nazwami katalogów,
854 Część IV
przypisanymi do tych grup. Na przykład, zamiast \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ózniej. 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.
Rysunek 29.18.
W tym oknie
dialogowym należy
szczegółowo
zdefiniować nowy
alias.
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
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 znalezć 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.
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 .
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.
Rysunek 29.19.
Na stronie Groups
można zdefiniować
grupy plików
i określić ich
zawartość.
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) iSample Files (pliki przykładowe). Jeśli przy
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.
858 Część IV
Proces definiowania komponentu zilustrowano na rysunku 29.20.
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.
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
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.
Rysunek 29.21.
W oknie
dialogowym Setup
Types różnym
wariantom
instalacji
przypisuje się
poszczególne
komponenty
aplikacji.
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
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.
Rysunek 29.22.
Na stronie Settings
określić można
dodatkowe
parametry okien
dialogowych.
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.
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 znalezć 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.
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
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.
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ę.


Wyszukiwarka

Podobne podstrony:
Rozdział 28 Ostatnie przygody Korowiowa i Behemota
rozdział 28 Główny winowajca unicestwienia wszystkich przeświętych trudów Asziaty Szyjemasza
dziewczyny z hex hall 3 rozdział 28
Bestia Zachowuje się Źle Shelly Laurenston Rozdział 28
Laurell K Hamilton Anita Blake 11 Błękitne Grzechy rozdział 28 (nieof tłum Scarlettta)
Rozdział 28
2008 Metody obliczeniowe 07 D 2008 10 29 19 28 1
Rozdział 28
Rozdział 29
Shelly Laurenston Pride 05 Bestia Zachowuje się Źle Rozdział 29

więcej podobnych podstron