Respected members of the forum, I have a few queries, which I have tabulated under:
First:
(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 ?
Second: (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 XTerm)
Thank you for your time. Please keep up the good work !
Cheers
Subhobroto Sinha ---------------------------- Help us to free ourselves!
__________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com
On August 21, 2003 07:32 pm, Subhobroto Sinha wrote:
With the latest WineLib(from Wine20030813), I did NOT have to make ANY changes to the original source
Good! This is good progress indeed!
however, but though the source compiled without any issues, it failed at the IPersistFile::Load() call !
Bummer. Please try to find the exact patch that caused the problem. Here are the instructions on how you can do that: http://www.winehq.org/Docs/wine-devel/cvs-regression.shtml
Is it due to a BUG in the latest release, or did I do something wrong ?
If the native .exe fails to work, is a BUG by definition.
Second: (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 ?
How big are stripped binaries? Why/how do they break?
(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.
The log is sent to stderr, so you need to do 2>Winelog.log, like so:
$wine --debugmsg + all winelibapp.exe.so 2>Winelog.log