Temat instalator≤w jest bardzo ciekawy. Bo kt≤┐ nie
chcia│by mieµ w│asnego instalatora? Pewnie ka┐dy. W tym artykule
przedstawiΩ proces pisania instalatora bez wykorzystania dodatkowych
komponent≤w. Nie bΩdzie to instalator w stylu "Install Shield",
ale taki na w│asny u┐ytek, do w│asnych cel≤w.
Zacznijmy wiΩc. Wygl▒d samego instalatora zale┐y ju┐
od Ciebie i od Twojego gustu. Oczywi╢cie nasz instalator ma byµ w
jednym pliku tak ┐eby nasz instalowany program "odkleja│"
siΩ od EXEka i zapisywa│ w wybranym przez u┐ytkownika katalogu.
Pewnie najwiΩkszym problemem by│o w│▒czenie samego pliku do EXEka,
prawda?
Krok 1. Do│▒czanie plik≤w
Przygotuj sobie najpierw jaki╢ katalog - za│≤┐my
"Setup". Tam skopiuj pliki, kt≤re chcesz w│▒czyµ do
EXEka. Ja w swoim przyk│adzie w│▒czam tylko jeden plik wykonywalny
EXE. Naszym celem bΩdzie stworzenie zasobu
zawieraj▒cego w│a╢nie plik EXE, kt≤ry chcesz zainstalowaµ. W
przyk│adzie, kt≤ry podaje plik do│▒czony do zasob≤w nazywaµ siΩ
bΩdzie "Pad.exe".
Najpierw stw≤rz plik tekstowy z zmie± jego rozszerzenie na *.rc (
np. files.rc ). W Notatniku dopisz tak▒ liniΩ:
PAD RCDATA "Pad.exe"
Pierwszy cz│on to nazwa programu, drugi to typ pliku
- w tym wypadku jest to program, a ostatni cz│on podany w cudzys│owach
to nazwa pliku wykonywalnego - w moim przypadku jest to "Pad.exe".
Zapisz ca│y plik. Je┐eli posiadasz Delphi to z pewno╢ci▒ program
"brcc32.exe". Znajduje siΩ on w katalogu ...Delphi\Bin.
Skopiuj go do katalogu z Twoimi plikami ( tam gdzie masz plik *.rc ).
Jest to program DOS-owy wiΩc musisz uruchomiµ go z okienka MS -DOS.
Ten program przekszta│ci plik *.rc na *.res.
Odpal wiΩc okienko MS - DOS-a i przejd╝ do katalogu z plikiem *.rc
oraz z programeme "brcc32.exe". W DOS-ie do katalog≤w
przechodzi siΩ poleceniem:
cd NazwaKatalogu
Je┐eli chcesz przej╢µ o katalog wy┐ej to stosujesz
polecenie:
cd..
A wiΩc je┐eli ju┐ jeste╢ w tym katalogu to wpisz
tak▒ liniΩ i wci╢nij ENTER:
brcc32.exe files.rc
"Files.rc" to nazwa Twojego zasobu. Je┐eli
wszystko p≤jdzie dobrze to obok pliku *.rc powiniene╢ ujrzeµ plik z
rozszerzeniem *.res.( w moim przypadku jest to plik o nazwie "files.RES".
). Gratulacje! W│a╢nie stworzy│e╢ zas≤b, kt≤ry zawiera Tw≤j
plik EXE. Jest on zapewne do╢µ du┐y ( w moim przypadku zajmuje 250
kB ).
Krok 2 - tworzenie instalatora.
Teraz musisz w Delphi zrobiµ instalatora. Postaw parΩ
komponent≤w, walnij jaki╢ napis. Ja zrobi│em to tak:
Tak wygl▒da m≤j formularz programu instaluj▒cego.
Krok 3 - wyci▒gniΩcie programu z EXEka.
Gdzie╢ w kodzie Twojego instalatora umie╢µ tak▒
liniΩ:
{$R FILES.RES}
"Files.res" to Twoja nazwa zasobu. Od tej
pory zasoby te s▒ w│▒czone do instalatora.
Pozosta│o jeszcze napisanie samej procedury, kt≤ra wyci▒gnie z
zasob≤w program i zapisze go gdzie╢ na dysku:
Wygl▒da ona tak:
var
Res : TResourceStream;
begin
Res:=TResourceStream.Create(hInstance,'PAD',RT_RCDATA);
Res.SaveToFile('Pad.exe');
Res.Free;
Pierwsza linia powoduje stworzenie zasobu i wyci▒gniΩcie
z niego Twojego programu, kolejna zapisuje go na dysku, a ostatnia
zwalnia pamiΩµ.
To wszystko!
Kod instalatora mo┐esz ╢ci▒gn▒µ tutaj:
Instalator.zip ( 155 kB )