|
FAQ -
Frequently Asked Questions,
czyli
Systematycznie Zadawane Pytania
Ostatnia
aktualizacja: 2003-02-04
Q1:
Czy istnieje możliwość dodania instalowanego programu do
grupy autostartu?
A1: Tak, aby tego dokonać należy umieścić w sekcji [Icons]
następujący wpis:
Name: {userstartup}\Nazwa_programu; Filename: {app}\Mój_program.exe.
***
Poniżej
znajduje się tłumaczenie oryginalnego FAQ:
Funkcjonalność
Problemy
Dodatkowe
zadania podczas instalacji
Jak
zainstalować...?
Kompatybilność
Różne
Funkcjonalność
Tłumaczenie komunikatów instalatora
Tłumaczenie
komunikatów instalatora na inny język (niż angielski) nie wymaga modyfikowania
kodu źródłowego programu. Po prostu wykonaj kopię pliku Default.isl (znajdującego
się w katalogu programu Inno Setup) i zacznij edycję tekstów zawartych
w tym plików. Proszę nie modyfikować bezpośrednio pliku Default.isl, gdyż
podczas instalacji nowszej wersji programu zostanie on nadpisany. Zobacz
temat "[Messages] Section" w pliku pomocy programu Inno Setup
aby zapoznać się kilkoma ważnymi informacjami.
Kiedy skończysz swoje tłumaczenie dodaj dyrektywę "MessagesFile"
do swojego skrypt w sekcji [Setup].
[Setup]
MessagesFile=compiler:Plik_Tłumaczenia.isl
Istnieje
wiele tłumaczeń na różne języki (zobacz
tu i do działu Download), a więc nie musisz
robić tego sam - możesz skorzystać z gotowych plików.
Czy
program wspiera MBCS (multi-byte character sets)?
Wraz z Inno Setup 2.0.6 pojawiło się całkowite wsparcie dla MBCS.
Program sprawdza teraz poprawność wszystkich nazw plików i stałych.
Wcześniejsze
wersje programu (przed 2.0.6) nie zawierają żadnego specjalnego wsparcia
dla MBCS.
Czy
Inno Setup będzie wykorzystywał mechanizm Windows Installer?
Jak na razie nie planuję wydania Inno Setup opartego na Windows Installer.
Wsparcie dla Windows Installer wymagało by praktycznie całkowitego przepisania
kodu programu - na co nie mam czasu ani ochoty.
Jak
zmienić ikonę stworzonego instalatora?
Aktualnie
nie jest to możliwe. Jakkolwiek zamierzam dodać taką możliwość w jednej
z następnych wersji. Prawdopodobnie taka opcja będzie dostępna tylko w
systemach Windows NT/2000, poniważ w systemach Windows 95/98 brak jest
funkcji UpdateResource, która automatyzuje proces zmiany zasobów w skompilowanych
plikach EXE.
Jak narazie istnieje kilka programów, np.: ReplaceIcon, Microangelo i
Resource Hacker, które umożliwiają podmianę standardowej ikony.
Czy
Inno Setup potrafi tworzyć warunkowe instalacje?
Tymczasowo nie jest to możliwe, ale będzie za pewien czas. Martijn
Laan pracuje nad tym w jego My Inno Setup Extensions.
Jak na razie
możliwa jest jedynie instalacja różnych plików w zależności od wersji
zainstalowanego systemu.
Czy
istnieje możliwość przeprowadzenia "instalacji z sieci"?
Nie, i jak na razie nie planuję dodania takiej możliwości.
Czy
można dokonać "cichej" instalacji bez używania parametrów
/silent lub /verysilent?
Nie, efekt dodania takiej możliwości mógłby się okazać bardzo
nieporządany. Jeśli chcesz ograniczyć interakcję z użytkownikiem do
minimum, powinieneś użyć dyrektywy Disable* w sekcji [Setup].
Czy
można odczytać domyślną ścieżkę instalacji programu z rejestru?
Tak. Użyj stałej {reg:...} w DefaultDirName. Na przykład:
[Setup]
DefaultDirName={reg:HKLM\Software\Mój Program,Sciezka|{pf}\Mój Program}
Zobacz
też do tematu "Constants" (Stałe) w pliku pomocy.
Problemy
Podczas
kompilacji pojawia się błąd "Mismatched or misplaced quotes on
parameter"
Ta informacja pojawia się zazwyczaj gdy nie zamkniesz cudzysłowu. Przeczytaj
temat "Parameters in Sections" w pliku pomocy aby uzyskać
więcej informacji.
Mój
program nie potrafi odnaleźć
swoich plików, kiedy jest uruchamiany ze skrótu
Twoja aplikacja prawdopodobnie nie określa ścieżki dostępu do
plików, kiedy próbuje je otworzyć, a więc oczekuje ich w obecnym katalogu.
Inno Setup domyślnie nie określa pola "Rozpocznij w" w tworzonych
skrótach, oznacza to, że Windows sam wybierze obecny katalog, który zazwyczaj
nie będzie zgodny z katalogiem twojej aplikacji. Aby naprawić ten błahy
problem należy dodać parametr "WorkingDir: {app}" do wpisu w
sekcji [Icons].
Jednak lepszym
rozwiązaniem było by gdyby twoje aplikacje nie oczekiwały, że zostaną
uruchomione ze szczególnego katalogu. Powinny one zawsze określać pełną
ścieżkę do otwieranych plików. W Delphi lub C++Builder można pobrać
pełną ścieżkę dostępu do pliku EXE twojego programu wywołując funkcję
ExtractFilePath(ParamStr(0)). Dla przykładu, jeśli chcesz odwołać się
do pliku "Plik.txt" powinieneś użyć: ExtractFilePath(ParamStr(0))
+ 'Plik.txt'.
Czemu
otrzymuję komunikat "The setup files are corrupted" podczas
próby instalacji
Komunikat
ten pojawia się tylko w przypadku gdy któryś z plików instalacyjnych
(np. setup.exe, setup.1) ma niewłaściwą wielkość lub sumę kontrolną
(CRC).
Może się
to często zdarzać jeśli rozpowszechniasz swój program za pośrednictwem
Internetu, z powodu niestabilnego połączenia.
Jeśli otrzymujesz
taki komunikat podczas instalacji z CD-ROMu lub dyskietki, może to oznaczać
że dany nośnik został uszkodzony lub posiadasz niesprawny napęd CD lub
stację dysków.
Instalator
wyświetla informację "Unable to register the DLL/OCX: DllRegisterServer
export not found" / "Nie można zarejestrować DLL/OCX: Eksport
DllRegisterServer nie został znaleziony"
Wiadomość
ta oznacza, że określiłeś flagę "regserver" w pliku, który
nie ma prawa być rejestrowany. Usuń tę flagę z danego wpisu w sekcji
[Files] a informacja ta zniknie.
Uruchamiam
plik wsadowy (.bat) w sekcji [Run], ale jego okno pozostaje na ekranie
nawet po jego zakończeniu. Jak je zamknąć?
Od Tima Rude'go:
Najprostszym sposobem na to, aby plik wsadowy zamykał się automatycznie
po zakończeniu, jest wyczyszczenie ekranu na samym końcu programu za pomocą
komendy CLS.
--- plik
wsadowy 1 ---
@echo
off
echo Witaj Świecie
echo Ten plik wsadowy nie zamknie się po zakończeniu
--- plik
wsadowy 2 ---
@echo
off
echo Witaj Świecie
echo Ten plik zamknie się po zakończeniu
cls
Po
deinstalacji, katalogi stworzone w procesie instalacji nadal pozostają
W przypadku Inno Setup w wersji poniżej 2.0.1, foldery
które mają zostać usunięte muszą zostać określone w sekcji [Dirs] lub
[UninstallDelete]. W nowszych wersjach programu, foldery wymienione jako
wpisy w sekcji [Files] będą automatycznie usunięte przez deinstalator,
o ile nie istniały przed procesem instalacji.
Zmieniłem
dyrektywę DefaultDirName w moim skrypcie i teraz gdy uruchamiam instalator
on chce instalować się w starym katalogu
To
nie jest błąd w programie, tylko funkcja. Przy starcie instalator szuka
w rejestrze czy ta sama aplikacja nie jest już zainstalowana i jeśli tak
jest wykorzystuje katalog poprzedniej instalacji i wyświetla go w oknie
wyboru katalogu zamiast tej podanej podczas tworzenia skryptu. Jeśli odinstalujesz
zainstalowaną wcześniej aplikację i uruchomisz instalator ponownie, wszystko
powinno ok. Jeśli chcesz wyłączyć tę funkcję ustaw dyrektywę UsePreviousAppDir
na "no".
Mam
dwa wpisy w sekcji [Icons] o takich samych nazwach, lecz tylko jeden z
nich jest instalowany.
Dwa
pliki nie mogą mieć tych samych nazw, dlatego też nie mogą istnieć skróty
o identycznych nazwach.
Instalator
nie czeka na zakończenie programów uruchomionych za pomocą wpisów do sekcji
[Run]
Po
pierwsze, sprawdź czy owe wpisy nie korzystają z flagi "nowait"
lub "waituntilidle". Te flagi powodują, że instalator nie będzie
czekał aż uruchomione procesy zakończą się.
Jeżeli nie
korzystarz z tych flag i ciągle wygląda na to, że instalator nie czeka
na ich zakończenie to dzieje się tak zapewne dlatego, że plik EXE, którego
uruchamiasz, wywołuje inny proces (inne procesy) i kończy swoje działanie
natychmiast. Powodując iż instalator myśli, że program się zakończył.
Prostym sposobem
aby to sprawdzić jest uruchomienie programu - "START /WAIT Nazwa
Programu.exe" z lini poleceń. Jeśli otrzymasz znak zachęty przed
zakończeniem programu, to znalazłeś przyczynę błędu.
Dodatkowe
zadania podczas instalacji
Tworzenie
skrótów internetowych
Najpierw
należy utworzyć plik o nazwie np. "mojastronawww.url" (ważne
jest tylko rozserzenie) i umieścić w nim następujący tekst:
[InternetShortcut]
URL=http://adres.mojej.strony/
A następnie
dodaj te linie w swoim skrypcie:
[Files]
Source: "mojastronawww.url"; DestDir: "{app}"
[Icons]
Name: "{group}\Odwiedź moją stronę w Internecie"; Filename:
"{app}\mojastronawww.url"
Tworzenie
skrótów na pasku Szybkie uruchamianie
Musisz
posiadać Inno Setup w wersji minimum 1.3.11, oto przykład:
[Icons]
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Mój
Program"; Filename: "{app}\MójProg.exe"
Ustawianie
katalogu roboczego dla skrótu
Skorzystaj
z parametru WorkingDir w sekcji [Icons].
Rejestrowanie
nowych typów plików
Po
pierwsze ustaw dyrektywę "ChangesAssociations" na "yes"
w sekcji [SETUP]. Następnie utwórz w sekcji [Registry] następujące wpisy:
[Registry]
Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: "";
ValueData: "MyProgramFile"; Flags: uninsdeletevalue
gdzie ".myp"
jest rejestrowanym rozszerzeniem. "MyProgramFile" jest wewnętrzną
nazwą dla typu pliku przechowywaną w rejestrze. Zadbaj o to, aby podana
przez ciebie nazwa była unikalna, w innym wypadku nadpiszesz dane innej
aplikacji.
Root: HKCR;
Subkey: "MyProgramFile"; ValueType: string; ValueName: "";
ValueData: "My Program File"; Flags: uninsdeletekey
"My
Program File" (powyżej) jest nazwą typu pliku pokazywaną w Explorerze.
Root: HKCR;
Subkey: "MyProgramFile\DefaultIcon"; ValueType: string; ValueName:
""; ValueData: "{app}\MYPROG.EXE,0"
"DefaultIcon"
jest kluczem rejestru, który określa nazwę pliku zawierającego ikonę dla
rejestrowanego rozszerzenia. ",0" określa pierwszą ikonę z pliku
MYPROG.EXE (",1" oznacza 2 ikonę w pliku i tak dalej).
Root: HKCR;
Subkey: "MyProgramFile\shell\open\command"; ValueType: string;
ValueName: ""; ValueData: """{app}\MYPROG.EXE""
""%1"""
"shell\open\command"
ten klucz rejestru określa program, który zostanie uruchomiony, kiedy
dany typ pliku zostanie podwójnie kliknięty. Otaczające cudzysłowy w poleceniu
są po to, aby długie nazwy plików działały poprawnie.
Modyfikacja
zmiennych środowiskowych
W systemach Windows NT/2000/XP zmienne środowiskowe przechowywane
są w rejestrze systemowym jako łańcuchy znaków, a więc można je modyfikować
korzystając z sekcji [Registry].
Zmienne "ogólno-systemowe" znajdują się w kluczu:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Zmienne dotyczące konkretnego użytkownika są umieszczone w kluczu:
HKEY_CURRENT_USER\Environment
Natomiast w systemach Windows 95/98/Me, musisz zmodyfikować plik AUTOEXEC.BAT
aby ustawić te zmienne. Inno Setup nie posiada żadnych funkcji przeznaczonych
do tego, dlatego należy napisać mały program, który tego dokona i uruchomić
go za pomocą sekcji [Run].
Ustawianie
opcji "Zamknij po zakończeniu" dla programów MS-DOS
Inno
Setup w wersji 1.3.15 i wyżej zawiera odpowiednie flagi"closeonexit"
i "dontcloseonexit" w sekcji [Icons].
Tworzenie
kopii zapasowych plików
Inno Setup nie posiada obecnie specyficznej funkcji, która by to robiła,
lecz możesz sam stworzyć kopię pliku zanim go zastąpisz korzystając z
sekcji [Files] jak w przykładzie:
Source: "{app}\MójProgram.exe";
DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist
Instalowanie
różnych plików w zależności od wersji "Okien"
Możesz tego dokonać za pomocą parametrów MinVersion i/lub OnlyBelowVersion
w poszczególnych wpisach. Zobacz temat "Common Parameters" w
dokumentacji programu aby zapoznać się ze szczegółami.
Poniżej masz prosty przykład jak zainstalować jeden plik tylko na platformach
NT (Windows NT/2000/XP) i drugi plik tylko na platformach 9x (Windows
95/98/Me):
[Files]
Source: "{app}\WinNT2000.exe"; DestDir: "{app}"; MinVersion:
0, 1
Source: "{app}\Win9598Me.exe"; DestDir: "{app}"; MinVersion:
1, 0
"0"
oznacza nie instaluj; "1" oznacza instaluj na dowolnej wersji
(tj. wersja 1.0 i późniejsze).
Uwaga: Powyższa
technika nie jest ograniczona do sekcji [Files]; Parametry MinVersion
i OnlyBelowVersion mogą być użyte w większości sekcji.
Przydzielanie
uprawnień do plików, katalogów i kluczy rejestru.
Jak na razie IS nie ma wbudowanego wsparcia do tego typu operacji
- ustawiania uprawnień, jednak możesz skorzystać z programu SetACL.exe.
Oto przykłady:
[Files]
Source: "SetACL.exe"; DestDir: "{tmp}"
[Run]
; Przydziela uprawnienia "Modyfikacji" dla katalogu {app}\data
dla "Każdego" użytkownika
Filename: "{tmp}\SetACL.exe"; Parameters: """{app}\data""
/dir /grant S-1-1-0 /change /sid"
; Przydziela uprawnienia do ustawinia wartości w kluczu HKEY_LOCAL_MACHINE\SOFTWARE\My
Company\My Program dla "Każdego" użytkownika
Filename: "{tmp}\SetACL.exe"; Parameters: """MACHINE\SOFTWARE\My
Company\My Program"" /registry /grant S-1-1-0 /set_val /sid"
Mój
instalator potrzebuje zrobić coś więcej, czego Inno Setup nie potrafi
zrobić.
Zobacz na stronie "How-To" artykuł Implementing Custom
Functionality. (Jeszcze nie przetłumaczony!)
Jak zainstalować...?
Pliki
OCX
Zalecany sposób instalacji plików OCX przedstawiony jest poniżej. (Uwaga:
Poniższy wpis powinien znaleźć się w jednej lini.)
Source: "ComCtl32.ocx"; DestDir: "{sys}"; CopyMode:
alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Pliki
systemowe Visual Basica
Z VB 3.0 i wersjami wcześniejszymi jest prosto - poprostu należy skopiować
odpowiedni plik VBRUN???.DLL do systemowego katalogu użytkownika i gotowe.
Jak zrobić to z VB 4.0, nie wiem. Jak zrobić to z VB 5.0 lub 6.0, zobacz
artykuł How-To
(ang).
Pliki
systemowe Visual C++ (np. MFC)
Zobacz artykuł
How-To (ang).
COMCTL32.DLL
Najlepiej jest skierować użytkowników twojego programu na stronę
Microsoftu aby pobrali odpowiednie uaktualnienie. Microsoft nie zezwala
na dystrybucję samego pliku COMCTL32.DLL (z ważnego powodu), więc nie
powinieneś umieszczać go w sekcji [Files].
BDE
(Borland Database Engine)
Zobacz artykuł
How-To (ang) - "Installing BDE for details on deploying the 32-bit
version of BDE using Inno Setup".
MDAC,
ADO, Jet, itp.
Zobacz artykuł
How-To (ang).
Uwaga:
Artykuły How-to's nie zostały jeszcze przetłumaczony, na końcu tej strony
znajduje się adres do orginalnego dokumentu po angielsku.
Kompatybilność
Kompatybilność
systemowa
Obecnie
wspierane platformy to: Windows 95, 98, Me, NT 3.51, NT 4.0, i 2000.
Ostatnio
wykorzystuje głównie (autor programu) system Windows 2000, więc zgodność
Inno Setup z tym systemem jest sprawą priorytetową.
Kiedy pojawia
się jakaś znacząca zmiana w kodzie programu, zazwyczaj jest on testowany
osobiście przez autora na wszystkich wspieranych systemach.
16-bitowa
wersja Inno Setup przestała być rozwijana od kiedy pojawiła się wersja
1.3. Mimo to, jeśli potrzebujesz 16-bitowego instalatora starsza wersja
1.2.x jest ciągle dostępna.
Zgodność
z rokiem 2000
Inno Setup jest w pełni zgodny z rokiem 2000 od wersji 1.09. Poprzednie
wersje Inno Setup są prawdopodobnie również odporne na problemem roku
2000, lecz nie wracałem do nich aby je przetestować.
Jedynym momentem,
kiedy instalator korzysta z dat, jest porównywanie plików (tylko jeżeli
używasz flagi "comparetimestamp"). 16-bitowa wersja programu
Inno Setup 1.11i i późniejsze obsługują poprawnie pliki z datą aż do roku
2107, a ograniczenie to nałóżone jest przez 16-bit Windows API (wersje
przed 1.11i obsługują daty do roku 2043). 32-bitowe wersje Inno Setup
nie mają takich ograniczeń od wersji 1.09.
Windows
NT/2000 a uprawnienia użytkownika
Typowa instalacja uruchomiona pod systemem Windows NT/2000 nie wymaga
przywilejów administratora ani "power user". Poza pewnymi wyjątkami
wymienionymi poniżej.
Rzeczy wymienione
poniżej wymagają przywilejów admina pod Windows NT oraz 2000:
- Korzystanie
z dyrektywy "AdminPrivilegesRequired=yes" w sekcji [Setup].
Jeśli dyrektywa ta ustawiona jest na "yes" to instalator wyświetli
informację o błędzie jeśli użytkownik nie posiada przywilejów administratora.
(Domyślne ustawienie - "no".)
- Korzystanie
z flagi "restartreplace" w sekcji [Files]. Ustawienie tej
flagi wymusza użycie funkcji MoveFileEx, która dokonuje zapisu do klucza
"HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Session Manager".
Zapisów do tego klucza może dokonywać tylko administrator.
- Zapisywanie
do klucza HKEY_USERS\.DEFAULT w sekcji [Registry]. Pozwolenie na zapis
do tego klucza ma tylko administrator.
Rzeczy wymienione
poniżej wymagają przywilejów admina albo "power user" w Windows
2000:
- Korzystanie
z flagi "regserver" w sekcji [Files]. W większości przypadków
rejestrowanie bibliotek DLL wymaga zapisu do HKEY_CLASSES_ROOT.
- Korzystanie
z flagi "sharedfile" w sekcji [Files]. Ta flaga wymusza na
Inno Setup utworzenie/zaaktualizowanie wartości w kluczu "HKEY_LOCAL_MACHINE\
SOFTWARE\ Microsoft\ Windows \CurrentVersion\ SharedDLLs". Zwyczajni
użytkownicy nie mają pozwolenia na zapis do tych kluczy.
- Korzystanie
z parametru FontInstall w sekcji [Files].
- Zapisywanie
do dowolnego z podkluczy gałęzi HKEY_LOCAL_MACHINE lub HKEY_CLASSES_ROOT
w sekcji [Registry]. Zwyczajni użytkownicy nie mają pozwolenia na zapis
do tych kluczy.
Sam program
Inno Setup nie potrzebuje dostępu do katalogu WINNT any do żadnych innych
kluczy rejestru oprócz wymienionych powyżej.
Jakie są
różnice w instalacji jeśli użytkownik nie ma przywilejów administaratora?
- Wpis w
rejestrze dla Dodaj/Usuń Programy tworzony jest pod gałęzią HKEY_CURRENT_USER
zamiast pod HKEY_LOCAL_MACHINE. Tym sposobem tylko użytkownik, który
instalował program, będzie widział go w Dodaj/Usuń Programy.
- Stała
"{group}"
zawsze odwołuje się do profilu aktualnego użytkownika, w przeciwieństwie
do profilu wszystkich użytkowników.
- Wszystkie
stałe "{common...}" są odpowiednikami dla stałych "{user...}".
- Program
może być deinstalowany przez użytkownika. (Kiedy program jest instalowany
przez admina tylko on może go odinstalować.)
Różne
Czy
są jakieś ograniczenia co do ilości plików (itp.) wchodzących w skład
instalacji?
Inno Setup nie nakłada ograniczeń na ilość plików, skrótów, wpisów
do rejestru, itp. jakie możesz dołączyć do instalacji. Jednakże, pamiętaj
iż instalator potrzebuje pamięci dla każdego wpisu w skrypcie. Na przykład,
mniej więcej 120 bajtów pamięci potrzeba dla każdego wpisu w sekcji [Files].
Całkowity rozmiar wszystkich plików wchodzących w skład instalacji obecnie
nie może przekroczyć 2 GB, ponieważ program nie we wszystkich miejscach
korzysta z 64-bitowych zmiennych. Jeżeli próbujesz użyć więcej niż 2 GB
to kontrola wolnego mejsca na dysku i pasek postępu nie będą działać poprawnie.
W przyszłości ograniczenie to zniknie.
Skąd
wzieła się nazwa programu "Inno Setup"?
Nazwa
programu jest skrótem od "Innovative Setup" (innowacyjny instalator).
(Więc jego wymowa brzmi IN-NO, nie EYE-NO[EJ-NO].) Taką nazwę przypisałem
programowi (autor) na samym początku i tak już zostało.
Czy
program jest naprawdę darmowy?
Tak,
program jest całkowicie darmowy, nawet do dystrybucji programów w celach
komercyjnych. (Istnieją aby pewne ograniczenia dotyczące modyfikacji i
redystrybucji kodu źródłowego programu; zobacz plik license.txt dołączony
do zbioru z kodem źródłowym, aby dowiedzieć się więcej.)
Jeśli chciałbyś
wynagrodzić autora programu Inno Setup odwiedź tę
stronę.
Dlaczego
powstał ten program?
Właśnie
pisałem aplikację, która występowała w dwóch wersjach 16-bitowej skompilowanej
w Delphi 1 i drugiej 32-bitowej skompilowanej w Delphi 2, i wkrótce uświadomiłem
sobie, że nie mam żadnego porządnego setupu do tych programów. Delphi
1 nie posiada żadnego instalatora programów, natomiast Delphi 2 wyposażona
była jedynie w nieporęczny InstallShield Express, ale on współpracował
jedynie z 32-bitowymi "okienkami". Kupowanie instalatora tylko
dla tego jednego programu wydawało się być absurdem. Przeszukałem więc
Internet aby znaleźć jakiś darmowy instalator, niestety te które wyszukałem
nie spotkały się z moimi potrzebami lub miały ubogi interfejs. Tak się
stało, że miałem napisany instalator dla DOS-a, więc miałem pewne doświadczenie
w tej dziedzinie. Postanowiłem zatem spróbować napisać prosty instalator
dla systemu Windows samemu, zanim zdecyduję się na zakup jednego z komercyjnych
produktów.
Dlaczego
program jest darmowy?
Kiedy
napisałem dosyć funkcjonalny setup uświadomiłem sobie, że wiele innych
ludzi ma identyczny problem, jaki miałem ja. Na początku, program nie
oferował zbyt wiele. Tym samym nie mógł konkurować z innymi sharwerowymi
czy komercyjnymi instalatorami dostępnymi w tym czasie, więc zdecydowałem
się udostępnić go innym za darmo. Nie było sensu abym trzymał go tylko
dla siebie, więc napisałem dokumentację do programu oraz stworzyłem malutką
stronę www. Nie ukryłem niczego specjalnego w kodzie źródłowym, więc dołączyłem
go do gotowego programu. I tak właśnie narodził się program Inno Setup.
Co
dzieje się gdy użytkownik przerywa instalację?
Kiedy
użytkownik kliknie przycisk Anuluj, instalator próbuje cofnąc zmiany,
których dokonał, w podobny sposób jak program deinstalowujący. W ten sposób
częściowo zainstalowana aplikacja nie będzie zaśmiecała Twojego komputera.
***
Inne
pomocne dokumenty:
Orginalne
FAQ (po angielsku)
How-To's
(również po angielsku)
|