Richtlijnen productinstallatie
Het platform levert de standaardtools voor het bijwerken en uitbreiden van producten. Om te kunnen deelnemen aan de platformtechnieken voor het bijwerken en uitbreiden van producten, moet uw ingepakte product voldoen aan bepaalde richtlijnen. Op deze manier kan uw product samen bestaan met andere op Eclipse gebaseerde producten, of deze zelfs uitbreiden.
Bekijk de voorbeeld-directorystructuur van het acmeweb-product:
acmeweb/
acmeweb.exe
eclipse/
.eclipseproduct
eclipse.exe
startup.jar
install.ini
.config/
platform.cfg
jre/
features/
com.example.acme.acmefeature_1.0.0/
feature.xml
...
plugins/
com.example.acme.acmefeature_1.0.0/
plugin.xml
about.ini
about.html
about.mappings
about.properties
acme.png
plugin_customization.ini
splash.jpg
welcome.xml
com.example.acme.acmewebsupport_1.0.0/
...
links/
...
Waar komen deze bestanden vandaan? De inhoud van het product kunt u bekijken vanuit de optiek van het ontwikkelteam. De geïnstalleerde bestanden kunnen in vijf hoofdcategorieën worden onderverdeeld:
- toplevel-productbestanden (bijvoorbeeld acmeweb.exe)
- productfeatures en plugins
- het Eclipse-platform zelf
- de Java-runtime-environment (JRE)
- bestanden die zijn gegenereerd door het installatieproces zelf
Een goed installatiescript produceert op de volgende wijze de juiste directorystructuur:
- de gebruiker toestaan de toplevel-directory voor de installatie op te geven (bijvoorbeeld c:\acmeweb.
vanaf nu wordt hiernaar verwezen door middel van acmeweb).
- controleren of het product nog niet is geïnstalleerd op de betreffende locatie
- de bestanden op de volgende manier kopiëren:
- De toplevel-productbestanden worden gekopieerd naar acmeweb
- Eclipse-bestanden worden gekopieerd naar acmeweb/eclipse waarbij de verwachte feature en plugin-directorystructuur worden gebruikt
- De JRE-bestanden worden gekopieerd naar acmeweb/eclipse/jre. Als zich al op een andere locatie een JRE bevindt, moet de snelkoppeling van de toepassing worden ingesteld op het oproepen van Eclipse met het -vm- opdrachtregelargument, zodat de locatie van JRE bekend is voor het platform
- Product-features en -plugins worden gekopieerd naar acmeweb/eclipse/features en acmeweb/eclipse/plugins
- een markeringsbestand, .eclipseproduct, maken in acmeweb/eclipse.
Dit markeringsbestand is een indelingsbestand van het type java.io.Properties waarin naam, ID en versie van het product worden aangegeven.
- de benodigde installatiegegevens (gebruiker, licentie, datum) opslaan die moeten worden afgebeeld in het Info-dialoogvenster in acmeweb/eclipse/plugins/com.example.acmefeature_1.0.0/about.mappings
- als het primaire feature-mechanisme (vóór R3.0) wordt gebruikt voor het definiëren van het product, vervangt u acmeweb/eclipse/install.ini door een bestand waarmee de eigenschap feature.default.id
wordt ingesteld op de primaire feature van het product
- het uitvoerbare bestand van het product oproepen door middel van de optie -initialize
Dit heeft tot gevolg dat het platform alle tijdrovende eerste verwerkingen in stilte uitvoert en de resultaten in cache opslaat, zodat wanneer de gebruiker het product opent, dit in de status Klaar voor gebruik wordt geopend.
Multiuser-onderwerpen
Wanneer een product wordt geïnstalleerd met de intentie de installatie gemeenschappelijk met meerdere gebruikers te gebruiken, is het belangrijk dat de individuele gebruikersinformatie (bijvoorbeeld de directory van het werkgebied) apart wordt gehouden van de installatiedirectory die kan worden gedeeld.
Installatie ongedaan maken
Wanneer een product wordt verwijderd, zijn de volgende concepten van belang.
- alle bestanden in de directory's eclipse/features en eclipse/plugins moeten worden verwijderd, ook als deze oorspronkelijk niet zijn geïnstalleerd door het installatieprogramma. Dit zorgt ervoor dat de bestanden die zijn toegevoegd door de platformupdatemanager worden verwijderd bij de verwijdering van het product.
- voor de andere dan de hierboven genoemde twee directory's geldt dat alleen die bestanden die zijn geïnstalleerd door het installatieprogramma moeten worden verwijderd. Het is belangrijk eventuele belangrijke gegevens, bijvoorbeeld de workspace-directory, te bewaren, zodat het opnieuw installeren van het product, nadat dit was verwijderd, de verwachte resultaten oplevert.
Het product opnieuw installeren
Als het product al geïnstalleerd is, kan het installatieprogramma een service-update of -upgrade toestaan als deze beschikbaar is. U kunt de aanwezigheid van het product controleren als u zoekt naar acmeweb/eclipse/.eclipseproduct. De informatie in dit markeringsbestand kan worden gebruikt om aan de gebruiker te bevestigen dat het juiste product wordt bijgewerkt. De beschikbaarheid van de updates kan worden gecontroleerd door de modellen te vergelijken met de namen van de features. De aanwezigheid van bijvoorbeeld acmeweb/eclipse/plugins/com.example.acmefeature_1.0.1 geeft aan dat de update van versie
1.0.1 al op het product is toegepast.
Als de geldigheid van het opnieuw installeren is vastgesteld, kan het installatieprogramma de bestanden kopiëren of vervangen. Als de versie van het onderliggende Eclipse-
platform niet is gewijzigd, is het mogelijk dat volledige directory's kunnen worden genegeerd. De versienummers die worden toegevoegd aan de platformfeatures en -plugins kunnen worden gebruikt om te controleren of het nodig is onder het niveau van de plugin- of featuredirectory's wijzigingen aan te brengen.
Meer informatie over het installeren van producten vindt u in How
to write an Eclipse installer.