Hier die versprochene Rückmeldung. Mit Hilfe der "CustomizeAddon.exe" aus dem Notes- Client- Installationskit funktioniert es -nach einigen Startschwierigkeiten- ganz gut. Einziges Problem: Obwohl ich in der install.addon.xml beim feature angegeben habe, das es "shared" installiert werden soll (also nach Programme (x86)\IBM\Notes\rcp\shared), installiert die generierte MSI das Plugin immer ins Workspace- Verzeichnis des Benutzers.
Wenn ich das noch rauskriegen könnte, wäre echt genial...
So sieht im übrigen meine install.addon.xml aus:
<?xml version="1.0" encoding="UTF-8"?>
<ibm-portal-composite>
<domain-object name="com.ibm.rcp.installmanifest">
<object-data>
<install>
<installfeature id="Platform.XPD" required="true">
<requirements>
<feature id="com.endava.jabber4notes.feature"
version="2.11.8.298" match="compatible"
action="install" shared="true" mergeaction="add"
url="jar:${installer.root}/updateSite.zip!/" />
<feature id="com.endava.jabber4notes.IMPFragmentFeature"
version="2.11.8.298" match="compatible"
action="install" shared="true" mergeaction="add"
url="jar:${installer.root}/updateSite.zip!/" />
</requirements>
</installfeature>
</install>
</object-data>
</domain-object>
</ibm-portal-composite>
dazu noch diese plugin_customization.ini, damit ich kein problem mit der Signatur habe, und die Plugin- Vorkonfiguration gleich mal mitkommt:
com.ibm.notes.branding/enable.update.ui=true
com.endava.jabber4notes/jid.field=InternetAddress
com.ibm.rcp.security.update/UNTRUSTED_SIGNATURE_POLICY=ALLOW
com.ibm.rcp.security.update/TRUST_CERTIFICATE_AUTHORITIES=true
Ich weiss, eigentlich müsste ich mit sauberen Signaturen arbeiten, aber jetzt muss es erstmal laufen...
Um das Ganze abzuschliessen: shared="true" hat leider keinerlei Einfluss, wenn im Feature selbst der Installationsort angegeben wird. Dieser steht in der feature.xml innerhalb der jar- Datei als
colocation-affinity="com.ibm.rcp.site.anchor.user.feature"
Ändert man das auf
colocation-affinity="com.ibm.rcp.site.anchor.shared.feature"
dann ändert sich der Installationsort.
Problem dabei: durch Ändern der feature.xml innerhalb des jar- files invalidiert man dessen Signatur. Man muss also das jar- file neu signieren.
Dazu per 7ZIP alle .SF und .RSA- Files aus dem Verzeichnis META-INF entfernen, einen eigenen Keystore rechnen mittels Keytool aus dem Java JDK (ggf. Schlüssel signieren lassen, wenn man nicht mit einem selbst signierten Zertifikat unterzeichnen will) und dann die Jar mittels jarsigner neu signieren.
ACHTUNG: Man muss hierzu UNBEDINGT ein JDK 1.6 benutzen, weil ab JDK 1.7 mit SHA256 signiert wird, was der Notes- Client (auch mit FP9) mit der Fehlermeldung "NoSuchAlgorithmException" bzw. "No algorithm found for 2.16.840.1.101.3.4.2.1" quitiert, der versteht laut diesem IBM Artikel (http://www-01.ibm.com/support/docview.wss?uid=swg21580543) (noch immer) nur SHA1 für signierte Plugins.