I created an RCP application that enables p2. The ui is added and updatesites can be added as well.
But adding new software (which is already installed), this happens:
Your original request has been modified.
"Help" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
Software being installed: Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110844)
Software currently installed: SmartSignature 1.0.0.201210110831 (smartapps.smartsignature.application.product 1.0.0.201210110831)
Only one of the following can be installed at once:
Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.jar 1.0.0.201210110844)
Help 1.0.0.201210110831 (smartapps.smartsignature.features.help.feature.jar 1.0.0.201210110831)
Cannot satisfy dependency:
From: SmartSignature 1.0.0.201210110831 (smartapps.smartsignature.application.product 1.0.0.201210110831)
To: smartapps.smartsignature.features.help.feature.group [1.0.0.201210110831]
Cannot satisfy dependency:
From: Help 1.0.0.201210110831 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110831)
To: smartapps.smartsignature.features.help.feature.jar [1.0.0.201210110831]
Cannot satisfy dependency:
From: Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110844)
To: smartapps.smartsignature.features.help.feature.jar [1.0.0.201210110844]
Well that's the whole point of the p2... There is one thing I think might be causing the error but I don't know how to actually fix it.
Is it possible that the features in the repository are different from the features installed in the base RCP application? That upon installing the p2 detects that it is the same feature but still thinks it is different because it has a different source? Does this make any sense?
Well I figured it out... It was just a dependency problem.
My Application Product was based on these Features with a version. So installing another version failed.
I just added my App feature as dependency for the product and included all my (updateable) features in this App Feature. When including them you can set the Feature as Optional.
Setting this feature as optional still includes it in your product build, but it allows you to perform standalone update of only 1 feature at a time!