Strona g│≤wna

 

Pisanie instalator≤w

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 )