[ Sekalaiset ] [ Sivukartta ]

Installerin ohjelmointi - Osa 2
Ilkka Lehtoranta <iti@solutions.fi>

Ensimmäisessä osassa käsittelimme hiukan yleisesti Installerin lausekkeita. Tässä toisessa osassa käymme vielä läpi joitakin herkullisia lisäominaisuuksia, joita Installer tarjoaa.

Joskus omassa asennusohjelmassa voi tulla tarvetta käsitellä ikoneita, esimerkiksi asettaa tooltype. Tähän tarkoitukseen löytyy 'tooltype'-lauseke:

(tooltype
(prompt "Käsitellään T-hakemiston ikonia")
(help "Ei apuja")
(dest "T:/t")
(noposition)
(settooltype "VUOSI" "2000")
(confirm)
)

Kohdeparametriksi annetaan käsiteltävän ikonin nimi ilman info-päätettä, eli siis 'T:/t'. Parametri 'noposition' aiheuttaa ikonin uudelleensijoituksen, jolloin ikonilla ei ole enää mitään määrättyä paikkaa. Kun ikkuna, jossa ikoni sijaitsee, avataan seuraavan kerran, Workbench sijoittaa ikonin niin kuin parhaaksi katsoo. 'settooltype' taas on se useimmin käytetty ominaisuus. Sen ensimmäinen parametri määrää tooltypen nimen ja jälkimmäinen sen arvon. Näin ollen ikoniin ilmestyisi tooltype 'VUOSI=2000'. Tooltypen saa poistettua laittamalla pelkästään tooltypen nimen ilman parametriä.

'Tooltype'-lauseke tunnistaa myös parametrit 'setstack' ja 'setdefaulttool', joista ensimmäinen asettaa pinon ja jälkimmäinen ohjelman, joka käynnistetään automaattisesti, kun ikonia kaksoisklikataan.

AmigaOS 3.5 tarjoaa joitakin uusia ominaisuuksia, joita voit hyödyntää myös Installerissa. Yksi pitkään kaivattu ominaisuus on mahdollisuus avata hakemistoikkunoita suoraan ohjelmasta käsin. Myös Installer osaa hyödyntää tätä ominaisuutta.

'openwbobject' avaa halutun kohteen työpöydällä, aivan kuten käyttäjä olisi kaksoisklikannut sitä. 'closewbobject' puolestaan sulkee sen samaan tapaan. Parametriksi käy kohteen nimi ilman info-päätettä, ja kohdeikoni voi olla minkä tyyppinen tahansa. Tietenkään tool- tai project-tyyppistä ikonia ei voi sulkea, mutta minkä tahansa kohteen voi kuitenkin avata, oli sillä ikonia tai ei. Hienosäätöön löytyy 'showwbobject'-lauseke, joka tarvittaessa vierittää halutun ikonin näkyviin.

Uusi Installer tarjoaa myös multimediaominaisuuksia. 'showmedia'-lausekkeella voi esittää erityyppisiä tiedostoja, edellyttäen kuitenkin, että vaadittu datatyyppi on asennettu. Lauseke tuntee kasan parametrejä, mutta sen käyttö on kuitenkin kohtalaisen helppoa.

Lausekkeen ensimmäinen parametri on nimi, joka kohteelle annetaan. Se ei siis ole esitettävän tiedoston nimi. Sen käyttö voi aluksi tuntua oudolta, mutta sitä tarvitaan myöhemmin 'setmedia'-lausekkeessa, jotta tiedetään, mille medialle komento annetaan. Vasta seuraava parametri on varsinaisen esitettävän tiedoston nimi. Loput parametrit ovat sen verran mutkikkaita, ettei niitä kannata tässä sen tarkemmin esitellä.

'setmedia'-lausekkeella voidaan antaa komentoja medialle, tyypillisesti aloittaa animaatio tai soittaa ladattu äänitiedosto. Alla on esimerkki, kuinka vaikkapa asennuksen lopuksi avataan hakemisto, johon ohjelma on asennettu ja soitetaan äänimerkki:

(if (> @installer-version 2883583)
(
(showmedia 'media' "Misc/Sproing.snd" 'center' 'none' 0)
(openwbobject @default-dest)
(setmedia media 'play')
)
)

Muista, että Installerin vanhemmat versiot eivät tunnista uusia lausekkeita, vaan antavat virheilmoituksen. Tällöin asennusskriptin suoritus hyytyy kalkkiviivoilla, ja käyttäjälle jää epävarma olo asennuksen onnistumisesta. Sitä varten täytyy varmistaa, ettei lausekkeita yritetä suorittaa Installerilla, joka ei niitä pysty suorittamaan. Kannattaa myös huomata, ettei OS-versiota tarvitse erikseen testata eli 'openwbobject' sujuu ongelmitta myös vanhemmilla OS-versioilla, joskaan haluttu hakemistokaan ei silloin avaudu.

Sama koskee myös multimediaominaisuuksia; jos tarvittavaa datatyyppiä ei ole asennettu tai käyttöjärjestelmä on niin vanha ettei se niitä edes tunne, niin Installer jatkaa suoritusta ohittamalla kyseiset lausekkeet.

[ Sekalaiset ] [ Sivukartta ]