On Saturday 10 July 2004 20:15, Mike McCormack wrote:
Consider adding "msi" = "native, builtin" to your Wine configuration files, and not installing the MSI redistributables straight away when you encounter an installer that uses msi.dll :) Let us know what bugs that turns up.
When I do this:
WINEDEBUG="trace+msi" WINEDLLOVERRIDES="msi=b" wine msiexec /i tippfix.msi
msi seems to loop endlessly. These are the first lines of the trace. Notice the second line showing a single space command line string:
trace:msi:MsiSetInternalUI 00000005 (nil) trace:msi:MsiInstallProductA "tippfix.msi" " " fixme:msi:MsiInstallProductW L"tippfix.msi" L" " trace:msi:MsiVerifyPackageW L"tippfix.msi" trace:msi:MsiOpenDatabaseW L"tippfix.msi" (null) 0x197fe6ac trace:msi:MSI_OpenDatabaseW L"tippfix.msi" (null)
Later, when the command line is searched for property/value pairs, the trace shows this:
trace:msi:ACTION_DoTopLevelINSTALL Looking at L" " trace:msi:ACTION_DoTopLevelINSTALL Found commandline property (L"\ffff\ffff") = (L"\deb0\197f\5ce6\1aa0\0f00\4fcc\87c7 \1aa0\dea4\197fC\197f\87ec\1aa0\dea4\197f") trace:msi:MSI_SetPropertyW Setting property (L"\ffff\ffff" L"\deb0\197f\5ce6\1aa0\0f00\4fcc\87c7\1aa0\dea4\197fC\197f\ 87ec\1aa0\dea4\197f") trace:msi:MSI_DatabaseOpenViewW L"select Value from _Property where _Property=`\ffff\ffff`" 0x197fcbc8
Clear signs of uninitialised memory being used. The patch below fixes this and also strips any leading whitespace off the property name.
-Hans
Changelog: Fix command line parsing.