Wine Traffic #232 For 23�Jul�2004

By Brian Vincent

Table Of Contents

Introduction

This is the 232nd issue of the Wine Weekly News publication. Its main goal is to assemble desks. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix. Think of it as a Windows compatibility layer. Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available. You can find more info at www.winehq.org (http://www.winehq.org)

Mailing List Stats For This Week

We looked at 147 posts in 639K.

There were 53 different contributors. 23 posted more than once. 19 posted last week too.

The top posters of the week were:

1. News: Wine-20040716, ELX BizDesk 4.0

17�Jul�2004�-�23�Jul�2004 (1 post) Archive Link: "News"

Topics: News

People: Alexandre Julliard,�,�Microsoft,�DesktopOS.com,�News

New Wine release.. lots of new goodies:

WHAT'S NEW with Wine-20040716: (see ChangeLog (http://cvs.winehq.com/cvsweb/wine/ChangeLog?rev=1.85&content-type=text/x-cvsweb-markup) for details)

As always, you can find links to the source and binary distributions at the WineHQ download page. (http://www.winehq.com/site/download) Of course, since it came out almost a week ago it's already out of date compared to CVS. To stay on the bleeding edge try downloading it from CVS (http://www.winehq.com/site/cvs) (or keep reading for a thread on where to find CVS snapshots.)

There's a review of ELX BizDesk 4.0 on DesktopOS.com. If you skip to page 3 (http://www.desktopos.com/sections.php?op=viewarticle&artid=29) you'll find short mention of WineTools (http://www.frankscorner.org/winetools/) being packaged with it. That's the first time I've heard of it being shipped with a distro.

2. MSIExec.exe Replacement

18�Jul�2004 (4 posts) Archive Link: "msiexec.exe replacement"

Topics: Status Updates

People: Vincent Beron,�,�Microsoft,�Mike McCormack

I don't directly cover a lot of patches that go into Wine. Partly because I feel if I write about what one person has accomplished I should write about what everyone has. Often large patches do generate discussion on wine-devel, so I do cover them in the context of the discussion. Last week I included Mike McCormack's status update on Microsoft Installer work (issue #231 (http://www.winehq.com/?issue=231#Status%20of%20MSI) ) and he mentioned there was no actual implementation of msiexec.exe to go along with it. Lest anyone out there is actually working on it you should note that Vincent B�ron came up with an initial implementation:

Note: Much functionnality is still absent, but it's already able to begin the installation of iTunes.msi and netfx.msi. I plan on updating this in the coming days.

Changelog:

3. Translating Wine

21�Jul�2004 (1 post) Archive Link: "Localization status"

Topics: status Updates

People: Marcelo Duarte,�,�Marcus Meissner

Marcelo Duarte posted an update on the status of Wine's translation and about a new tool to help in localization efforts:

I modified a tool that Vincent B�ron made and thus we can have the status of the translation of some languages. Case somebody wants that I add others I inform me. We can see that some languages are well complete, as the Portuguese ;)

Marcelo included the output (http://www.winehq.com/hypermail/wine-devel/2004/07/0316.html) in his email for German, English, Spanish, French, Italian, and Portuguese. Perhaps not so coincidentally there were some patches for the German translations by Henning Gerhardt and Marcus Meissner that appeared this week. Ivan Leo Puoti also provided some Italian translations.

4. Daily CVS Snapshots

22�Jul�2004 (4 posts) Archive Link: "daily wine cvs source snapshots?"

Topics: WineHQ

People: Jeroen Janssen,�Andreas Mohr,�Jeremy Newman,�

Jeroen Janssen asked, " Would it be possible to have daily cvs snapshots (cvs export) of the wine HEAD tree?"

It's such a good idea that we already thought of it. Um.. except we forgot to tell anyone.. or maybe we used to tell people but then we changed the website and forgot about it. Andi Mohr replied first with a link, " Err... we've already been having that for a VERY long time ;-) http://lisas.de/~andi/wine_files/wine-cvs-hopefully-current.tar.bz2 (http://lisas.de/~andi/wine_files/wine-cvs-hopefully-current.tar.bz2) (I thought that was mentioned at WineHQ? Not sure, though, especially with all those changes in the meantime...)"

Jeremy Newman pointed out that WineHQ also has CVS repository available, " We also tar up the entire CVS on our main ftp server here: ftp://ftp.winehq.org/pub/wine/full-cvs-2004-07-21.tar.gz (ftp://ftp.winehq.org/pub/wine/) "

Keep in mind the link Jeremy provided is for the full CVS and is quite large.

5. Stubbing a COM Interface

19�Jul�2004 (5 posts) Archive Link: "urlmon missing InternetSecurityManager"

Topics: Creating Stubs

People: Jeroen Janssen,�Mike McCormack,�Rob Shearman,�Lionel Ulmer,�,�Unknown

In a different thread, Jeroen wanted to know how to go about implementing some new functionality.. or at least starting to by stubbing out an interface:

It seems urlmon is missing a (stubbed) IInternetSecurityManager Interface (see also http://msdn.microsoft.com/workshop/security/szone/reference/ifaces/iinternetsecuritymanager/iinternetsecuritymanager.asp (http://msdn.microsoft.com/workshop/security/szone/reference/ifaces/iinternetsecuritymanager/iinternetsecuritymanager.asp) ).

Since I am new to this, I was wondering how I can create a stubbed implementation. As far as I can tell I need to:

  1. update the urlmon.idl (add IInternetSecurityManager)
  2. create a stubbed implemenation in dlls/urlmon/; making sure the stubbed interface also gets registered during 'wineprefixcreate'.

Are there any (wine) pointers on implementing a new (stubbed) COM interface?

Mike McCormack confirmed the first point and clarified the second point, "right... though you should only need to add an implementation of URLMON_DllRegisterServerEx to make that work, assuming that wine.inf already tries to register urlmon.dll" Mike offered a tip too, " It's nice to have a test program (usually built on a windows machine) to test your new interface. Make sure you get the right number of methods in the right order, with the right calling convention and arguments. You need to implement IUnknown manually. You probably want to reference another piece of code that already implements a COM interface... there's plenty in dlls/shell32 and dlls/ole32. (eg. dlls/shell32/shelllink.c) "

Rob Shearman pointed out another thing that had to be done, " You will need to update the corresponding urlmon.h header file too, so that it can be used by C code. You can do this by running "make idl" in the wine/include/ directory. Lionel Ulmer had a script to create a stubbed out COM interface, so maybe he could give you the script or create the interface for you. However, given the relatively small number of methods in IInternetSecurityManager it might be just as easy to create it by hand. "

Jeroen wondered why that script wasn't in the tools/ directory and Lionel replied, " Because it was an unmanageable Python hack that worked for me after a lot of tweakings (for DirectX and QUARTZ)."

6. Out of Tree Builds

18�Jul�2004�-�19�Jul�2004 (4 posts) Archive Link: "build problem"

Topics: Build Process

People: Stefan Leichter,�Alexandre Julliard,�

Stefan Leichter ran into a problem with out of tree builds, " When i have a changed spec file for a dll in the build tree it does not get used. The spec file from the source tree is used. Can this be fixed? "

Alexandre didn't see what the problem was since the spec file belonged in the source tree. Stefan described how he was trying to work:

My computer has a cvs (source) tree and the build tree. When I make changes to test something, I copy the source file to be changed for the source tree into the build tree and modify it. After this I run configure, make depend, make and make install in the build tree to get the changes into the wine binary.

If a C source file or a header file exists in the build tree it is used instead of the file in the source tree. Spec files in the build tree are ignored. They are always used from the source tree. Therefore I have to edit the Makefile in the build tree to use the modified spec file, or like the dll.so file by hand.

Hope my problem is explained clearer now. Do I use an undocumented feature?

Alexandre explained why that wouldn't work, " that's not how you are supposed to use build trees. The build tree should contain only generated files, all the sources should be in the source tree. It won't work right to have sources in both places, not only because of the spec files, dependencies also won't be correct include files may not always be included from where you expect, etc. "

7. Contacting Testers

17�Jul�2004 (1 post) Archive Link: "Test contacts"

Topics: Testing

People: Mike Hearn,�

We asked folks if they could help run Wine's automated test suite (http://www.winehq.com/?issue=224#Testing%20-%20Volunteers%20Needed) . This week Mike Hearn wondered how to go about contacting some testers, " The test reports don't seem to include an email address for the reporters. I'd love to contact Nicolas Escuder or Dimitris Koukoravas to try and find out what their drive G: is and why it makes GetDiskFreeSpace fail. "

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.