Eclipse-asennusohjelman kirjoitus

Viimeksi muokattu 18.6.2004 klo 15.20

Eclipse-pohjaiset tuotteet täytyy asentaa oikein peruskäyttäjän tietokoneeseen. Erityisten pakkaustyökalujen (kuten InstallShield- ja RPM-ohjelmien) avulla usein kootaan suoritettavia asennusohjelmia, jotka automatisoivat asennusta, päivitystä ja asennuksen poistoa. Seuraavassa kuvataan, miten kirjoitetaan asennusohjelma Eclipse-pohjaista tuotetta ja Eclipse-pohjaisten tuotteiden erikseen asennettavia laajennuksia varten.

Tässä oletetaan, että tuotekehitysryhmä tuottaa käyttöön perusainekset, joita lopulta käytetään peruskäyttäjien tietokoneissa pakattuna suoritettavaksi asennusohjelmaksi. Suoritettavien asennusohjelmien luonti perustuu komentosarjoihin, samoin kuin asennusajankohdan toiminnot, joita tarvitaan peruskäyttäjän kanssa tapahtuvaan vuorovaikutukseen ja tiedostojen sijoittamiseen käyttäjän tietokoneeseen. Seuraavassa kuvataan yksityiskohtaisesti, mitä asennusohjelmien täytyy tehdä ja miten niiden tulee toimia. 

Seuraava kuvaus on tarkoitettu ohjeeksi henkilölle, joka vastaa asennusohjelmien kirjoittamisesta Eclipse-pohjaisia tuotteita varten. On kaksi hyvää syytä, miksi kaikkien asennusohjelmien kirjoittajien on suositeltavaa toimia tässä annettavien ohjeiden mukaan:

Tuotteen asennusohjelman luontikomentosarja

Tuotteen asennusohjelman tulee olla itsenäinen kokonaisuus. Se pitää pystyä jakamaan CD-levyllä ja asentamaan mihin tahansa koneeseen, jossa on sopiva käyttöjärjestelmä.

Eclipse edellyttää, että Java-koodin ajamiseen käytetään Java2 Java Runtime Environment (JRE) -ympäristöä. JRE-ympäristöt ovat lisensoituja ohjelmistoja, joita voi hankkia Java-toimittajilta. Kun yrityksellä on lisenssi JRE-toimittajalta hankitun JRE-ympäristön edelleenjakamiseen, se voi sisällyttää JRE-ympäristön tuotteeseensa ja asentaa sen peruskäyttäjän tietokoneeseen samanaikaisesti tuotteen kanssa. Toinen vaihtoehto on edellyttää, että JRE-ympäristö on asennettu valmiiksi peruskäyttäjän tietokoneeseen ja että se liitetään tuotteeseen tuotteen asennuksen aikana. Olipa tapa kumpi tahansa, Eclipse-pohjainen tuote edellyttää sopivaa JRE-ympäristöä, ja tuotteen asennusohjelman on joko asennettava JRE-ympäristö tai paikannettava valmiiksi asennettu JRE-ympäristö ja muodostettava linkki siihen. 

Oletetaan, että JRE-ympäristö on tarkoitus asentaa tuotteen kanssa. JRE-ympäristön sisältävä hakemisto on yksi asennusohjelman luontikomentosarjalle annettava syöte. Merkitse tämä hakemisto merkinnällä <JRE>. Tällä hakemistolla täytyy olla JRE-ympäristön vakiohakemistorakenne, jossa Java-ohjelmatiedoston sijainti on jre/bin/java.exe ja luokkakirjaston sijainti jre/lib/rt.jar hakemiston <JRE> alla. Tämän hakemistorakenteen runko näyttää seuraavalta:

<JRE>/
  jre/
    bin/
      java.exe
    lib/
      rt.jar

Näissä hakemistoissa on muita tiedostoja (ja alihakemistoja). Tässä on esitetty vain otos yleisen rakenteen selventämiseksi. Kursivoidut nimet ovat tuotekohtaisia.

Toinen asennusohjelman luontikomentosarjalle annettava syöte on <product head>-hakemisto, joka sisältää tuotekohtaisen suoritettavan aloitustoiminnon ja tiedostoja, jotka eivät liity Eclipse-ohjelmistoon. Tämän hakemistorakenteen runko näyttää seuraavalta (kursivoidut nimet ovat tiedostojen nimiä, jotka vaihtelevat eri tuotteissa):

<product head>/
  acmeproduct.exe

Kolmas asennusohjelman luontikomentosarjalle annettava syöte on <product body>-hakemisto, joka sisältää tuotetta varten kehitetyt tuoteominaisuudet ja lisäosat. Tämän hakemistorakenteen runko näyttää seuraavalta:

<product body>/
  eclipse/
    features/
      com.example.acme.acmefeature_1.0.0/
        feature.xml
      com.example.acme.otherfeature_1.0.0/
        feature.xml
    plugins/
       com.example.acme.acmefeature_1.0.0/
        plugin.xml
        about.ini
        about.properties
        about.mappings
        plugin_customization.ini
        splash.bmp
       com.example.acme.otherfeature_1.0.0/
        plugin.xml
        about.ini
        about.properties
        about.mappings
       com.example.acme.myplugin_1.0.0/
        plugin.xml
        myplugin.jar
       com.example.acme.otherplugin_1.0.0/
        plugin.xml
        otherplugin.jar

Neljäs asennusohjelman luontikomentosarjalle annettava syöte on <platform>-hakemisto, joka sisältää itse Eclipse-ympäristön tuoteominaisuudet ja lisäosat sekä mahdollisesti sisällytettävät kolmansien osapuolten työkalut. Tämä hakemisto sisältää myös suoritettavan Eclipse-vakioaloitustoiminnon eclipse.exe, (eclipse-nimi on peräisin Unix-käyttöjärjestelmästä), sen kumppanin startup.jar-tiedoston ja muita Eclipse-ympäristön tiedostoja, joiden täytyy olla asennuksen juurihakemistossa. Tämän hakemistorakenteen runko näyttää seuraavalta:

<platform>
  eclipse/
    eclipse.exe
    startup.jar
    features/
      org.eclipse.platform_2.0.0/
      org.eclipse.platform.win32_2.0.0/
      org.eclipse.jdt_2.0.0/
      org.eclipse.pde_2.0.0/
    plugins/
      org.eclipse.platform_2.0.0/
      org.eclipse.core.runtime_2.0.0/
      org.eclipse.core.boot_2.0.0/
      org.eclipse.core.resources_2.0.0/
      org.eclipse.ui_2.0.0/
      org.eclipse.jdt_2.0.0/
      org.eclipse.jdt.core_2.0.0/
      org.eclipse.jdt.ui_2.0.0/
      org.eclipse.pde_2.0.0/
      org.eclipse.pde.core_2.0.0/
      org.eclipse.pde.ui_2.0.0/
      (lisää org.eclipse.*-lisäosahakemistoja)

<JRE>-, <product head>-, <product body>- ja <platform>-syötehakemistojen tarkka sisältö määrää, mitä tiedostoja lopulta asennetaan peruskäyttäjän tietokoneeseen.

Viimeiset asennusohjelman luontikomentosarjalle annettavat syötteet ovat tuotteen ensisijaisen tuoteominaisuuden tunnus- ja versiomerkkijonot (esimerkiksi com.example.acme.acmefeature ja 1.0.0) ja tuotteen ohjelmatiedoston nimi (esimerkiksi acmeproduct.exe). Jos tuote ei edellytä omaa ohjelmatiedostoa, tämä on suoritettavan Eclipse-vakioaloitustoiminnon polku eclipse/eclipse.exe. Näillä merkkijonoilla on erityismerkitys asennusohjelmalle, koska ne esiintyvät tiedostojen ja hakemistojen nimissä sekä asennuksen aikana luotujen merkintätiedostojen sisällössä.

Asennuksen aikana asennusohjelman on toimittava vakioidulla tavalla (lisätietoja on vaiheluettelon jälkeen):

  1. Kehotettava käyttäjää sulkemaan kaikki ohjelmat.
  2. Esiteltävä asennettava tuote.
  3. Tarvittaessa pyydettävä käyttäjää antamaan rekisteröidyn omistajan nimi ja lisenssiavain.
  4. Näytettävä tuotteen lisenssisopimus ja pyydettävä käyttäjää hyväksymään se.
  5. Esitettävä tuotteen suositeltava asennuspaikka levyllä (mutta annettava käyttäjälle mahdollisuus vaihtaa se).
  6. Tarkistettava, ettei tuotetta tai laajennusta ole jo tallennettu määritettyyn paikkaan.
  7. Pyydettävä käyttäjää vahvistamaan kaikki asennustiedot.
  8. Luotava merkintätiedosto osoittamaan tuotteen asennuksen juurihakemistoa.
  9. Kopioitava tiedostot levylle (katso jäljempänä).
  10. Tarvittaessa lisättävä rekisteröidyn omistajan nimi ja lisenssiavain Tietoja-osaan.
  11. Luotava tuotteen ohjelmatiedoston pikakuvake työpöydälle.
  12. Luotava sopiva merkintä, joka sallii käyttäjän poistaa tuotteen asennuksen.
  13. Käytettävä tuotteen ohjelmatiedoston aloituksessa valintaa -initialize, joka tekee kaikki ensimmäiseen asennukseen liittyvät toimet.
  14. Annettava mahdollisuus tarkastella tuotteen versiohuomautuksia (readme-tiedostoa).

Jos vaiheessa 5 määritetty paikka on <install>, asennusohjelma kopioi kaikki <JRE>-, <platform>-, <product>- ja <product plug-ins>-hakemistoissa olevat tiedostot <install>-hakemistoon.

Syötetiedosto Asennettu tiedosto
<JRE>/* <install>/eclipse/*
<product head>/* <install>/*
<product body>/* <install>/*
<platform>/* <install>/*

Vaiheessa 8 luotua merkintätiedostoa <install>/eclipse/.eclipseproduct käytetään osoittamaan hakemisto, johon Eclipse-pohjainen tuote on asennettu, ensisijaisesti siksi, että laajennusten asennusohjelmat löytäisivät tuotteen. Tämä merkintätiedosto on java.io.Properties-tiedosto (ISO 8859-1 -merkistö täydennettynä \-koodinvaihtomerkeillä), ja se sisältää seuraavat tiedot, joiden perusteella käyttäjä pystyy tunnistamaan tuotteen ja joiden avulla Eclipse-pohjaiset tuotteet erotetaan toisistaan:

name=Acme Visual Tools Pro
id=com.example.acme.acmefeature
version=1.0.0

Ominaisuuksien id ja version arvot ovat asennusohjelman luontikomentosarjalle annettavia syötteitä. Tuotteen nimi on todennäköisesti tiedossa ja määritetty valmiiksi. (Tuotteet eivät tavallisesti käytä tätä merkintätiedostoa. Vain tuotteiden ja laajennusten asennusohjelmat kirjoittavat siihen ja lukevat sitä.)

Vaiheessa 6 on etsittävä olemassa oleva <install>/eclipse/.eclipseproduct- tai <install>/eclipse/.eclipseextension-tiedosto. Tuotetta ei voida asentaa täsmälleen samaan paikkaan kuin jokin toinen tuote tai laajennus.

Kaikkien tiedostojen asennuksen jälkeen asennushakemiston ylätason rakenteessa on seuraavat tiedostot ja alihakemistot (ja ehkä muitakin):

<install>/
  acmeproduct.exe
  eclipse/
    .eclipseproduct
    eclipse.exe
    startup.jar
    features/
    plugins/
    jre/

Jos tuotteen asennusohjelma pyytää käyttäjältä lisenssitietoja, kuten rekisteröidyn omistajan nimeä ja lisenssiavainta, nämä tiedot pitää siirtää tuotteen Tietoja-valintaikkunaan (vaiheessa 10).

Tämä tehdään tallentamalla käyttäjän vastaukset ensisijaisen tuoteominaisuuden lisäosassa olevaan about.mapping-tiedostoon. Se voi olla esimerkiksi <install>/plugins/com.example.acme.acmefeature_1.0.0/about.mapping. Tiedosto about.mapping voi olla valmiina <product head>-syötteessä, tai asennusohjelman täytyy luoda se asennuksen aikana. Avaimet ovat numeroita; n-avaimen arvo korvaa alimerkkijonon {n} aboutText-ominaisuudessa. Jos lisenssiavaimen kentän numero on esimerkiksi 0, on luotava about.mapping-tiedosto, jossa on rivin 0=T42-24T-ME4U-U4ME kaltainen rivi.

Huomautus: Tiedosto about.mapping on  java.io.Properties-tiedosto (ISO 8859-1 -merkistö täydennettynä \-koodinvaihtomerkeillä). Kun asennuksen aikana käytettävä alkuperäinen merkkikoodaus on eri kuin ISO 8859-1, asennusohjelman tehtävänä on muuntaa alkuperäinen merkkikoodaus Unicode-koodaukseksi ja lisätä \-koodinvaihtomerkkejä tarvittaessa. Koodinvaihtomerkkejä tarvitaan, kun merkkijonoissa on erikoismerkkejä (kuten \) tai muita kuin latinalaisia merkkejä. Esimerkiksi kenttä numero 1, joka sisältää kreikkalaisen aakkoston 3 ensimmäistä merkkiä, kirjoitetaan 1=\u03B1\u03B2\u03B3.

Vaiheessa 12 tuotteen asennusohjelma aloittaa tuotteen ohjelmatiedoston <install>/acmeproduct.exe käyttämällä erityistä -initialize-valintaa. Näin Eclipse-ympäristö suorittaa itsekseen kaikki aikaa vievät ensimmäisellä kerralla tehtävät käsittelyvaiheet ja tallentaa tulokset välimuistiin, jotta tuote avautuisi heti käyttövalmiina, kun käyttäjä käynnistää sen.

Asennuksen poisto-ohjelman toiminta

Asennusta poistettaessa asennuksen poisto-ohjelman on toimittava vakioidulla tavalla:

  1. Kehotettava käyttäjää sulkemaan kaikki ohjelmat, erityisesti poistettava tuote.
  2. Pyydettävä käyttäjää vahvistamaan, että tuotteen asennus on poistettava.
  3. Poistettava kaikki asennetut tiedostot <install>-hakemistosta ja kaikki tiedostot <install>/eclipse/features- ja <install>/eclipse/plugins-hakemistoista, myös muiden kuin tämän asennusohjelman (esimerkiksi Eclipse-päivitystenhallinnan) niihin sijoittamat tiedostot.
  4. Poistettava tuotteen ohjelmatiedoston pikakuvake työpöydältä.
  5. Poistettava tuotteen asennuksen poisto-ohjelman merkintä.
  6. Ilmoitettava käyttäjälle tiedostoista, joita ei poistettu.

Kun tuotteen asennus poistetaan, tietokoneeseen asennuksen aikana sijoitetut tiedostot tulee poistaa, samoin kuin Eclipse-päivitystenhallinnan luomat päivitetyt tuoteominaisuudet ja lisäosat. Tärkeää: Asennuksen poiston aikana <install>-hakemistossa, erityisesti hakemistoissa <install>/eclipse/workspace/, <install>/eclipse/links/ ja <install>/eclipse/configuration/, voi olla muita hakemistoja ja tiedostoja, joiden sisältämät tärkeät tiedot täytyy säilyttää, kun tuotteen asennus poistetaan. Käyttäjän on pystyttävä poistamaan tuotteen asennus ja asentamaan tuote uudelleen samaan paikkaan ilman, että tärkeitä tietoja häviää.

Asennusohjelman toiminta, kun tuote on jo asennettu

Kun tuote on jo asennettu käyttäjän tietokoneeseen, asennusohjelman tulee sallia huolto- tai versiopäivityksen tekeminen asennettuun tuotteeseen.

Asennuksen aikana asennusohjelman on toimittava vakioidulla tavalla:

  1. Kehotettava käyttäjää sulkemaan kaikki ohjelmat, erityisesti päivitettävä tuote.
  2. Paikannettava päivitettävä asennettu tuote tarvittaessa etsimällä tuotteen asennusta levyltä tai sallimalla käyttäjän paikantaa se.
  3. Määritettävä, voidaanko tätä asennusohjelmaa käyttää päivitykseen.
  4. Tarvittaessa pyydettävä käyttäjää antamaan rekisteröidyn omistajan nimi ja lisenssiavain.
  5. Näytettävä tuotteen päivitetty lisenssisopimus ja pyydettävä käyttäjää hyväksymään se.
  6. Pyydettävä käyttäjää vahvistamaan kaikki päivitystiedot.
  7. Päivitettävä tiedostot levylle (katso jäljempänä).
  8. Tarvittaessa muutettava työpöydällä olevaa tuotteen ohjelmatiedoston pikakuvaketta.
  9. Lisättävä muutetut ja lisätyt tiedostot asennuksen poiston aikana poistettavien tiedostojen luetteloon (jos se on mahdollista).
  10. Annettava mahdollisuus tarkastella tuotteen versiohuomautuksia (readme-tiedostoa).

Asennettu tuote voidaan vaiheessa 2 tunnistaa siitä, että koneessa on eclipse-hakemisto, jossa on .eclipseproduct-niminen tiedosto. Eclipse-hakemiston päähakemisto on tuotteen asennushakemisto (eli <install>/eclipse/.eclipseproduct). Merkintätiedostossa olevat tiedot tulee näyttää käyttäjälle, jotta hän voi vahvistaa, että päivityksen kohteena on oikea tuote (käyttäjän tietokoneessa voi olla asennettuna useita Eclipse-pohjaisia tuotteita).

Vaiheessa 3 asennusohjelman tulee varmistaa yhteensopivuus tekemällä yksinkertaisia mallivastaavuustarkistuksia <install>/eclipse/features-hakemistossa oleviin alihakemistoihin. Esimerkiksi kansiovastaavuus com.example.acme.otherfeature_1.0.1 varmistaa, että tietty huoltopäivitys on tehty asennettuun tuotteeseen.

Vaiheessa 7 asennusohjelma voi poistaa tai korvata alun perin asentamiaan tiedostoja ja lisätä uusia tiedostoja. Tärkeää: Useat tiedostot ja hakemistot, kuten <install>/eclipse/workspace/ ja <install>/eclipse/configuration, voivat sijaita rinnan asennuksen kanssa ja sisältää tärkeitä datatiedostoja, jotka täytyy säilyttää tuotetta päivitettäessä. 

Päivitystilanteessa useimmat <install>/eclipse/plugins/-hakemiston alla (samoin kuin <install>/eclipse/features/-hakemiston alla) olevat tiedostot ovat usein samoja. Hakemistossa <install>/eclipse/plugins/ on merkittävä optimointimahdollisuus, koska alihakemiston nimi, joka sisältää lisäosan (tai fragmentin) versionumeron, muuttuu vain, jos jokin sen alla olevista tiedostoista muuttuu. Toisin sanoen mihinkään alihakemistossa <install>/eclipse/plugins/org.eclipse.ui_2.0.0/ oleviin tiedostoihin ei tarvitse koskea, jos alihakemiston tulee säilyä päivityksen jälkeenkin. Jos jokin lisäosan tiedostoista muuttuu, lisäosan versionumeroa muutetaan, minkä seurauksena päivitetyn lisäosan tiedostot asennetaan rinnakkaishakemistoon <install>/eclipse/plugins/org.eclipse.ui_2.0.1/. 

Muualla asennetun JRE-ympäristön liittäminen

JRE-ympäristön oletussijainti on <install>/eclipse/jre/bin/javaw.exe. Jos se sijaitsee muualla, tarkka polku tulee määrittää käyttämällä -vm-valintaa komentorivillä (esimerkiksi -vm C:\j2jre1.3.0\jre\bin\javaw.exe). Tällöin asennusohjelman tulee lisätä tämä valinta työpöydälle luomansa pikakuvakkeen valintariville.

Laajennuksen asennusohjelman luontikomentosarja

Laajennuksella tarkoitetaan erikseen asennettavissa olevaa tuoteominaisuuksien ja niiden lisäosien joukkoa, joka voidaan liittää yhteen tai useampaan samaan tietokoneeseen asennettuun Eclipse-pohjaiseen tuotteeseen ja jota voidaan käyttää tällaisesta tuotteesta käsin. Toisin kuin tuote, laajennus ei ole itsenäinen kokonaisuus. Laajennus ei sisällä tuotteen ohjelmatiedostoa, Eclipse-ympäristöä eikä JRE-ympäristöä.

Yleispätevyydestä tinkimättä tässä oletetaan, että laajennus koostuu yhdestä tuoteominaisuudesta. Ensimmäinen asennusohjelman luontikomentosarjalle annettava syöte on hakemisto <extension>, joka sisältää laajennuksen tuoteominaisuuden ja lisäosat. Oletetaan, ettei laajennuksella ole Eclipse-ympäristöön liittyviä tiedostoja. Jos sillä olisi, ne sijoitettaisiin hakemistoon <extension>/, ei hakemistoon <extension>/eclipse/. Tämän hakemistorakenteen runko näyttää seuraavalta:

<extension>/
  eclipse/
    features/
      com.example.wiley.anvilfeature_1.0.0/
        feature.xml
    plugins/
       com.example.wiley.anvilfeature_1.0.0/
        plugin.xml
        about.ini
        about.properties
        about.mappings
       com.example.wiley.mainplugin_1.0.0/
       com.example.wiley.otherplugin_1.0.0/

Syötehakemiston <extension> tarkka sisältö määrää, mitä tiedostoja lopulta asennetaan peruskäyttäjän tietokoneeseen.

Viimeiset asennusohjelman luontikomentosarjalle annettavat syötteet ovat laajennuksen tuoteominaisuuden tunnus- ja versiomerkkijonot (esimerkiksi com.example.wiley.anvil ja 1.0.0). Näillä merkkijonoilla on erityismerkitys asennusohjelmalle, koska ne esiintyvät tiedostojen ja hakemistojen nimissä sekä asennuksen aikana luotujen merkintätiedostojen sisällössä.

Laajennuksen asennusohjelma on suurimmaksi osaksi tuotteen asennusohjelman kaltainen. Erot on esitetty seuraavassa:

Asennuksen aikana asennusohjelman on toimittava vakioidulla tavalla:

  1. Kehotettava käyttäjää sulkemaan kaikki ohjelmat.
  2. Esiteltävä asennettava laajennus.
  3. Tarvittaessa pyydettävä käyttäjää antamaan rekisteröidyn omistajan nimi ja lisenssiavain.
  4. Näytettävä laajennuksen lisenssisopimus ja pyydettävä käyttäjää hyväksymään se.
  5. Esitettävä laajennuksen suositeltava asennuspaikka levyllä (mutta annettava käyttäjälle mahdollisuus vaihtaa se).
  6. Tarkistettava, ettei tuotetta tai toista laajennusta ole jo tallennettu määritettyyn paikkaan.
  7. Kysyttävä käyttäjältä, minkä tuotteiden on tarkoitus käyttää tätä laajennusta (etsintä levyltä, selaus tai ohitus).
  8. Haluttaessa määritettävä, onko laajennus yhteensopiva valittujen tuotteiden kanssa.
  9. Pyydettävä käyttäjää vahvistamaan kaikki asennustiedot.
  10. Luotava merkintätiedosto osoittamaan laajennuksen asennuksen juurihakemistoa.
  11. Kopioitava tiedostot levylle (katso jäljempänä).
  12. Lisättävä rekisteröidyn omistajan nimi ja lisenssiavain Tietoja-osaan.
  13. Luotava sopiva merkintä, joka sallii käyttäjän poistaa laajennuksen asennuksen.
  14. Kirjoitettava jokaiseen valittuun tuotteeseen linkkitiedosto, jossa laajennus liitetään tuotteeseen.
  15. Annettava mahdollisuus tarkastella laajennuksen versiohuomautuksia (readme-tiedostoa).

Jos vaiheessa 5 määritetty paikka on <install>, asennusohjelma kopioi kaikki <extension>-hakemistossa olevat tiedostot <install>-hakemistoon vaiheessa 11.

Syötetiedosto Asennettu tiedosto
<extension>/* <install>/*

Vaiheessa 7 mikä tahansa Eclipse-tuote voi olla ehdokkaana. Eclipse-pohjainen tuote voidaan tunnistaa <product install>/eclipse/.eclipseproduct-tiedostosta. Käyttäjän tulee voida tehdä rajoitettu haku, jossa asennettuja tuotteita etsitään levyltä (asennettujen tuotteiden hakupainikkeella), tai käyttäjän on voitava siirtyä tuotteen sisältävään hakemistoon (selauspainikkeella).

Vaiheessa 8 asennusohjelman tulee varmistaa yhteensopivuus tekemällä yksinkertaisia mallivastaavuustarkistuksia <product install>/eclipse/features-hakemistossa oleviin alihakemistoihin. Esimerkiksi kansiovastaavuus org.eclipse.jdt_2.* tarkoittaa, että JDT-työkalut on sisällytetty asennettuun tuotteeseen. 

Vaiheessa 10 luotua merkintätiedostoa <install>/eclipse/.eclipseextension käytetään osoittamaan hakemisto, johon Eclipse-pohjainen laajennus on asennettu, ensisijaisesti siksi, että laajennusten asennusohjelmat löytäisivät laajennuksen (samankaltainen kuin tuotteen .eclipseproduct-merkintätiedosto). Tämä merkintätiedosto on java.io.Properties-tiedosto (ISO 8859-1 -merkistö täydennettynä \-koodinvaihtomerkeillä), ja se sisältää seuraavat tiedot, joiden perusteella käyttäjä pystyy tunnistamaan laajennuksen ja joiden avulla Eclipse-pohjaiset laajennukset erotetaan toisistaan:

name=Wiley Anvil Enterprise Edition
id=com.example.wiley.anvilfeature
version=1.0.0

Ominaisuuksien id ja version arvot ovat asennusohjelman luontikomentosarjalle annettavia syötteitä. Laajennuksen nimi on todennäköisesti tiedossa ja määritetty valmiiksi. (Tuotteet eivät tavallisesti käytä tätä merkintätiedostoa. Vain tuotteiden ja laajennusten asennusohjelmat kirjoittavat siihen ja lukevat sitä.)

Kaikkien tiedostojen asennuksen jälkeen asennushakemiston ylätason rakenteessa on seuraavat tiedostot ja alihakemistot:

<install>/
  eclipse/
    .eclipseextension
    features/
    plugins/

Ainoa merkittävä ero tuotteen asennusohjelmaan verrattuna on, että laajennuksen asennusohjelma luo myös linkkitiedoston muihin Eclipse-pohjaisiin tuotteisiin, jotka on jo asennettu käyttäjän tietokoneeseen. (Näin käyttäjän ei tarvitse manuaalisesti liittää uutta laajennusta kustakin tuotteesta käsin Eclipse-päivitystenhallinnan avulla.) 

Vaiheessa 14 luotu linkkitiedosto on <product install>/eclipse/links/com.example.wiley.anvilfeature.link. Tiedostolla on siis sama nimi kuin laajennuksen tuoteominaisuuden hakemistolla versionumeropäätettä lukuun ottamatta. Linkkitiedosto on java.io.Properties-tiedosto (ISO 8859-1 -merkistö täydennettynä \-koodinvaihtomerkeillä). Avain on path, ja arvo on asennetun laajennuksen (<install>) tarkka polku. Merkintä voi näyttää esimerkiksi seuraavalta: path=C:\\Program Files\\Wiley\\Anvil. Asennusohjelman tehtävänä on muuntaa alkuperäinen merkkikoodaus Unicode-koodaukseksi ja lisätä \-koodinvaihtomerkkejä tarvittaessa. Yleensä koodinvaihtomerkkejä tarvitaan, koska <install> sisältää tavallisesti erikoismerkkejä (kuten \-merkin) ja nimissä voidaan mainita hakemistoja, joiden nimissä on muita kuin latinalaisia merkkejä. Tuote lukee linkkitiedostot käynnistyessään. Asennusohjelma pitää kirjaa luomistaan linkkitiedostoista, jotta ne voidaan paikantaa, kun laajennus päivitetään tai sen asennus poistetaan.

Asennuksen poisto-ohjelman toiminta

Asennusta poistettaessa asennuksen poisto-ohjelman on toimittava vakioidulla tavalla:

  1. Kehotettava käyttäjää sulkemaan kaikki ohjelmat, erityisesti poistettavaa laajennusta käyttävät tuotteet.
  2. Pyydettävä käyttäjää vahvistamaan, että laajennuksen asennus on poistettava.
  3. Poistettava kaikki asennetut tiedostot <install>-hakemistosta ja kaikki tiedostot <install>/eclipse/features- ja <install>/eclipse/plugins-hakemistoista, myös muiden kuin tämän asennusohjelman (esimerkiksi Eclipse-päivitystenhallinnan) niihin sijoittamat tiedostot.
  4. Jos mahdollista, poistettava linkkitiedosto tuotteista, joihin se on lisätty. 
  5. Poistettava laajennuksen asennuksen poisto-ohjelman merkintä.
  6. Ilmoitettava käyttäjälle tiedostoista, joita ei poistettu.

Kun laajennuksen asennus poistetaan, kaikki lisäosa- ja tuoteominaisuustiedostot tulee poistaa. Näissä alihakemistoissa ei ole mitään tärkeitä säilytettäviä datatiedostoja. Näin käyttäjä voi poistaa laajennuksen asennuksen kokonaan, Eclipse-päivitystenhallinnan tekemät päivitykset mukaan luettuna.

Asennusohjelman toiminta, kun laajennus on jo asennettu

Kun laajennus on jo asennettu käyttäjän tietokoneeseen, asennusohjelman tulee sallia huolto- tai versiopäivityksen tekeminen asennettuun laajennukseen.

Asennuksen aikana asennusohjelman on toimittava vakioidulla tavalla:

  1. Kehotettava käyttäjää sulkemaan kaikki ohjelmat, erityisesti päivitettävää laajennusta käyttävät tuotteet.
  2. Paikannettava päivitettävä asennettu laajennus tarvittaessa etsimällä laajennuksen asennusta levyltä tai sallimalla käyttäjän paikantaa se.
  3. Määritettävä, voidaanko tätä asennusohjelmaa käyttää päivitykseen.
  4. Tarvittaessa pyydettävä käyttäjää antamaan rekisteröidyn omistajan nimi ja lisenssiavain.
  5. Näytettävä tuotteen päivitetty lisenssisopimus ja pyydettävä käyttäjää hyväksymään se.
  6. Pyydettävä käyttäjää vahvistamaan kaikki päivitystiedot.
  7. Päivitettävä tiedostot levylle (katso jäljempänä).
  8. Lisättävä muutetut ja lisätyt tiedostot asennuksen poiston aikana poistettavien tiedostojen luetteloon (jos se on mahdollista).
  9. Annettava mahdollisuus tarkastella laajennuksen versiohuomautuksia (readme-tiedostoa).

Asennettu laajennus voidaan vaiheessa 2 tunnistaa siitä, että koneessa on eclipse-hakemisto, jossa on .eclipseextension-niminen tiedosto. Eclipse-hakemiston päähakemisto on laajennuksen asennushakemisto (eli <install>/eclipse/.eclipseextension). Merkintätiedostossa olevat tiedot tulee näyttää käyttäjälle, jotta hän voi vahvistaa, että päivityksen kohteena on oikea laajennus (käyttäjän tietokoneessa voi olla asennettuna useita Eclipse-pohjaisia laajennuksia).

Vaiheessa 7 asennusohjelman ei tule poistaa eikä korvata mitään alun perin asentamiaan tiedostoja, vaan sen tulee vain lisätä tiedostot tuoteominaisuuksien ja lisäosan uusia versioita varten ja mahdollisesti kirjoittaa merkintätiedosto <install>/eclipse/.eclipseextension uudelleen. Kun vanhat versiot säilytetään, käyttäjä voi perua päivityksen. Kuten tuotteen asennuksen päivityksen yhteydessä, mihinkään alihakemistossa <install>/eclipse/plugins/com.example.wiley.otherplugin_1.0.0/ oleviin tiedostoihin ei tarvitse koskea, jos alihakemiston tulee säilyä päivityksen jälkeenkin. Jos jokin lisäosan tiedostoista muuttuu, lisäosan versionumeroa muutetaan, minkä seurauksena päivitetyn lisäosan tiedostot asennetaan rinnakkaishakemistoon <install>/eclipse/plugins/com.example.wiley.otherplugin_1.0.1/.