[winemenubuilder] shell:SHELL32_DllCanUnloadNow (void): stub, WinMain failed

Mike Hearn mh at codeweavers.com
Tue Jun 8 12:45:39 CDT 2004

On Tue, 08 Jun 2004 18:03:38 +0200, Luca Capello wrote:
> - - get it working again on my machine (GNOME2 on Debian) - - extend it
> to other desktop environments (KDE2/3, GNOME1) on Debian - - extend it
> to other distros

I don't think it makes any sense to support anything other than the XDG
menu spec (which unfortunately not much supports yet, I think Fedora Core
2 has most of it in place). There is a standard, we should follow it and 
wait for the desktops to catch up. Then standards compliant desktop/distro
setups work, and others don't.

Believe me, if you saw the pain we go through in CrossOver to make this
work everywhere you would understand this attitude.

Menu support has been broken in Wine for so long that a few months longer
while waiting for the One True Standard (XDG menus) to filter down to the
people is not a big deal.

> IMHO, 'wineshelllink' should first create the .desktop file and then
> check where it should be copied and so on, based on desktop
> environment/distro. This means a complete change in the 'wineshelllink'.
> And I'll add a new option, something like '--path-to-be-installed'
> (where the .desktop entry should be copied): in this case,
> 'wineshelllink' can be invocated to created general menu entry (not
> desktop environment/distro specific).

Unfortunately it's not that simple. It's not enough to create a .desktop
file and put it in the right place. Modern desktops require you to edit
XML files (best way is to use XSLT I'd say) and other funky things as well
as creating .desktop files.

> The first feature is very simple and already done. The second one is not
> difficult if the menu you want to create is done manually, I mean, the
> .desktop files are plain text and creating/managing them is quite
> simple. If you want to do it by the installation process, is a little
> harder and here IMHO the necessary steps: - - launch WineTools - -
> choose to install an application
> - - WineTools saves the 'windows/Start Menu/' tree - - the application
> is installed
> - - WineTools compares the new 'windows/Start Menu/' with the saved one
>   and returns which menu entries (folder and launchers) should be
>   created in this form (example with BioEdit [3]):
> 	folder > Programs/BioEdit
> 	launcher > Programs/BioEdit/BioEdit Help.lnk launcher >
> 	Programs/BioEdit/BioEdit.lnk
> - - WineTools creates the new folder and launchers

Why not simply use the current system which hooks IShellLink?

thanks -mike

More information about the wine-devel mailing list