Tworzenie instalacji

Witam!

Poszukuje programu którym można by stworzyć instalator coś w styli Install Shield.

Jeżeli darmowe, to np.:

http://www.idg.pl/ftp/pc_5869/Inno%20Se … 0Beta.html

http://www.gentee.com/setupgen/

http://klub.chip.pl/marekn/download.htm

Własny instalator 


Napisałeś(aś) dobry program i chcesz zrobić do niego własny instalator? To nic trudnego. W tym artykule dowiesz się jak zrobić samodzielnie instalator do swojego programu, przy pomocy Delphi. 


Spis treści:

1.Dodawanie plików do zasobu

2.Tworzenie instalatora

3.Zapisywanie plików na dysku

4.Obsługa MS-DOS.

5.Kilka dodatkowych informacji



1.Dodawanie plików do zasobów

Najpierw musisz dodać do programu(instalatora) wszystkie potrzebne pliki. Żeby dodać zasoby, musisz przygotować odpowiedni plik *.res. Najpierw utwórz jakiś folder i skopiuj do niego wszystkie pliki, które będą dołączone do instalatora. Teraz utwórz jakiś plik tekstowy i skopiuj go do tego folderu. Otwórz go w dowolnym edytorze tekstu(Np. Notatniku). W Nim wpiszesz wszystkie pliki, które będą dołączony do twojej instalki. Aby dodać jakiś plik wpisz: Nazwa RCDATA "plik" - np. 

Program RCDATA "program.exe"

Możesz nazywać pliki dowolnie. Jeśli chcesz dodać więcej plików, to wypisuj je po kolei. Np. 

Program RCDATA "program.exe"

Bass RCDATA "bass.dll"

Info RCDATA "info.txt"

Zapisz plik.

Teraz musimy skonwertować plik *.txt na plik zasobu. Skopiuj plik brcc32.exe z katalogu Delphi\Bin do twojego folderu z zasobami. To jest program DOSowy. Jeśli nie potrafisz obsługiwać trybu MS-Dos, to przeczytaj 4.Obsługa DOSa. Teraz uruchom tryb MS-Dos, wejdź do katalogu z twoim zasobem i wpisz brcc32.exe pliki.txt (lub jeśli nazwałeś plik *.txt inaczej, to podaj po brcc32.exe jego nazwę). Wciśnij enter. Jeśli wszystko zrobiłeś dobrze, to w folderze z zasobami, powinieneś znaleźć plik pliki.res . To jest plik z zasobami, który możesz użyć w delphi. 


2.Tworzenie instalatora

Skoro masz już plik z zasobami, to możesz zrobić instalator. Napisz w delphi jakiś prosty program, w którym będzie można podać katalog, w jakim zostanie zapisany(zainstalowany) program i potrzebne mu pliki. Zapisz go w folderze z plikiem *.res. Teraz w kodzie twojego instalatora, pod uses wpisz 

{$R pliki.RES}

Po skompilowaniu programu pliki zostaną dodane do zasobów. 


3.Zapisywanie plików na dysku

Jedyne co musisz jeszcze zrobić, to dopisać procedury, które skopiują pliki z zasobów, na dysk. Aby to zrobić, musisz w procedurze zadeklarować zmienną TResourceStream. Oto przykład procedury, która zapisze plik z zasobów na dysku. 

procedure Instaluj;

var

Resource : TResourceStream;

begin

ResResource:=TResourceStream.Create(hInstance,'Program',RT_RCDATA); {Najpierw hInstance, potem nazwa pliku w zasobie i RT_RCDATA}

ResResource.SaveToFile(Edit1.Text+'\Program.exe'); {W edit1 jest podany katalog, w którym zostanie zainstalowany program }

ResResource.Free;

end; 



4.Obsługa MS-DOS.

W ms-dos poruszamy się, za pomocą odpowiednich komend.

Aby zmienić aktywny katalog piszemy "cd nazwa katalogu".

Aby przejść do wyższego katalogu (cofnąć się) piszemy "cd.." .

Aby wyświetlić listę plików i folderów piszemy "dir"

Aby zmienić dysk piszemy jego nazwę i ":". Np. "a:"

Aby wyjść z trybu MS-Dos piszemy "exit".

Uwaga! W ms-dos nie zawsze folder ma taką nazwę, jaką mu nadaliśmy. Aby sprawdzić listę katalogów i plików napisz "dir". Dla przykładu: Program files = Progra~1 


5.Kilka dodatkowych informacji

a) Wiele programów, przy instalacji, dodaje informacje do rejestru. Aby dodać coś do rejestru należy dodać do uses Registry i zadeklarować zmienną TRegistry.

b) Jeśli użyłeś w programie jakichś plików *.dll, to warto dodać je do instalatora, ponieważ nie wiadomo, czy ktoś kto zainstaluje twój program ma te pliki. Muszą się one znajdować w katalogu z programem, lub w Windows\System.

c) Twój instalator nie powinien potrzebować dodatkowych plików. To powinien być tylko plik *.exe. 


Dziękuję, za przeczytanie artykułu. Ghost

http://www.bibisoft.host.sk/wlasnyinstalator.php

http://www.codeguru.pl/Default.aspx?Pag … &pubid=218

LOL dzięki!

InnoSetup wydaje się być dobrym rozwiązaniem i darmowym więc z niego skorzystam