Pokyny pro instalaci produktu
Tato platforma nabízí standardní nástroje pro aktualizaci a rozšiřování produktů. Aby váš zabalený produkt mohl využívat mechanizmů platformy pro aktualizaci a rozšiřování produktů, měl by splňovat následující pokyny. To mu umožní mírumilovně koexistovat s ostatními produkty na bázi Eclipse či přímo zvyšovat efektivitu jejich funkcí.
Znovu se podívejte na ukázkovou adresářovou strukturu produktu acmeweb:
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/
...
Odkud se tyto soubory vzaly? Podívejme se na obsah produktu z pohledu vývojového týmu. Instalované soubory lze rozdělit do pěti hlavních kategorií:
- Soubory produktů nejvyšší úrovně (jako např. acmeweb.exe).
- Funkce a moduly plug-in produktu.
- Samotný modul Eclipse Platform.
- Běhové prostředí Java Runtime Environment (JRE).
- Soubory generované samotným instalačním procesem.
Náležitý instalační skript vytvoří následujícím způsobem odpovídající adresářovou strukturu:
- Umožní uživateli určit adresář instalace nejvyšší úrovně (jako například c:\acmeweb.
Ve zbývajících krocích jej budeme nazývat už jen acmeweb.)
- Zkontroluje, zda v daném umístění již není instalovaný nějaký produkt.
- Zkopíruje soubory následujícím způsobem:
- Soubory nejvyšší úrovně produktu se zkopírují do adresáře acmeweb.
- Soubory Eclipse se zkopírují do adresáře acmeweb/eclipse s využitím očekávané adresářové struktury funkcí a modulů plug-in.
- Soubory JRE se zkopírují do adresáře acmeweb/eclipse/jre. Pokud je JRE již umístěno jinde, měl by být připraven zástupce aplikace, který vyvolá eclipse s argumentem příkazového řádku -vm, aby platforma znala umístění JRE.
- Moduly plug-in a funkce produktu se zkopírují do adresářů acmeweb/eclipse/features a acmeweb/eclipse/plugins.
- Vytvoří soubor značkovačů .eclipseproduct v adresáři acmeweb/eclipse.
Soubor značkovačů je soubor ve formátu java.io.Properties, který udává název, ID a verzi produktu.
- Uloží nezbytné instalační informace (uživatel, licence, datum), které se mají zobrazovat v dialogovém okně O produktu do acmeweb/eclipse/plugins/com.example.acmefeature_1.0.0/about.mappings.
- Pokud je k definici použit mechanizmus primární funkce (před R3.0), nahraďte acmeweb/eclipse/install.ini souborem, který nastavuje vlastnost feature.default.id na primární funkci produktu.
- Vyvolá spustitelný soubor produktu pomocí parametru -initialize.
To způsobí, že platforma tiše provede veškeré časově náročné prvotní zpracování a výsledky uloží do mezipaměti, takže když uživatel spustí produkt, ten se okamžitě otevře ve stavu připraveném k práci.
Problematika více uživatelů
Pokud je produkt instalován s úmyslem umožnit práci více uživatelů, je třeba dbát na oddělení dat jednotlivých uživatelů (např. adresář workspace) od sdíleného instalačního adresáře produktu.
Problematika odinstalování
Při odinstalování produktu jsou důležité následující koncepty.
- Měly by být odebrány všechny soubory v adresářích eclipse/features a eclipse/plugins, i v případě, že nebyly původně nainstalovány instalačním programem. Tím se zajistí, že budou při odebrání produktu odebrány i soubory přidané Správcem aktualizace platformy.
- S výjimkou výše uvedeného bodu by měly být v ostatních adresářích odebrány pouze ty soubory, které byly nainstalované instalačním programem. Je důležité, aby byla zachována případná důležitá data, jako např. adresář pracovního prostoru, aby opětovná instalace produktu po odinstalování přinesla očekávané výsledky.
Opětovná instalace produktu
Když je produkt již nainstalován, měl by instalátor umožnit aktualizaci nebo přechod na vyšší verzi služby, pokud je nějaká k dispozici. Existenci produktu lze potvrdit vyhledáním souboru acmeweb/eclipse/.eclipseproduct. Informace v tomto souboru značkovačů je možné použít k potvrzení uživateli, že je aktualizován správný produkt. Dostupnost aktualizací lze potvrdit porovnáním vzorků s názvy funkcí. Například přítomnost souboru acmeweb/eclipse/plugins/com.example.acmefeature_1.0.1 by indikovala, že byl produkt již aktualizován na verzi 1.0.1.
Jakmile je potvrzena platnost opětovné instalace, měl by instalační program zkopírovat nebo nahradit soubory, jak je zapotřebí. Pokud se nezměnila verze základní platformy Eclipse, je poměrně vysoká pravděpodobnost, že je možné ignorovat celé adresáře. Pomocí čísel verzí připojených k modulům plug-in a funkcím platformy lze určit, zda jsou zapotřebí nějaké změny na úrovni nižší než adresář funkce nebo modulu plug-in.
Další informace o instalaci produktů jsou k dispozici pod tématem Jak napsat instalátor pro Eclipse.