[-wine-users, +wine-devel]
On 2/6/07, Dan Kegel dank@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@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