IPersistFile::Load() broken ? + WineLib queries

Subhobroto Sinha pasha_3d at yahoo.com
Thu Aug 21 18:32:27 CDT 2003

Respected members of the forum,
I have a few queries, which I have tabulated under:


(1) With Windows apps doing smoothly on Wine, I had
thought of creating a little program which would
resolve Windows shortcut (.lnk) files.
The program behaved perfectly with NO glitches
whatsoever with the Wine package of <20030217-23>
which came with my SuSE 8.2 as RPM.
I had also downloaded the Wine20030408 tarball, which
I duly patched upto v20030813 (the latest), removed
the installed RPM package and wineinstalled the source
for Wine20030813.
(The improvements made was immediately apparent, and I
could run Norton 2000 Update Agent as well as install
my own .msi packages !)

However, my program (which resolved shortcuts) failed
to work anymore !

Previously, to compile the source using WineLib(from
Wine<20030217-23>) I had to make the following changes
in my source code:

	(1) Replace IShellLink with IShellLinkA
	(2) Include the header "shlguid.h"

With the latest WineLib(from Wine20030813), I did NOT
have to make ANY changes to the original source
however, but though the source compiled without any
issues, it failed at the IPersistFile::Load() call !

To make debugging easier for you folks, I have
prepared a ZIP Package called "WineShellDriverPak.zip"
which contains the following software:
	(1) The source code "WineShellDriver.cpp" . (This
compiles on VC6 AND WineLib without ANY modification)
	(2) The VC6 compiled EXE file "WineShellDriver.EXE".
To make this program work, just pass the .lnk filename
as command line arg, and if successful, it will write
out the resolved path in a text file called
"WineWorksResolvedPath.dat" (This ALSO failed to work
under Wine20030813)
	(3) The previous "working" (it does NOT work
anymore..) WineLib form ("linkresolve.exe.so") of this
code. This had been compiled using Wine<20030217-23>
which came with SuSE 8.2. It used to work fine.
	(4) A shortcut (Notepad.lnk) file for testing. It
should resolve to "C:\WINNT\notepad.exe"

Is it due to a BUG in the latest release, or did I do
something wrong ?

(2) How do I REDUCE the size of WineLib compiled apps
Those source code which compile to ~35KB using VC6,
compile to ~900KB using WineLib.
Currently, I have to "strip" the WineLib compiled
apps, but often, this breaks them !
Any suggestions ?

(3) How do I log the output to a file say
"Winelog.log" of a command like:

"$ wine --debugmsg +all winelibapp.exe.so --
commandline args"

Redirection (>>) or pipes (|less) only captues the
output given by "winelibapp.exe.so" and NOT that given
by Wine.
(I currently run Wine from the commandline using

Thank you for your time. Please keep up the good work


Subhobroto Sinha
Help us to free ourselves!

Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
-------------- next part --------------
A non-text attachment was scrubbed...
Name: WineShellDriverPak.zip
Type: application/x-zip-compressed
Size: 27743 bytes
Desc: WineShellDriverPak.zip
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20030821/cf2783ae/WineShellDriverPak.bin

More information about the wine-devel mailing list