VB, Access based program on Linux

Dan Kegel dank at kegel.com
Fri Feb 16 21:28:28 CST 2007


[-wine-users, +wine-devel]

On 2/6/07, Dan Kegel <dank at kegel.com> wrote:
> Neelesh wrote:
> >I work in one public charitable trust. Here we are using one
> >Accounting+Inventory+Report management Program. Two developers have
> >developed in VB, Access and Crystal Reports.
> >
> >Now I am trying to use it through wine on linux....
> ...
> If you want to help us get Wine ready for
> VB/Access applications, you could send a Wine
> developer a copy of your application so he could
> look at the problems locally.

Thanks for sending the app to me.
Of the many problems it seems to present, I'm starting
with the first one: an error dialog during install.
When it tries to run a couple subinstallers, it fails, and puts up
a dialog box saying the directory is invalid.  After a bit of looking,
I am starting to suspect that ShellExecuteEx is being called by
the installer with a quoted directory name, and Wine isn't
handling that right.  Here's a bit of log:

dank at krunch:/C:/foo/bar_Installation$ grep -i Shell.*Execute log7.c
000e:Call shell32.ShellExecuteExA(0035f40c) ret=0041e5a4
000e:trace:exec:SHELL_execute mask=0x00000640 hwnd=0x1002c
verb=L"open" file=L"C:\\foo\\bar_Installation\\InstMsiA.EXE" parm=L""
dir=L"\"C:\\foo\\bar_Installation" show=0x00000001 class=not used
000e:fixme:exec:SHELL_execute flags ignored: 0x00000400
000e:trace:exec:ShellExecute_FromContextMenu
L"C:\\foo\\bar_Installation\\InstMsiA.EXE"
000e:trace:exec:ShellExecute_GetClassKey ext = L".EXE"
000e:trace:exec:ShellExecute_GetClassKey class = L"exefile"
000e:trace:exec:SHELL_execute
execute:L"C:\\foo\\bar_Installation\\InstMsiA.EXE",L"",L"\"C:\\foo\\bar_Installation"
000e:trace:exec:SHELL_ExecuteW Execute
L"C:\\foo\\bar_Installation\\InstMsiA.EXE" from directory
L"\"C:\\foo\\bar_Installation"
000e:err:exec:SHELL_ExecuteW cannot set directory L"\"C:\\foo\\bar_Installation"
000e:trace:exec:SHELL_ExecuteW CreateProcess returned error 267
000e:trace:exec:SHELL_ExecuteW returning 11

The directory only has a quote mark at the beginning; this
may be a bug in your installer, but if Windows' ShellExecute
can handle that, Wine should be able to, too.

My computer time is limited, or I'd add a testcase in shell32/tests/shlexec.c
to check this.  Maybe someone else can have a look.
- Dan



More information about the wine-devel mailing list