thomas.mertes@t-mobile.at wrote:
On my Suse 7.3 Linux (Kernel 2.4.4) I tried to start the w2k Explorer (Version 5.0 (Build 2195: Service Pack 3) using wine-20030115 with just buildin dlls.
It is quite possible that there is a problem in the Exception handling in Wine, however before Explorer is going to run under Wine, there needs to be a whole lot more done than that. The entire shell support in Wine is not at the point where Explorer will be able to do anything useful and it is just as likely that one of those problems triggers this Exception, which may be not handled correctly in Explorer itself, but when run on Windows, that Exception never ever has been triggered until now.
Explorer although an application is so tightly bound to the underlying OS, that I doubt that you could mix the Explorer application with different Windows versions itself. You definitely can't run W2K Explorer on a W9x platform and vice versa.
In general I think it is probably simpler to get a Wine equivalent of Explorer written than to get Wine to the point where it will run Windows Explorer.
Rolf Kalbermatter
Rolf Kalbermatter wrote:
before Explorer is going to run under Wine, there needs to be a whole lot more done than that. The entire shell support in Wine is not at the point where Explorer will be able to do anything useful...
Yep. We need to implement a lot of shell hooks... people want to be able to install plugins that add features to Explorer.
Explorer although an application is so tightly bound to the underlying OS, that I doubt that you could mix the Explorer application with different Windows versions itself. You definitely can't run W2K Explorer on a W9x platform and vice versa.
In general I think it is probably simpler to get a Wine equivalent of Explorer written than to get Wine to the point where it will run Windows Explorer.
Probably. We'll still need to implement those shell hooks, though. - Dan
Yep. We need to implement a lot of shell hooks... people want to be able to install plugins that add features to Explorer.
Yuck. That's not going to be fun. I once tried to write Explorer shell objects to make virtual folders and such, along the way I somehow managed to completely trash explorer such that it'd not display the listview control for the directory at all. That part of Windows is really not documented at all well, and there are precious few examples. Certainly doing stuff like ZipFolders is pretty evil.
Is there a compelling reason why people need to do this? I can't see why you'd want to use Explorer to browse files unless it's truly necessary....
Mike Hearn wrote:
Yep. We need to implement a lot of shell hooks... people want to be able to install plugins that add features to Explorer.
Yuck. That's not going to be fun. I once tried to write Explorer shell objects to make virtual folders and such, along the way I somehow managed to completely trash explorer such that it'd not display the listview control for the directory at all. That part of Windows is really not documented at all well, and there are precious few examples. Certainly doing stuff like ZipFolders is pretty evil.
Went through that hell as well. Wrote a shell extension to display the contents of a private file archive format and it took me quite some time to get it right. Didn't get results as bad as yours, but it definitely started to get strange at times. The entire shell extension interface isn't exactly well documented, not quite well designed and in my view an adhoc implementation, which unfortunately happened to survive its "proof of concept". Also subtle differences between the different Windows versions can drive you really crazy. Due to the traditional bad documentation there are many shell extensions out there who happen to work on certain Windows versions more by luck than by design and getting these things in Wine all to work in the same strange ways is going to be a nightmare.
My shell extension was a self contained extension based on the early semi-official cabview shell extension from MSDN from Microsoft. Never really seriously tried to use the built in ShellView object which got only recently very limited documentation in the course of the trial decision to document many private Win32 APIs.
Is there a compelling reason why people need to do this? I can't see why you'd want to use Explorer to browse files unless it's truly necessary....
Well, running Explorer on Wine is IMO not a very hot topic. And most of the actual functionality of Explorer really is in shell32 and friends and Explorer is just the process who starts a user interface and ties all the things together, so what we actually would need is a very thorough implementation of the shell32 functionality anyhow.
Eventually writing a WineExplorer seems to me a little more interesting although it really is a rather low priority thing (and making it work with shell extensions is going to be quite some work). It is a little bit a catch 22 situation here. Quite some APIs in shell32 and other related DLLs are mainly used in Explorer although with the recent documentation of them other applications are likely to start to use them too. To test and torture those APIs Explorer would be nice. On the other hand Explorer really does not add a lot of functionality in terms of user experience, as your Unix X desktop has very likely a filesystem browser which is more fun to use. Having our own WineExplorer is not likely to use all those APIs, as many functionality in Explorer is probably never really used in an obvious way and therefore is unlikely to be built into a WineExplorer.
Rolf Kalbermatter