Sådan skriver du et Eclipse-installationsprogram

Sidst ændret 18. juni 2004 kl. 15:20

Eclipse-baserede produkter skal kunne installeres korrekt på brugerens computer. Der bruges ofte specielle pakkeværktøjer som f.eks. InstallShield og RPM til at bygge eksekvérbare installationsprogrammer, som automatiserer installation, opdatering og fjernelse. Dette afsnit beskriver, hvordan du skriver et installationsprogram til et Eclipse-baseret produkt og til udvidelser til Eclipse-baserede produkter, som kan installeres separat.

Det antages, at et produktudviklingsteam har ansvaret for at stille de rå ingredienser til rådighed, som skal finde vej til brugernes computere i form af et eksekvérbart installationsprogram. I det følgende beskrives oprettelsen af eksekvérbare installationsprogrammer samt de funktioner på installationstidspunktet, som er nødvendige for at samarbejde med brugerne og gemme filer på deres computere. Dette afsnit beskriver i detaljer, hvad installationsprogrammerne skal udføre, og hvordan de skal fungere.  

Beskrivelsen skal opfattes som en opskrift til den person, der er ansvarlig for at skrive et installationsprogram til et Eclipse-baseret produkt. Der er to grunde til, at alle forfattere til installationsprogrammer bør følge opskriften:

Installationsscript til produkt

Et produktinstallationsprogram bør være selvstændigt - en programtype, der kan distribueres via cd og installeres på alle computere med et passende styresystem.

Eclipse kræver en Java2 JRE (Java Runtime Environment) til at afvikle Java-kode. JRE'er er licenseret software, som kan skaffes fra Java-leverandører. Hvis en virksomhed har licens til at redistribuere en JRE fra en JRE-leverandør, kan virksomheden inkludere en JRE i dens produkt og installere den på brugerens computer samtidig med produktet. Alternativet er at kræve, at en JRE er installeret på forhånd på brugerens computer, og at der er tilknytning til den på installationstidspunktet. Uanset metoden, kræver et Eclipse-baseret produkt en passende JRE, og produktinstallationsprogrammet skal enten installere en JRE eller finde og oprette link til en allerede installeret JRE. 

Antag, at en JRE skal installeres med produktet. Et bibliotek, som indeholder JRE'en, er ét input til installationsscriptet. Kald dette bibliotek for <JRE>. Biblioteket skal have en standard JRE-biblioteksstruktur, den eksekvérbare Java skal være placeret i jre/bin/java.exe, og klassebiblioteket skal være placeret i jre/lib/rt.jar under biblioteket <JRE>. Bibliotekets basale struktur ser sådan ud:

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

Der findes flere filer og underbiblioteker i disse biblioteker, så dette er kun et eksempel, som viser den generelle struktur. Navne i kursiv er produktspecifikke.

Det andet input til installationsscriptet er et bibliotek, <produkthoved>, som indeholder det produktspecifikke eksekvérbare startprogram og de filer, som ikke er relateret til Eclipse. Bibliotekets basale struktur kan se sådan ud, hvor navne i kursiv angiver filnavne, som varierer fra produkt til produkt:

<produkthoved>/
  acmeproduct.exe

Det tredje input til installationsscriptet er et bibliotek, <produktindhold>, som indeholder de funktioner og plugins, der er udviklet til produktet. Bibliotekets basale struktur kan se sådan ud:

<produktindhold>/
  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

Det fjerde input til installationsscriptet er et bibliotek, <platform>, som indeholder funktioner og plugins til selve Eclipse-platformen og eventuelle tredjepartsværktøjer, som er inkluderet. Biblioteket indeholder også standardfilen til start af Eclipse, eclipse.exe, (kaldet eclipse på Unix-styresystemet), dens ledsager startup.jar og eventuelle andre Eclipse-platformsfiler, der skal være placeret i roden af installationen. Bibliotekets basale struktur kan se sådan ud:

<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/
      (flere pluginbiblioteker af typen org.eclipse.*)

Indholdet af inputbibliotekerne <JRE>, <produkthoved>, <produktindhold> og <platform> bestemmer, hvilke filer der bliver installeret på brugerens computer.

De sidste input til installationsscriptet er id- og versionsstrenge for produktets primære funktioner, f.eks. "com.example.acme.acmefeature", og "1.0.0", og navnet på produktets eksekvérbare fil, f.eks. "acmeproduct.exe". Hvis produkterne ikke kræver deres egne eksekvérbare produktfil, kan det være stien til standardfilen til start af Eclipse, "eclipse/eclipse.exe". Strengene har en speciel betydning for installationsprogrammet, og vises i fil- og biblioteksnavne og i indholdet af de markeringsfiler, der oprettes på installationstidspunktet.

Installationsprogrammet skal fungere på en standardmåde på installationstidspunktet. Der er flere oplysninger efter listen af trin:

  1. Bed brugeren om afslutte alle programmer.
  2. Introducér det produkt, der skal installeres.
  3. Spørg om nødvendigt brugeren om navnet på den registrerede ejer og om licensnøglen.
  4. Vis produktets licensaftale, og spørg om brugerens accept.
  5. Anbefal en sted på disken, hvor produktet skal installeres. Brugeren skal have mulighed for at tilsidesætte standardplaceringen.
  6. Kontrollér, at der ikke allerede findes et produkt eller en udvidelse i den angivne placering.
  7. Bed brugeren om at bekræfte alle detaljerne i installationen.
  8. Opret markeringsfil for at markere roden af produktinstallationen.
  9. Kopiér filer til disk  (se nedenfor).
  10. Indsæt om nødvendigt navnet på den registrerede ejer og licensnøglen i "Om"-beskrivelsen.
  11. Opret en genvej på desktoppen til at udføre den eksekvérbare produktfil.
  12. Opret en passende indgang, som giver brugeren mulighed for at fjerne produktet.
  13. Start den eksekvérbare produktfil med parameteren -initialize for at udføre hele førstegangsbehandlingen.
  14. Tilbyd at vise versionsnoterne til produktet ("Readme"-filen).

Hvis den placering, der er angivet i trin 5, er <install>, kopierer installationsprogrammet alle filerne i bibliotekerne <JRE>, <platform>, <produkt>  og <produkt-plugins> til <install>.

Inputfil Installeret fil
<JRE>/* <install>/eclipse/*
<produkthoved>/* <install>/*
<produktindhold>/* <install>/*
<platform>/* <install>/*

Den markeringsfil, der blev oprettet i trin 8, hedder <install>/eclipse/.eclipseproduct og bruges til at markere et bibliotek, hvor et Eclipse-baseret produkt er installeret. Det er primært for at sikre, at installationsprogrammer til udvidelser kan finde biblioteket. Markeringsfilen er en java.io.Properties-formatfil (ISO 8859-1-tegnkodning med "\"-escape-sekvenser) og indeholder følgende oplysninger, som identificerer produktet over for brugeren og skelner ét Eclipse-baseret produkt fra et andet:

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

Værdierne af egenskaberne "id" og "version" er input til installationsscriptet. Navnet på produktet formodentlig kendt og fastfrosset. Produkter opretter normalt ikke adgang til markeringsfilen. Det er kun installationsprogrammer til produkter og udvidelser, som skriver eller læser filen.

Trin 6 kræver undersøgelse af, om der findes en eksisterende <install>/eclipse/.eclipseproduct- eller <install>/eclipse/.eclipseextension-fil. Et produkt må ikke installeres i præcist det samme sted som et andet produkt eller en anden udvidelse.

Når alle filer er installeret, indeholder det øverste niveau af installationsbiblioteket følgende filer og underbiblioteker og eventuelt andre:

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

Hvis et produktinstallationsprogram beder brugeren om licensoplysninger, som f.eks. navnet på den registrerede ejer og licensnøglen, skal oplysningerne også vises i produktets "Om"-dialogboks (trin 10).

Det gøres ved at registrere brugerens svar i filen "about.mapping" i den primære funktions plugin. F.eks. i <install>/plugins/com.example.acme.acmefeature_1.0.0/about.mapping. Filen "about.mapping" kan findes allerede i inputtet <produkthoved> eller skal oprettes af installationsprogrammet på installationstidspunktet. Nøglerne er tal. Værdien af nøglen "n" erstatter strengen "{n}" i egenskaben "aboutText". Hvis en licensnøgle f.eks. er feltnummer 0, skal der oprettes en "about.mapping"-fil, der indeholder en linje som denne: "0=T42-24T-ME4U-U4ME".

Bemærk: Filen "about.mapping" er en  java.io.Properties-formatfil (ISO 8859-1-tegnkodning med "\"-escape-sekvenser). Hvis den indbyggede tegnkodning på installationstidspunktet er forskelligt fra ISO 8859-1, er installationsprogrammet ansvarlig for at konvertere den indbyggede tegnkodning til Unicode og for at tilføje "\"-escape-sekvenser, hvor det er nødvendigt. Der kræves escape-sekvenser, hvis strengene indeholder specialtegn, som f.eks. "\", eller tegn, som ikke er latinske tegn. Hvis feltnummer 1 f.eks. indeholder de tre første bogstaver i det græske alfabet, skal de skrives som "1=\u03B1\u03B2\u03B3".

I trin 12 starter produktinstallationsprogrammet den eksekvérbare produktfil  <install>/acmeproduct.exe med parameteren -initialize. Det bevirker, at Eclipse-platformen udfører al den tidskrævende førstegangsbehandling uden brugerinput og gemmer resultatet, så produktet er klar til brug, når brugeren starter det.

Funktionsmåde for fjernelse af installation

Når produktet skal fjernes, skal programmet til fjernelse af installationen som standard fungere sådan:

  1. Bed brugeren om afslutte alle programmer, særligt når produktet fjernes.
  2. Bed brugeren om at bekræfte, at produktet skal fjernes.
  3. Fjern alle installerede filer fra biblioteket <install> og alle filer i <install>/eclipse/features og <install>/eclipse/plugins inklusive de filer, som andre parter end installationsprogrammet har placeret her. Det kan f.eks. være filer, som er installeret af opdateringsstyringen til Eclipse.
  4. Fjern genvejen på desktoppen til den eksekvérbare produktfil.
  5. Fjern indgangen for programmet til fjernelse af produktet.
  6. Oplys brugeren om filer, der ikke er fjernet.

Når produktet er fjernet, skal de installerede filer fjernes sammen med de opdaterede funktioner og plugins, som opdateringsstyringen til Eclipse har installeret. Vigtigt: Der kan på installationstidspunktet være andre biblioteker og filer i biblioteket <install>, herunder specielt <install>/eclipse/workspace/, <install>/eclipse/links/ og <install>/eclipse/configuration/, som indeholder vigtige data, der skal bevares, når produktet fjernes. Brugeren skal være i stand til at fjerne og geninstallere et produkt det samme sted uden at miste vigtige data.

Installationsprogrammets funktionsmåde, hvis produktet allerede er installeret

Hvis produktet allerede er installeret på brugerens computer, skal installationsprogrammet tillade, at en serviceopdatering eller en versionsopgradering tilføjes til det installerede produkt.

Installationsprogrammet skal fungere på en standardmåde på installationstidspunktet:

  1. Bed brugeren om afslutte alle programmer, særligt når produktet opdateres.
  2. Find det installerede produkt, der skal opdateres, om nødvendigt ved at søge på disken efter en eksisterende produktinstallation eller ved at tillade brugeren at søge efter det.
  3. Find ud af, om installationsprogrammet er en kompatibel opdatering.
  4. Spørg om nødvendigt brugeren om navnet på den registrerede ejer og om licensnøglen.
  5. Vis produktets opdaterede licensaftale, og spørg om brugerens accept.
  6. Bed brugeren om at bekræfte alle detaljerne i opdateringen.
  7. Opdatér filer på disk  (se nedenfor).
  8. Opret om nødvendigt en genvej på desktoppen til at udføre den eksekvérbare produktfil.
  9. Tilføj om muligt ændrede eller nyligt tilføjede filer til listen med de filer, der skal fjernes, når udvidelsen fjernes.
  10. Tilbyd at vise versionsnoterne til produktet ("Readme"-filen).

I trin 2 kan et installeret produkt blive genkendt ved tilstedeværelse af et "eclipse"-bibliotek, som indeholder filen ".eclipseproduct". Biblioteket oven over "eclipse"-biblioteket er et produkts installationsbibliotek, f.eks. <install>/eclipse/.eclipseproduct. Oplysningerne i markeringsfilen skal vises, så brugeren kan bekræfte, at det er det rigtige produkt, der opdateres, fordi der kan være flere Eclipse-baserede produkter på brugerens computer.

Installationsprogrammet skal udføre kompatibilitetskontrol i trin 3 ved enkel mønstermatch med underbiblioteker i biblioteket <install>/eclipse/features. Tilstedeværelsen af en folder, som svarer til "com.example.acme.otherfeature_1.0.1", sikrer f.eks., at en bestemt serviceopdatering er installeret for det installerede produkt.

I trin 7 kan installationsprogrammet slette eller erstatte de filer, der oprindeligt blev installeret, og tilføje flere filer. Vigtigt: Der kan være placeret flere filer og biblioteker, herunder <install>/eclipse/workspace/ og <install>/eclipse/configuration, sammen med installationen, som indeholder vigtige datafiler, der skal bevares, når produktet opgraderes.  

Der er stor sandsynlighed for, at de fleste af filerne under <install>/eclipse/plugins/ er de samme i en opgraderingssituation. Det samme gælder for <install>/eclipse/features/. Der er en god mulighed for optimering i <install>/eclipse/plugins/, fordi underbiblioteksnavnet, som indeholder plugin'ens eller fragmentets versionsnummer, kun ændres, hvis filerne under biblioteket ændres. Der er med andre ord ingen grund til at røre ved andre filer i <install>/eclipse/plugins/org.eclipse.ui_2.0.0/, hvis dette underbibliotek også skal eksistere efter opgraderingen. Hvis nogen af plugin'ens filer skal ændres, revideres plugin'ens versionsnummer, hvorved filerne til den opgraderede plugin installeres i et parallelt bibliotek ved navn <install>/eclipse/plugins/org.eclipse.ui_2.0.1/. 

Tilknytning til en JRE, som er installeret et andet sted

JRE'en forventes at være placeret i <install>/eclipse/jre/bin/javaw.exe. Hvis den er placeret et andet sted, skal den absolutte sti angives med parameteren -vm på kommandolinjen, f.eks. -vm C:\j2jre1.3.0\jre\bin\javaw.exe. I det tilfælde skal installationsprogrammet tilføje parameteren til kommandolinjen for den desktopgenvej, som det opretter.

Installationsscript til udvidelse

Med udvidelse menes der et separat installérbart sæt funktioner og deres plugins, som kan tilknyttes med og bruges fra et eller flere Eclipse-baserede produkter, som er installeret på den samme computer. I modsætning til et produkt, er en udvidelse ikke selvstændig. En udvidelse omfatter ikke en eksekvérbar produktfil, Eclipse-platformen eller en JRE.

Antag, at udvidelsen består af en enkelt funktion. Det første input til installationsscriptet er et bibliotek, <extension>, som indeholder dens funktion og plugins. Det antages, at udvidelsen ikke har nogen filer, som er relateret til Eclipse. Hvis det var tilfældet, skulle de være placeret i <extension>/ og ikke i <extension>/eclipse/. Bibliotekets basale struktur kan se sådan ud:

<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/

Indholdet af inputbiblioteket <extension> bestemmer, hvilke filer der bliver installeret på brugerens computer.

De sidste input til installationsscriptet er id- og versionsstrenge for udvidelsens funktion, f.eks. "com.example.wiley.anvil" og "1.0.0". Strengene har en speciel betydning for installationsprogrammet, og vises i fil- og biblioteksnavne og i indholdet af de markeringsfiler, der oprettes på installationstidspunktet.

Et installationsprogram til en udvidelse ligner på mange måder et installationsprogram til et produkt. Forskellene er beskrevet nedenfor:

Installationsprogrammet fungerer på standardmåden på installationstidspunktet:

  1. Bed brugeren om afslutte alle programmer.
  2. Introducér den udvidelse, der skal installeres.
  3. Spørg om nødvendigt brugeren om navnet på den registrerede ejer og om licensnøglen.
  4. Vis udvidelsens licensaftale, og spørg om brugerens accept.
  5. Anbefal en sted på disken, hvor udvidelsen skal installeres. Brugeren skal have mulighed for at tilsidesætte standardplaceringen.
  6. Kontrollér, at der ikke allerede findes et produkt eller en anden udvidelse i den angivne placering.
  7. Spøg brugeren, hvilke produkter der skal bruge udvidelsen (søg på disk, gennemse eller spring over).
  8. Find eventuelt om af, om udvidelsen er kompatibel med de valgte produkter.
  9. Bed brugeren om at bekræfte alle detaljerne i installationen.
  10. Opret markeringsfil for at markere roden af udvidelsesinstallationen.
  11. Kopiér filer til disk  (se nedenfor).
  12. Indsæt navnet på den registrerede ejer og licensnøglen i "Om"-beskrivelsen.
  13. Opret en passende indgang, som giver brugeren mulighed for at fjerne udvidelsen.
  14. Skriv en linkfil i hvert af de valgte produkter for at knytte udvidelsen til produktet.
  15. Tilbyd at vise versionsnoterne til udvidelsen ("Readme"-filen).

Hvis den placering, der er angivet i trin 5, er <install>, kopierer installationsprogrammet alle filerne i biblioteket <extension> til <install> i trin 11.

Inputfil Installeret fil
<extension>/* <install>/*

I trin 7 kan et hvilket som helst Eclipse-produkt være kandidat. Et Eclipse-baseret produkt genkendes ved tilstedeværelsen af filen <produktinstallation>/eclipse/.eclipseproduct. Brugeren skal have mulighed for at anmode om en begrænset søgning på disken efter installerede produkter (en knap til "søgning efter installerede produkter") eller for at navigere til et bibliotek, som indeholder et produkt (f.eks. en "Gennemse"-knap).

Installationsprogrammet skal udføre kompatibilitetskontrol i trin 8 ved enkel mønstermatch med underbiblioteker i biblioteket <produktinstallation>/eclipse/features. Tilstedeværelsen af en folder, som svarer til "org.eclipse.jdt_2.*", betyder f.eks., at JDT er inkluderet i det installerede produkt.  

Den markeringsfil, der blev oprettet i trin 10, hedder <install>/eclipse/.eclipseextension og bruges til at markere et bibliotek, hvor en Eclipse-baseret udvidelse er installeret. Det er primært for at sikre, at installationsprogrammer til udvidelser kan finde biblioteket på samme måde som markeringsfilen .eclipseproduct til et produkt. Markeringsfilen er en java.io.Properties-formatfil (ISO 8859-1-tegnkodning med "\"-escape-sekvenser) og indeholder følgende oplysninger, som identificerer udvidelsen over for brugeren og skelner én Eclipse-baseret udvidelse fra en anden:

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

Værdierne af egenskaberne "id" og "version" er input til installationsscriptet. Navnet på udvidelsen formodentlig kendt og fastfrosset. Produkter opretter normalt ikke adgang til markeringsfilen. Det er kun installationsprogrammer til produkter og udvidelser, som skriver eller læser filen.

Når alle filer er installeret, indeholder det øverste niveau af installationsbiblioteket følgende filer og underbiblioteker:

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

Den eneste større forskel i forhold til installationsprogrammet til et produkt er, at installationsprogrammet også opretter linkfiler i andre Eclipse-baserede produkter, som allerede er installeret på brugerens computer. Derved behøver brugeren ikke at tilknytte den nye udvidelse inde fra hvert produkt manuelt ved at bruge opdateringsstyringen til Eclipse.  

Den linkfil, der oprettes i trin 14, er <produktinstallation>/eclipse/links/com.example.wiley.anvilfeature.link. Det vil sige, at filen hedder det samme som udvidelsens funktionsbibliotek minus suffikset for versionsnummer. En linkfil er en java.io.Properties-formatfil (ISO 8859-1-tegnkodning med "\"-escape-sekvenser). Nøglen er "path", og værdien er den absolutte sti til den installerede udvidelse, <install>. En indgang kan f.eks. se sådan ud: "path=C:\\Programmer\\Wiley\\Anvil". Installationsprogrammet er ansvarlig for at konvertere den indbyggede tegnkodning til Unicode og for at tilføje "\"-escape-sekvenser, hvor det er nødvendigt. Escape-sekvenser er normalt påkrævet, fordi <install> typisk indeholder specialtegn (f.eks. "\") og kan omfatte biblioteksnavne med tegn, som ikke er latinske tegn. Produktet læser linkfilerne, når det starter. Installationsprogrammet har en liste med alle de linkfiler, det opretter, så de kan findes, når udvidelsen opdateres eller fjernes.

Funktionsmåde for fjernelse af installation

Når udvidelsen skal fjernes, skal programmet til fjernelse af installationen som standard fungere sådan:

  1. Bed brugeren om afslutte alle programmer, særligt de produkter, som bruger den udvidelse, der skal fjernes.
  2. Bed brugeren om at bekræfte, at udvidelsen skal fjernes.
  3. Fjern alle installerede filer fra biblioteket <install> og alle filer i <install>/eclipse/features og <install>/eclipse/plugins inklusive de filer, som andre parter end installationsprogrammet har placeret her. Det kan f.eks. være filer, som er installeret af opdateringsstyringen til Eclipse.
  4. Fjern om muligt linkfilen fra de produkter, som den er tilføjet til. 
  5. Fjern indgangen for programmet til fjernelse af udvidelsen.
  6. Oplys brugeren om filer, der ikke er fjernet.

Når en udvidelsen er fjernet, skal alle plugin- og funktionsfiler slettes. Der er ingen vigtige data i disse underbiblioteker, som skal bevares. Det giver brugeren mulighed for at fjerne en udvidelse fuldstændigt, herunder også de opdateringer, som er tilføjet af opdateringsstyringen til Eclipse.

Installationsprogrammets funktionsmåde, hvis udvidelsen allerede er installeret

Hvis udvidelsen allerede er installeret på brugerens computer, skal installationsprogrammet tillade, at en serviceopdatering eller en versionsopgradering tilføjes til den installerede udvidelse.

Installationsprogrammet skal fungere på en standardmåde på installationstidspunktet:

  1. Bed brugeren om afslutte alle programmer, særligt de produkter, som bruger den udvidelse, der skal opdateres.
  2. Find den installerede udvidelse, der skal opdateres, om nødvendigt ved at søge på disken efter en eksisterende udvidelsesinstallation eller ved at tillade brugeren at søge efter den.
  3. Find ud af, om installationsprogrammet er en kompatibel opdatering.
  4. Spørg om nødvendigt brugeren om navnet på den registrerede ejer og om licensnøglen.
  5. Vis produktets opdaterede licensaftale, og spørg om brugerens accept.
  6. Bed brugeren om at bekræfte alle detaljerne i opdateringen.
  7. Opdatér filer på disk  (se nedenfor).
  8. Tilføj om muligt ændrede eller nyligt tilføjede filer til listen med de filer, der skal fjernes, når udvidelsen fjernes.
  9. Tilbyd at vise versionsnoterne til udvidelsen ("Readme"-filen).

I trin 2 kan en installeret udvidelse blive genkendt ved tilstedeværelse af et "eclipse"-bibliotek, som indeholder filen ".eclipseextension". Biblioteket oven over "eclipse"-biblioteket er en udvidelses installationsbibliotek, f.eks. <install>/eclipse/.eclipseextension. Oplysningerne i markeringsfilen skal vises, så brugeren kan bekræfte, at det er den rigtige udvidelse, der opdateres, fordi der kan være flere Eclipse-baserede udvidelser på brugerens computer.

I trin 7 skal installationsprogrammet ikke slette eller overskrive de filer, der oprindeligt blev installeret. Det skal kun tilføje filerne for nye versioner af funktioner og plugin og om muligt omskrive markeringsfilen <install>/eclipse/.eclipseextension. Hvis de gamle versioner bevares, har brugeren mulighed for at fortryde opdateringen. Ligesom med opgradering af en produktinstallation, er der ingen grund til at røre ved andre filer i <install>/eclipse/plugins/com.example.wiley.otherplugin_1.0.0/, hvis dette underbibliotek også skal eksistere efter opgraderingen. Hvis nogen af plugin'ens filer skal ændres, revideres plugin'ens versionsnummer, hvorved filerne til den opgraderede plugin installeres i et parallelt bibliotek ved navn <install>/eclipse/plugins/com.example.wiley.otherplugin_1.0.1/.