Hi all
When trying to install the Windows Shell package from DolphinHarbor (http://www.dolphinharbor.org/dh/projects/shell/index.html) I get the following error: --- The package 'DH Shell Core' contains objects that are already installed in the image. The following objects in the package are already installed in the image: ShellLibrary>>SHChangeNotify:uFlags:dwItem1:dwItem2:, IShellFolder>>idlFromPath:, ITEMIDLIST If you proceed with installation the system will remove the clashing items from their existing packages (if any). This may change existing packages, and if you later uninstall this package the clashing objects will be removed along with it. --- Have anyone successfully ported it to Dolphin XP? Kind regards Hans Christian Bjørnstad |
Try importing the package into STS repository and then manually resolve
conflicts with the code in your image. Best regards, David Gorisek HCB wrote: > Hi all > > When trying to install the Windows Shell package from DolphinHarbor > (http://www.dolphinharbor.org/dh/projects/shell/index.html) I get the > following error: > > --- > The package 'DH Shell Core' contains objects that are already installed > in the image. > > The following objects in the package are already installed in the > image: > ShellLibrary>>SHChangeNotify:uFlags:dwItem1:dwItem2:, > IShellFolder>>idlFromPath:, ITEMIDLIST > > If you proceed with installation the system will remove the clashing > items from their existing packages (if any). > > This may change existing packages, and if you later uninstall this > package the clashing objects will be removed along with it. > --- > > Have anyone successfully ported it to Dolphin XP? > > Kind regards > Hans Christian Bjørnstad > |
Problem is I currently don't use STS, so I wouldn't know how to start.
I know I /should/ use STS, but haven't found the time to get to know it. Kind regards Hans Christian Bjørnstad |
Follow these simple steps:
1. Open "Source Tracking Tools" -> "Package Editions Browser" which will prompt you to create repository database. 2. Right click in the top right pane and select "Import", then import the D5 package. 3. Now you can load the package, STS will load everything it can into the image. But you can also selectively load code by doing the following: - create a package with the same name in your image, - right-click on the package in the System Browser and select "Compare with.." - you will then get a list of all differences between your empty package in the image and all the code which is in the repository. - now you can load only the code which you need. Best regards, David Gorisek HCB wrote: > Problem is I currently don't use STS, so I wouldn't know how to start. > > I know I /should/ use STS, but haven't found the time to get to know > it. > > Kind regards > Hans Christian Bjørnstad > |
David Gorisek wrote:
> Follow these simple steps: An alternative, and also reasonably simple, method for those who don't, won't, or can't use STS: Save your image. Load the package, making a note of any methods (etc) the system warns about. Remove those methods from the package (don't delete them). Save the package. Abandon the image /without/ saving. Now restart your saved image, and you should be able to load the package without problems. You may want to make a backup of the original package file before overwriting it. If you want to verify that the methods have the same definition in the original package and in the newer Dolphin code-base, there are several options (besides STS). One is to use Ian Bartholomew's Chunk Browser on the .pac file before loading the package. Another is to use the "Browse other=>Method history..." command (from a method list's context menu) to see the different versions after loading it. -- chris |
Tried to proceed the way David proposed, but grinded to a halt, when I
got to the point of trying to decide what i could delete. :-) Just tried what Chris proposed, but when trying to save the package i get the following: --- Cannot save package 'DH Shell Core' Package cannot be saved The package will NOT load if saved in this form so the package file has not been saved. Would you like to browse the packages prerequisites in order to track down the problem? --- Hmmm, i'm at a loss of what to do? Kinds regards Hans Christian |
> Just tried what Chris proposed, but when trying to save the package i
> get the following: > > --- > Cannot save package 'DH Shell Core' > > Package cannot be saved > > The package will NOT load if saved in this form so the package file has > not been saved. > > Would you like to browse the packages prerequisites in order to track > down the problem? > --- > > Hmmm, i'm at a loss of what to do? I think what's happened is that you've fixed the two methods the popup mentioned, but missed the class (ITEMIDLIST) it also mentioned. First off, in order to see how to diagnose this. The last sentence of the popup message (which could usefully be more explicit) is telling you that there is a problem with the package pre-requisites (or it wouldn't be asking if you wanted to browse them). Either answer yes, or go to the prerequisites pane of the Package Browser. In the upper panel right click, and select "show status icons". Packages which are "legal" will have green ticks, illegal ones will have red crosses. Here "legal" means that it has no cyclic prerequisites (if a package has a cycle in its list of prerequisites then it can't be loaded or saved). You'll see that the modified package has a cycle. Use the lower pane to see why it depends on a package which in turn depends on it. You'll find that one of the system packages (perhaps Dolphin -- I don't remember) depends on it because some system method refers to ITEMIDLIST, but that class is still in Steve's package. Aha! So, we have to remove that class from the package too. That's easy, but you have to remember to put it back into the system package it /should/ have been in (actually the 'Windows Shell' package), or you still won't be able to save. Once you've done that you should be able to save the package, and abandon that image. Start again with the modified package and everything should work OK. It seems to work for me, anyway, though I haven't run the tests. There is one bug I noticed, caused by the changes to AbstractTreeModel in D6. You should add a class side method to ShellTreeModel overriding the default search policy. ============ defaultSearchPolicy ^SearchPolicy equality ============ Also, remove the instance side implementation of #searchPolicy, and change #setRoots so that the first line is: super setRoots: aCollection. instead of: self basicRoots: aCollection. There may be other problems, but that should get you started. -- chris |
Free forum by Nabble | Edit this page |