This MSI file for MSXML3:

   
http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052b-42ff-9674-f752bdca9582&displaylang=en

does not work. It crashes inside custom code after
MsiGetPropertyW("CustomActionData") returns the empty string due to the
property not being found. A relay trace indicates this sort of thing is
happening:

0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd7d418 L"Will be 
installed to run from network") ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=ffffffff ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd7d270 
L"MenuAllLocal") ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=ffffffff ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd7cfd8 
L"VerdanaBold13") ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=ffffffff ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd7be68 
L"(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND 
PROMPTROLLBACKCOST=\"F\")") ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=00000001 ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd7ba40 L"{80}") 
ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=00000001 ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd6b650 L"Cancel") 
ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=00000001 ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd6b5e8 
L"Description2") ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=ffffffff ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd69660 
L"Organization") ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=ffffffff ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd695c0 
L"DisableRollbackMessage") ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=ffffffff ret=7fa5b975
0010:Call kernel32.lstrcmpW(7fdc68a8 L"CustomActionData",7fd68050 L"HashPart2") 
ret=7fa5b975
0010:Ret  kernel32.lstrcmpW() retval=ffffffff ret=7fa5b975

In other words it seems to not actually be scanning property names but
rather random strings from the stringtable. Does any MSI guru want to take
a look? I spent an hour on this and didn't get very far, maybe you guys
will have more luck ...

thanks -mike



Reply via email to