Tarkvara installimine

**Tarkvara installimine** (sh ka ohjurite, lisandprogrammide installimine) (ebatäpselt ka **paigaldamine**) on protsess, mille käigus arvutiprogramm pannakse kasutaja arvutisse nii, et seda oleks võimalik hiljem käivitada.

Installitakse erilise programmiga Package management system, mis esineb vastavas operatsioonisüsteemis (näiteks RedHat Package Manager ja APT Linuxis või Windows Installer Microsoft Windowsis) või käib installer vastava tarkvara koosseisu. GNU OS-ides on väga levinud GNU toolchaini süsteem ja selle analoogid, et kompileerida ja käivitada tarkvara vahetult enne installimist.

## Ülevaade
Suurem osa programme toimetatakse müügile või levitatakse pakitult (vt *[[Arhiveerimine]]*) – pakkfailina. Normaalse töö jaoks on vaja pakkfail(id) lahti pakkida ning vajalikud andmed õigesti arvutisse paigutada, arvestades arvutite iseärasusi ja kasutajasätete erinevusi. Installimise käigus täidetakse mitmesugused testid, millega kontrollitakse vastavust esitatud nõuetele ning arvuti konfigureerub (sätestub) selliste failide ja andmete hoidmiseks, mida on vaja programmi korrektseks tööks. Reeglipäraselt sisaldab install viiteid kõigile programmi jaoks vajaminevatele failidele, mis asuvad vastavates kohtades failisüsteemis, aga ka modifikatsiooni ja konfiguratsioonifailide loomet. Pakettide haldajad kontrollivad sõltuvust, kontrollides vastavalt kas osa, mis läheb vaja programmi töö jaoks, on süsteemis juba olemas ning õnnestunud installatsiooni korral registreerides uue paketi saadavate seas. Kuna selline protsess on väga erinev iga programmi ja arvuti jaoks, siis paljud programmid (ka operatsioonisüsteemid) lähevad müügile koos universaalse või spetsiaalse installeriga (*installer*) – programmiga, mis automatiseerib suurema osa tööst, mis tehakse programmi edukaks installimiseks. Osa programme on kirjutatud sellisel kujul, et installuvad arvutisse kõigest failide kopeerimise teel vastavasse kohta, mille juures installatsiooni kui sellist ei toimu. Sellised programmid ei vaja installimist. Selline kuju on eriti levinud Mac OS X, DOS ja Microsoft Windowsile kirjutatud programmide seas. Leidub ka operatsioonisüsteeme, mis ei nõua eelnevat installimist ning tänu sellele on neid võimalik käitada otse andmekandjalt (CD või DVD), mõjutamata teisi operatsioonisüsteeme, mis on varem kasutaja arvutisse installitud. Selliste operatsioonisüsteemide heaks näiteks on Knoppix või Mac OS 1-9. Samasugune termin on kasutusel ka lisandprogrammide, draiverite ja programmifailide juures, mis iseenesest ei ole programmid. Tavaliste toimingute käigus, mis tehakse vastava tarkvara installimiseks, luuakse või muudetakse:

* koos kasutatavaid ja mitte koos kasutatavaid programmifaile 
* kaustu (*Directories*) 
* konfiguratsioonifailide salvestisi, mis on kasutatud ühe programmi poolt või koos. 
* keskkonnamuutujaid (*environment variables*)

## Installimisvõimalused
* Käsitsi install – paigaldus toimub ilma installerita või arvukate kasutaja poolt käsitsi tehtud toimingutega. 
* "Vaikne" install – paigaldamine, mille käigus kasutajale ei näidata aknaid ega teateid. "Vaikne" install ei ole automaatinstalli sünonüüm, kuigi on tihti kasutatud just selles tähenduses.
* Automaatinstall – paigaldamine, mis toimub ilma kasutaja segamiseta, välja arvatud muidugi selle käivitamise protsess. Installimise protsess nõuab vahel koostööd kasutajaga, kes juhib seda protsessi, tehes järgmisi valikuid: võttes vastu kasutajatingimusi, parameetrite ning sätete etteandmisel, paroolide sisestamisel ja nii edasi. Graafilistes keskkondades kasutatakse ka installereid (nt Install Manager), mis võimaldavad paigaldamist vaikesätete abil, aga ka need kasutavad tavaliselt käsurea parameetreid, mis võimaldavad teha täiesti automatiseeritud paigaldamist.
* Iseseisev install – paigaldamine, mis ei vaja algset protsessi käivitamist. Näiteks Vodafone Mobile Connect USB Modem, mis installub arvuti USB-pordilt sellega ühendamisel, ilma et oleks vaja käsitsi midagi käivitada. 
* Kaudne install – paigaldamine, mis tehakse ilma kasutaja arvuti külge kinnitatud kuvarit kasutamata (sh juhud, mil arvutil täiesti puudub videoväljund). See võib olla kontrollitud installimine teisest arvutist, mis on ühendatud kohtvõrku või mõne muu kaabli abil. Automaatne ja kaudne installimine on tavalised toimingud, mida teevad süsteemiadministraatorid. 
* "Puhas" install – paigaldamine, mida tehakse vastavate faktorite puudumisel, mis võivad muutuda erinevate programmide juures. Vastavalt erinevate faktorite rohkuse tõttu, mis võivad kuidagi mõjutada programmi edukat paigaldamist, on selline tüüpiline installimine üpriski raske. Selle tõttu failid, mis võisid jääda pärast eelmist installimist ning operatsioonisüsteemi ebastabiilsus võivad viia programmi ebakorrektse taaspaigaldamise ja mitte töötamiseni. 
* Vahetu install – programmi paigaldamine, mida tehakse selle koopiast kõvakettal (nii nimetatud *flat copy*), aga mitte originaalselt andmekandjalt (tavaliselt CD- või DVD-ketas). See on kasulik olukorras, kus sihtarvuti ei saa hakkama optilistes seadmetes andmekandjate lugemisega, olles hõivatud ülesannete lahendamisega, mis koormavad protsessorit umbes sama palju kui näiteks programmide installimine.

## Installiprogramm
Installiprogramm ehk installer (inglise keeles *installer*) on programm, mis paigaldab tarkvara arvutisse. Mõni installer on spetsiaalselt tehtud selleks, et installida selles sisaldavaid faile, mõni on aga universaalne ja töötavad lugedes tarkvarakomplekti sisu, mis neil tuleb installida. Erinevused pakettide juhtiva süsteemi ja installeri vahel on järgmised:

## Levinumad installiprogrammid

### Windowsi tootepere
Kõige populaarsem formaat Windows NT tootepere jaoks on installipakett MSI, mis paigaldub Windows Installeri abil. Firmad, mis toodavad vahendeid installerite valmistamiseks: InstallShield (InstallShield Wizard), Macrovision (InstallAnywhere), Wise solutions, Inc., SetupBuilder. Suurem osa nendest võivad toota peale MSI pakettide ka enda omi. Tasuta alternatiivid on seejuures NSIS, Clickteam Install Creator, Inno Setup, Install Simple, aga ka instrumentaalsed vahendid Microsoftilt (WiX).

### Unixi tootepere
Suurem osa operatsioonisüsteemide distributsioone GNU, Linux ja BSD baasil omab sisseehitatud pakette juhtivat süsteemi, mille abil võib installida nii hädavajalikke operatsioonisüsteemikomponente kui ka välist tarkvara, isegi kui see sisaldab installerit, mis muidu ei peaks arvestama sellise juhuga.

### Mac OS-i tootepere
Ka Mac OS X kasutab pakette juhtivat süsteemi. Osa kommertsrakendusi Mac OS X-i jaoks kasutab eraldi installerit, näiteks Installer VISE-i või Stuffit InstallerMakerit. Rakendused, mis ei vaja süsteemi lisakomponentide installimist, võivad olla kergelt paigaldatava arvutisse lihtsalt kopeerimise teel, tõstes üle rakenduse failid vajalikku kohta kõvaketal. Mac OS X sisaldab ka eraldiseisvat rakendust programmide uuendamiseks Software Update (mis on tuntud ka kestkäsu softwareupdate'i all), aga see toetab ainult Apple'i poolt toodetut tarkvara.

### Installerid ja arhivaatorid
Mõningad arhivaatorid võimaldavad luua installereid. Mõningad operatsioonilised keskkonnad – näiteks Windows NT (vaikimisi) ja Xfce 4 (kasutaja soovil), sisaldavad kindla programmi automaatse käivitamise funktsiooni, mis asub andmekandjal, ning käivitub, kui kasutaja sisestab selle lugemisseadmesse.

## Kuidas tarkvaraprogrammi installida
Tavaliselt sõltub tarkvara installimine sellest, missugusesse operatsioonisüsteemi see paigaldatakse. Üldiselt, kui ei teki mingeid veateateid, näeb installimine välja järgmiselt.

### Alustuseks
*Tee kindlaks, et su arvuti vastab kindlatele normidele, mis on programmi, mängu või mõne muu komponendi nõuetesse tootja poolt kirja pandud.
*Programmi juhendid või readme fail, mis asub installimissätetega samas kaustas, tavaliselt sisaldab kindlaid instruktsioone, kuidas programm installida.
*Pärast installimist või siis installimise käigus võib juhtuda nii, et programmil on vaja installida teisi programme, faile või komponente, enne kui programmi saab kasutada. Sel juhul programm tavaliselt teavitab teid, et mis programmi on veel vaja paigaldada andes valiku, kas te paigaldate selle või mitte või siis on ka võimalus, et peate iseseisvalt eraldi installiga selle arvutisse paigaldama, enne kui programmi saab täies mahus kasutada.
*Kui te paigaldate arvutisse programmi, mängu või mõne muu komponendi, on alati hea idee eelnevalt sulgeda või siis blokeerida kõik üleliigsed programmid, mis on taustas aktiivsed.
*Pärast programmi installimist, kui installiprogramm nõuab restarti, siis on vaja see ka teha.

### Microsoft Windowsi kasutajad
Paljud tarkvaralised programmid, mängud ja muud komponendid omavad AutoPlay võimalust, mis automaatselt käivitab setup akna vastava programmi jaoks, mil CD sisestatakse arvutisse. Kui programm, mäng või muu komponent võimaldab sellist funktsiooni, siis viiakse installimine lõpuni vastavas aknas, mis tekkis ketta sisestamisel.
Kui installitakse programm, mäng või muu komponent, mis ei oma eelnevalt kirjeldatud võimalust, või installitakse flopikettalt, siis näeb installimise protsess välja umbes nii:
#Avatakse kaust Minu arvuti.
#Selles kaustas otsitakse draive, mis sisaldab installitavaid faile. Näiteks kui failid asuvad flopikettal, avatakse **A:** draiv. Kui nad on kettal siis avatakse **D:** või siis muu tähe draiv, mis vastab kindlale kettaseadmele, kus asub CD või DVD koos failidega.
#Nende failide seas otsida setup või installimise fail. Topelt-klikkides seda peaks avanema programmi, mängu või muu komponendi installatsioon. Kui on näha mitu installerifaili, on vaja otsida rakendusefail, mis käivitab kõik korraga, või topeltklõpsata kõiki setup- või installerifaile, kuni leitakse fail, mis käivitab installatsiooni. Enamasti ikoon, mis on seotud installitavate failidega, omab samasugust nime.
Alternatiivne meetod installatsiooni käivitamiseks Microsoft Windowsis on järgmine:
#Klõpsata Start-menüüd ja valida käsk Run.
#Runi aknas sisestada **x:\setup** või **x:\install**, kus x on vastava draivi täht, millelt installimist käivitada soovitakse. Näiteks kui installitavad failid asuvad flopikettal, oleks vaja väljale Run sisestada kas a:\setup või siis a:\install.

### MS-DOS-i kasutajad
Kasutajad, kes installivad programmi Microsoft DOS-is, peavad omama mingisugust arusaama MS-DOS-i käskudest. Üldises mõttes käib see nii:
#Enne installimist MS-DOS-i, peab vahetama drive või kataloogi nendele, mis sisaldavad installitavaid faile. Kui paigaldatakse programmi CD-lt või kettalt, siis vahetada vastavalt sellele drive-ile. Kui Installitavad failid asuvad erinevates kataloogides, kasutatakse dir käsku, et näidata, mida kataloog sisaldab ning cd käsku, et minna vajalikku kataloogi vastavas kaustas.
#Olles kaustas, mis sisaldab installifaile, käitatakse programme setupi jaoks. Enamasti sisestatakse lihtsalt *setup* või *install* käsureal installimise alustamiseks. Kui tekib mingisugune viga nagu *bad command* või vigase failinime teade, kirjutatakse vastavalt **dir ** või **dir ** või **dir **. Need käsud näitavad kõiki käitatavaid faile, kui mõni fail on väljastatud, siis käitatakse seda, et algaks programmi install või setup. Kui käsud ei väljasta midagi, on võimalus, et ollakse vales kataloogis.

### FreeBSD kasutajad
#Laaditakse alla tarkvara, mis on kas lähtekoodi formaadis või binaarsel kujul.
#Tarkvara pakitakse algsest formaadist lahti (tüüpiliselt pakitud compress, gzip või bzip2-ga)
#Leitakse dokumentatsioon (kas *INSTALL* või *README* fail või mõned muud failid doc/ alamkataloogis), kus on kirjeldatud, kuidas tarkvara paigaldada.
#Kui tarkvara oli source'i vormingus, siis kompileeritakse. See võib lisaks nõuda Makefile'i töötlemist, configure skripti käitamist ja muud tööd.
#Testitakse ja installitakse.

Kui installitakse tarkvarapakette, mis polnud algselt porditud FreeBSD-le, võib tekkida olukord, kui on vaja muuta programmi lähtekoodi, et see töötaks korralikult.

BSD-l on kaks võimalikku installimistehnoloogiat, millest mõlemal on oma plussid ja mille kasutamine sõltub kasutaja valikust:

#### Package
*Tihendatud package tarball on tavaliselt väiksem kui tihendatud tarball, mis sisaldab rakenduse lähtekoodi.
*Package ei vaja eelnevat kompileerimist. Selliste suuremate rakenduste jaoks nagu Mozilla Firefox, KDE või GNOME on see üpris tähtis, eriti kui arvuti on aeglane.
*Package tehnoloogia ei vaja erilist protsessi mõistmist, kuidas tarkvara FreeBSD-s kompileeritakse.

#### Pesad
*Kompileerimise võimalusi saab muuta, genereerides koodi, mis töötab kindlates keskkondades, näiteks kas Pentium 4-l või Athloni protsessoril.
*Osa rakendusi omavad kompileerimisaja valikuvõimalust, mis kirjeldab, mida nad saavad või ei saa teha. Näiteks Apache'i võib sätestada paljude sisevõimalustega. Ei ole vaja kasutada tavasätteid, vaid saab määrata enda omi.
*Osa litsentse keelab binaarkoodi levitamist, mistõttu peavad olema levitatud lähtekoodina.
*Osa inimesi ei usalda kahendkoodis olevaid rakendusi, sest ei ole võimalust koodi läbi lugeda ja leida sealt veab, juhul kui tekib vajadus.
*Kohalike paikade (*patch*) olemasolul on vaja lähtekoodi, et need rakendada.

### Linuxi kasutajad

#### Käsurea protsess
*Kompileeritakse ja installitakse tarkvara lähtefailist (*source*)
*Installitakse RPM-id kasutades Redhat Package Manageri
*Installitakse kasutades Debian's apt-geti
*Installitakse alrauni asju
*Installitakse fedoraga / yum
*Installitakse slackware pakette
*Tarkvara paigaldamine kasutades Gentoo EMerge'i
*Binaarfailide paigaldamine (.BIN/.SH)
*Installitakse package-faile (AutoPackage)

#### Graafiline (GUI) protsess
*Kasutades Synaptic (Fedora, Ubuntu)
*Kasutades YaST2 (SuSE, openSuSE)

### Registreerimine ja aktiveerimine
Mõningate arvutiprogrammide ja programmipakettide kasutamiseks (eriti nende, mille kasutamise eest tuleb maksta) on vajalik tarkvara eelnev aktiveerimine ning vahel ka kasutajaks registreerumine. Sageli on seda võimalik teha programmi arvutisse paigaldamise käigus. Sel juhul võib installiprogramm eraldi aknas küsida toote aktiveerimiskoodi või mingeid muid toote õigsust tõendavaid andmeid. Aktiveerimisprotsess kaitseb nii kasutajat, tootjat, kui tarkvara arendajaid kindlustades arvutisse paigaldatud programmide õigsuse ja vastavuse kasutajaga sõlmitud või sõlmitavale litsentsilepingule. Aktiveerimine piirab programmide illegaalset kasutamist võimaldades programmi aktiveerimist üksnes etteantud arvul arvutites vastavalt litsentsilepingule (Software License Agreement).

Aktiveerimine toimub tavaliselt automaatselt paigaldusprotsessi käigus või esmakäivitamisel Interneti teel. Mõnedel juhtudel (nt operatsioonisüsteemi Windows XP puhul) on aktiveerimine Interneti-ühenduse puudumisel võimalik ka telefoni teel. Paljud programmid võimaldavad aktiveerimist etteantud perioodi (enamasti kuni 30 päeva) jooksul. Vastava ajalise perioodi möödudes töötab programm edasi üksnes aktiveerituna.

Mõne programmi kasutamiseks on vaja registreeruda selle kasutajaks. Üldjuhul tekib see võimalus programmi esmakäivitamisel. Registreerimine aitab kasutajal vältida tema kasutuses oleva tarkvara volitamata kasutamist teiste isikute poolt ja võimaldab edaspidi saada uuendusi, reklaami ja eripakkumisi tarkvaralitsentsi müüjalt või tootearendajalt.

## Viited

## Lisalugemist
* Programmide nimekiri koos võtmetega nende aktiveerimiseks
* ''The Application Deployment Information Center''
* Wiki for unattended windows installation scripts