| Summary: | Unable to use p2 UI to uninstall features installed by old UM UI | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | DJ Houghton <dj.houghton> | ||||
| Component: | p2 | Assignee: | DJ Houghton <dj.houghton> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | ashishp, john.arthorne, mknauer, pascal, simon_kaegi, thomas, timothym | ||||
| Version: | 3.3 | Flags: | john.arthorne:
review+
|
||||
| Target Milestone: | 3.4 RC1 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
DJ Houghton
I've verified that this was also a problem in n0421 which is before we released the latest platform.xml reconciliation code. I've exported all the p2 bundles and put them on top of last night's nightly build and I'm unable to reproduce this problem. I'll re-open if I see it again but for now I will close. I'm using the I20080422-0800 build and I experience a similar problem. I installed the WTP JPA feature. Later I tried to revert my configuration to the one I had before that installation. To my surprise, after restarting the IDE the JPA feature was still active. I then tried to uninstall it. The uninstall appears to be a success but after restarting the IDE, the feature reappears and its it's still active. This is happening for me again today. Thomas, I would recommend opening a new bug report for your problem. This bug is focused on the install then un-install scenerio and is unrelated to the revert action. Thanks. It turns out this happens when you install a feature via the old update manager UI. Because of the way we install, it is treated similar to the dropins repository (which we aren't allowed to un-install from) When we install things, they aren't added to the bundle pool so if we try to uninstall from p2, we can't uninstall them. If we try to uninstall via the old update manager UI I *think* it uses .del files to indicate that something should be removed on next startup but that code is run by the update configurator which we don't use, so we end up re-installing everything on the next startup. One thing that Simon mentioned that I will investigate is the use of .del files by the DirectoryWatcher. When Jeff originally wrote it, he used those files to indicate a way to filter out and ignore things. I also need to review the way that update configurator handled the deletion. (In reply to comment #5) > Thomas, I would recommend opening a new bug report for your problem. This bug > is focused on the install then un-install scenerio and is unrelated to the > revert action. Thanks. > I tried both uninstall and revert. None of them worked so I still think it might be the same problem. I didn't install with the old update manager. Everything I had was installed from the new UI. I'm experiencing the same problem using a local repo that I've generated. I can install something but the uninstall doesn't actually work. Thomas/Tim, if you are using the regular p2 UI and not the old update manager UI then please enter a new bug so this issue can be tracked. Thanks. I don't know what was changed but the I20080429-0100 build is working fine with installing and uninstalling CDT from the Ganymede Discovery Update site. Which UI? (In reply to comment #11) > Which UI? > Ah ok, I was using the p2 UI. I have created bug 230412 to cover the case where we are trying to install and uninstall via the old Update Manager UI. I will use this bug to cover the case where we are installing via the old Update Manager UI and trying to uninstall via the p2 UI. Created attachment 99312 [details]
patch
We talked this over and since the discovery mechanism for changes in the platform.xml file is the same as the dropins folder, we are unable to uninstall these features.
The best story for 1.0 is to add the "not-uninstallable" property to the IU which would disable the Uninstall button in the UI.
The general story is that however you installed the features into your system (old UM UI, dropins, p2 UI), you must use the same mechanism to uninstall them.
Released. *** Bug 229605 has been marked as a duplicate of this bug. *** I'm reopening this one for several reasons: Background: we have a product that installs via Update manager using the install-handler (install/uninstall hooks). 1) After installing our product, which causes p2 to launch the old UM, when the workbench restarts and if I go to the help -> software updates menu the entire workbench halts and I have to kill the process from the process list. (This is using RC1) 2) How can a user use the old UM to uninstall their product? In the past I used to go to Manage Software configuration, then right click on the main feature of my product and select uninstall. Your first problem sounds like bug 232504. I personally experienced delays of several minutes when opening the dialog. I believe you should be able to uninstall via the p2 UI. If not, then you can enable the old Update Manager UI via Windows -> Preferences -> General -> Capabilities -> Classic Update Manager. This will enable the menu options for your Manage Configuration dialog. I see the capabilities listed in the Eclipse SDK but not in any of the Eclipse M7 Ganymede packages (http://www.eclipse.org/downloads/packages/). Why is that? I don't know how the EPP packages are built. John, do you know? Perhaps they are being built on a version of the SDK which is older? Or maybe they don't contain all the same bundles? I don't know. The EPP packages are built by the pde build packager which ends up being equivalent to a dropins behavior. Hmm, does anybody know the bundle/plug-in that adds the capability functionality? Maybe this plug-in is not available in every EPP package... e.g. it is not available in the CPP package, but it *is* available in the RCP package. I just downloaded the "Eclipse for RCP/Plug-in Developers" from http://www.eclipse.org/downloads/packages/ and it does contain the Classic Update capability. I believe it is contributed by the org.eclipse.equinox.p2.ui.sdk bundle. |