wine
17 years agowinex11: Remove an unused variable.
Stefan Dösinger [Fri, 7 Dec 2007 14:06:39 +0000 (15:06 +0100)] 
winex11: Remove an unused variable.

17 years agowined3d: Use SetDisplayMode to set the display mode.
Stefan Dösinger [Tue, 11 Dec 2007 15:40:07 +0000 (16:40 +0100)] 
wined3d: Use SetDisplayMode to set the display mode.

17 years agowined3d: Remove 24/32 bit hacks.
Stefan Dösinger [Tue, 11 Dec 2007 15:38:18 +0000 (16:38 +0100)] 
wined3d: Remove 24/32 bit hacks.

17 years agowined3d: Fixed a bug that the 8600M GT could not be detected.
Marco Schuster [Tue, 11 Dec 2007 16:18:23 +0000 (17:18 +0100)] 
wined3d: Fixed a bug that the 8600M GT could not be detected.

17 years agorsaenh: Fix some memory leaks in the tests.
Rob Shearman [Mon, 10 Dec 2007 14:25:32 +0000 (14:25 +0000)] 
rsaenh: Fix some memory leaks in the tests.

Remove an incorrect CryptProviderRelease call.

17 years agowidl: Add support for non-basetype return types.
Rob Shearman [Mon, 10 Dec 2007 14:24:11 +0000 (14:24 +0000)] 
widl: Add support for non-basetype return types.

17 years agomshtml: Fix CSS px unit handling differences between Gecko and IE.
Jacek Caban [Mon, 10 Dec 2007 19:12:40 +0000 (20:12 +0100)] 
mshtml: Fix CSS px unit handling differences between Gecko and IE.

17 years agomshtml: Added more IHTMLStyle implementation.
Jacek Caban [Mon, 10 Dec 2007 19:11:58 +0000 (20:11 +0100)] 
mshtml: Added more IHTMLStyle implementation.

17 years agontdll: Initialize the APC call union to suppress valgrind warnings. Take 2.
Dmitry Timoshkov [Tue, 11 Dec 2007 14:07:42 +0000 (22:07 +0800)] 
ntdll: Initialize the APC call union to suppress valgrind warnings. Take 2.

17 years agowintrust: Implementations for WTHelperGetFileName and WTHelperGetFileHandle.
Aric Stewart [Tue, 11 Dec 2007 13:16:03 +0000 (22:16 +0900)] 
wintrust: Implementations for WTHelperGetFileName and WTHelperGetFileHandle.

17 years agocomctl32: Monthcal lost focus fix.
Gregor Brunmar [Mon, 10 Dec 2007 18:21:36 +0000 (19:21 +0100)] 
comctl32: Monthcal lost focus fix.

17 years agocomctl32: Fix painting bug in listview control.
Thomas Weidenmueller [Tue, 11 Dec 2007 06:43:43 +0000 (23:43 -0700)] 
comctl32: Fix painting bug in listview control.

17 years agowined3d: Fix a "ordered comparison of pointer with integer zero".
Michael Stefaniuc [Mon, 10 Dec 2007 22:55:18 +0000 (23:55 +0100)] 
wined3d: Fix a "ordered comparison of pointer with integer zero".

17 years agowinebuild: Don't set the IMAGE_FILE_DLL flag on native modules.
Alexandre Julliard [Tue, 11 Dec 2007 11:52:26 +0000 (12:52 +0100)] 
winebuild: Don't set the IMAGE_FILE_DLL flag on native modules.

17 years agoMakedll.rules: Add a generic EXTRADLLFLAGS variable instead of defining a specific...
Alexandre Julliard [Tue, 11 Dec 2007 11:50:53 +0000 (12:50 +0100)] 
Makedll.rules: Add a generic EXTRADLLFLAGS variable instead of defining a specific variable for every possible parameter.

17 years agowined3d: Use the adapter to read the display mode.
Stefan Dösinger [Thu, 6 Dec 2007 22:43:25 +0000 (23:43 +0100)] 
wined3d: Use the adapter to read the display mode.

17 years agoquartz: Add IFilterGraph2 interface and stubs.
Lei Zhang [Tue, 11 Dec 2007 07:40:19 +0000 (23:40 -0800)] 
quartz: Add IFilterGraph2 interface and stubs.

17 years agouser32: Test the initial state of the cursor.
Andrew Riedi [Tue, 11 Dec 2007 07:24:54 +0000 (23:24 -0800)] 
user32: Test the initial state of the cursor.

17 years agomsxml3: Fix memory leak in test.
Alistair Leslie-Hughes [Tue, 11 Dec 2007 05:06:00 +0000 (16:06 +1100)] 
msxml3: Fix memory leak in test.

17 years agoshlwapi: Fix memory leak in test.
Alistair Leslie-Hughes [Tue, 11 Dec 2007 04:37:42 +0000 (15:37 +1100)] 
shlwapi: Fix memory leak in test.

17 years agoshdocvw: Added client site's IOleCommandTarget tests.
Jacek Caban [Tue, 11 Dec 2007 00:40:17 +0000 (01:40 +0100)] 
shdocvw: Added client site's IOleCommandTarget tests.

17 years agousp10: Rename the wrappers around HeapAlloc() &Co to use the standard names.
Michael Stefaniuc [Mon, 10 Dec 2007 22:53:07 +0000 (23:53 +0100)] 
usp10: Rename the wrappers around HeapAlloc() &Co to use the standard names.

17 years agomsxml: Register missing components.
Alistair Leslie-Hughes [Mon, 10 Dec 2007 22:02:36 +0000 (09:02 +1100)] 
msxml: Register missing components.

17 years agodplayx: Remove unneeded casts.
Andrew Talbot [Mon, 10 Dec 2007 22:03:28 +0000 (22:03 +0000)] 
dplayx: Remove unneeded casts.

17 years agodnsapi: Remove unneeded casts.
Andrew Talbot [Mon, 10 Dec 2007 22:03:24 +0000 (22:03 +0000)] 
dnsapi: Remove unneeded casts.

17 years agowordpad: Fix a compiler warning.
Alexandre Julliard [Mon, 10 Dec 2007 14:15:42 +0000 (15:15 +0100)] 
wordpad: Fix a compiler warning.

17 years agowidl: iid_is should take expressions, not just identifiers.
Rob Shearman [Mon, 10 Dec 2007 13:30:48 +0000 (13:30 +0000)] 
widl: iid_is should take expressions, not just identifiers.

17 years agowidl: Support the address-of operator in expressions.
Rob Shearman [Mon, 10 Dec 2007 13:30:42 +0000 (13:30 +0000)] 
widl: Support the address-of operator in expressions.

17 years agowidl: Make sure to generate freeing calls for all non-simple structures with pointers...
Rob Shearman [Mon, 10 Dec 2007 13:30:36 +0000 (13:30 +0000)] 
widl: Make sure to generate freeing calls for all non-simple structures with pointers and pointers to user marshalled types.

17 years agowidl: Arrays should have freeing code generated on the server side, even if they...
Rob Shearman [Mon, 10 Dec 2007 13:30:28 +0000 (13:30 +0000)] 
widl: Arrays should have freeing code generated on the server side, even if they are [in] parameters.

17 years agowidl: Always write a freeing function for arrays in generated code.
Rob Shearman [Mon, 10 Dec 2007 13:30:23 +0000 (13:30 +0000)] 
widl: Always write a freeing function for arrays in generated code.

Fix the conditions under which pfnFree is called to only include arrays
that will have been allocated, instead of being pointed to the buffer.

17 years agomsxml3: Implement IPersistStream.
Alistair Leslie-Hughes [Sun, 9 Dec 2007 22:31:38 +0000 (09:31 +1100)] 
msxml3: Implement IPersistStream.

17 years agoqmgrprxy: Queue manager proxy generated using an IDL compiler and bits.idl.
Roy Shea [Sun, 9 Dec 2007 21:16:07 +0000 (13:16 -0800)] 
qmgrprxy: Queue manager proxy generated using an IDL compiler and bits.idl.

17 years agocomdlg32: PageSetupDlgW: Swap margins when changing orientation.
Alexander Nicolaysen Sørnes [Sun, 9 Dec 2007 17:15:36 +0000 (18:15 +0100)] 
comdlg32: PageSetupDlgW: Swap margins when changing orientation.

17 years agocomdlg32: PageSetupDlgA: Swap margins when changing orientation.
Alexander Nicolaysen Sørnes [Sat, 8 Dec 2007 13:16:41 +0000 (14:16 +0100)] 
comdlg32: PageSetupDlgA: Swap margins when changing orientation.

17 years agowine.inf: Register actxprxy.dll and create a fake DLL for it.
Rob Shearman [Fri, 7 Dec 2007 16:04:07 +0000 (16:04 +0000)] 
wine.inf: Register actxprxy.dll and create a fake DLL for it.

17 years agoactxprxy: Add the start of actxprxy.dll.
Rob Shearman [Fri, 7 Dec 2007 16:02:30 +0000 (16:02 +0000)] 
actxprxy: Add the start of actxprxy.dll.

The native version of this DLL contains proxy code for various
interfaces, but for the moment only servprov.idl is implemented.

17 years agomakedep: Added support for dlldata.c dependencies.
Alexandre Julliard [Mon, 10 Dec 2007 13:26:25 +0000 (14:26 +0100)] 
makedep: Added support for dlldata.c dependencies.

17 years agoMake.rules: Added rules for building the dlldata.c file.
Alexandre Julliard [Mon, 10 Dec 2007 13:26:13 +0000 (14:26 +0100)] 
Make.rules: Added rules for building the dlldata.c file.

17 years agowined3d: Improve thread safety in IWineD3DSurfaceImpl_BltOverride.
Alexander Dorofeyev [Mon, 10 Dec 2007 11:39:51 +0000 (03:39 -0800)] 
wined3d: Improve thread safety in IWineD3DSurfaceImpl_BltOverride.

17 years agocrypt32: Do not use an empty body in an else-statement as documentation.
Michael Stefaniuc [Mon, 10 Dec 2007 10:47:36 +0000 (11:47 +0100)] 
crypt32: Do not use an empty body in an else-statement as documentation.

17 years agourlmon: Fix memory leaks.
Alistair Leslie-Hughes [Mon, 10 Dec 2007 03:28:12 +0000 (14:28 +1100)] 
urlmon: Fix memory leaks.

17 years agoshdocvw: Fix memory leak.
Alistair Leslie-Hughes [Mon, 10 Dec 2007 03:27:46 +0000 (14:27 +1100)] 
shdocvw: Fix memory leak.

17 years agomsxml3: Fix memory leak.
Alistair Leslie-Hughes [Mon, 10 Dec 2007 02:05:16 +0000 (13:05 +1100)] 
msxml3: Fix memory leak.

17 years agomsxml3: Fix memory leaks.
Alistair Leslie-Hughes [Sun, 9 Dec 2007 09:50:39 +0000 (20:50 +1100)] 
msxml3: Fix memory leaks.

17 years agogdi32: GetCharABCWidthsI does not require a scalable font.
Hans Leidekker [Sat, 8 Dec 2007 21:55:01 +0000 (22:55 +0100)] 
gdi32: GetCharABCWidthsI does not require a scalable font.

17 years agowininet: Make FtpGetCurrentDirectoryA pass all todo_wine tests.
Hans Leidekker [Sat, 8 Dec 2007 21:54:43 +0000 (22:54 +0100)] 
wininet: Make FtpGetCurrentDirectoryA pass all todo_wine tests.

17 years agokernel32: GetConsoleInputExeNameW returns TRUE even when it fails.
Hans Leidekker [Sat, 8 Dec 2007 21:54:27 +0000 (22:54 +0100)] 
kernel32: GetConsoleInputExeNameW returns TRUE even when it fails.

17 years agouser32: Improve test_DestroyCursor().
Andrew Riedi [Mon, 10 Dec 2007 07:06:43 +0000 (23:06 -0800)] 
user32: Improve test_DestroyCursor().

17 years agouser32: Uncomment and explain a test in test_DestroyCursor().
Andrew Riedi [Mon, 10 Dec 2007 07:05:29 +0000 (23:05 -0800)] 
user32: Uncomment and explain a test in test_DestroyCursor().

17 years agoshell32: Update Spanish resource.
Luis C. Busquets Pérez [Sat, 8 Dec 2007 06:45:07 +0000 (07:45 +0100)] 
shell32: Update Spanish resource.

17 years agosane: Add Spanish Resource.
Luis C. Busquets Pérez [Fri, 7 Dec 2007 18:11:59 +0000 (19:11 +0100)] 
sane: Add Spanish Resource.

17 years agomsvfw32: Add Spanish resource.
Luis C. Busquets Pérez [Fri, 7 Dec 2007 18:07:25 +0000 (19:07 +0100)] 
msvfw32: Add Spanish resource.

17 years agocredui: Add Spanish resource.
Luis C. Busquets Pérez [Fri, 7 Dec 2007 18:00:14 +0000 (19:00 +0100)] 
credui: Add Spanish resource.

17 years agogphoto2: Add Spanish resource.
Luis C. Busquets Pérez [Fri, 7 Dec 2007 17:59:26 +0000 (18:59 +0100)] 
gphoto2: Add Spanish resource.

17 years agogdi32: Font tests with Japanese font data. Thanks to Dmitry Timoshkov for the data...
Aric Stewart [Mon, 10 Dec 2007 07:32:19 +0000 (16:32 +0900)] 
gdi32: Font tests with Japanese font data.  Thanks to Dmitry Timoshkov for the data and tests.

17 years agofonts: Build the jvgasys.fon from the 18 pixel strike.
Aric Stewart [Mon, 10 Dec 2007 07:32:00 +0000 (16:32 +0900)] 
fonts: Build the jvgasys.fon from the 18 pixel strike.

17 years agosfnt2fnt: Use code from gdi32/freetype to do a better job finding the TTAG_EBLC to...
Aric Stewart [Mon, 10 Dec 2007 07:24:10 +0000 (16:24 +0900)] 
sfnt2fnt: Use code from gdi32/freetype to do a better job finding the TTAG_EBLC to deal with older version of freetype without having to fall back on unreliable hacks.

17 years agosystem.sfd: Modify a few 18 pixel glyphs to generate metrics correctly.
Aric Stewart [Mon, 10 Dec 2007 07:17:05 +0000 (16:17 +0900)] 
system.sfd: Modify a few 18 pixel glyphs to generate metrics correctly.

17 years agocomctl32/tests: Avoid SHDeleteKeyA() because it does not exist on Windows 95.
Francois Gouget [Mon, 10 Dec 2007 00:28:08 +0000 (01:28 +0100)] 
comctl32/tests: Avoid SHDeleteKeyA() because it does not exist on Windows 95.

17 years agocomctl32/tests: InitCommonControlsEx() is missing on Windows 95 so call InitCommonCon...
Francois Gouget [Mon, 10 Dec 2007 00:27:50 +0000 (01:27 +0100)] 
comctl32/tests: InitCommonControlsEx() is missing on Windows 95 so call InitCommonControls() instead.

17 years agocomtcl32/tests: Dynamically load ImageList_SetImageCount() because it is missing...
Francois Gouget [Mon, 10 Dec 2007 00:25:15 +0000 (01:25 +0100)] 
comtcl32/tests: Dynamically load ImageList_SetImageCount() because it is missing on Windows 95.

17 years agoddraw/tests: Fix compilation on systems that don't support nameless unions.
Francois Gouget [Mon, 10 Dec 2007 00:25:04 +0000 (01:25 +0100)] 
ddraw/tests: Fix compilation on systems that don't support nameless unions.

17 years agohlink: Fix the HlinkUpdateStackItem() prototype.
Francois Gouget [Mon, 10 Dec 2007 00:24:57 +0000 (01:24 +0100)] 
hlink: Fix the HlinkUpdateStackItem() prototype.

17 years agokernel32/tests: Get the test to run on Windows 95.
Francois Gouget [Mon, 10 Dec 2007 00:24:49 +0000 (01:24 +0100)] 
kernel32/tests: Get the test to run on Windows 95.

17 years agokernel32/tests: dll_capable() makes no sense since it's only used on APIs we link...
Francois Gouget [Mon, 10 Dec 2007 00:24:06 +0000 (01:24 +0100)] 
kernel32/tests: dll_capable() makes no sense since it's only used on APIs we link with. So remove it.

17 years agowinealsa.drv: Remove trailing spaces in Wine traces.
Francois Gouget [Mon, 10 Dec 2007 00:23:19 +0000 (01:23 +0100)] 
winealsa.drv: Remove trailing spaces in Wine traces.

17 years agouser32: Keep waiting for posted messages in peek_message after we get an ignored...
Alexandre Julliard [Mon, 10 Dec 2007 11:05:46 +0000 (12:05 +0100)] 
user32: Keep waiting for posted messages in peek_message after we get an ignored message.

17 years agousp10: Don't trace char to glyph mappings.
Hans Leidekker [Sun, 9 Dec 2007 20:39:44 +0000 (21:39 +0100)] 
usp10: Don't trace char to glyph mappings.

17 years agousp10: Store original font in the script cache and reselect it on successive calls.
Hans Leidekker [Sun, 9 Dec 2007 20:39:19 +0000 (21:39 +0100)] 
usp10: Store original font in the script cache and reselect it on successive calls.

17 years agousp10: Use GetCharABCWidthsI to implement ScriptGetGlyphABCWidth.
Hans Leidekker [Sun, 9 Dec 2007 20:39:02 +0000 (21:39 +0100)] 
usp10: Use GetCharABCWidthsI to implement ScriptGetGlyphABCWidth.

17 years agorpcrt4: Pass the USER_MARSHAL_CB structure into user marshal routines.
Rob Shearman [Sun, 9 Dec 2007 18:22:57 +0000 (18:22 +0000)] 
rpcrt4: Pass the USER_MARSHAL_CB structure into user marshal routines.

17 years agorpcrt4: NdrRangeUnmarshall is implemented so add it to the spec file.
Rob Shearman [Sun, 9 Dec 2007 18:22:36 +0000 (18:22 +0000)] 
rpcrt4: NdrRangeUnmarshall is implemented so add it to the spec file.

17 years agorpcrt4: Implement NdrConformantArrayMemorySize.
Rob Shearman [Sun, 9 Dec 2007 18:22:24 +0000 (18:22 +0000)] 
rpcrt4: Implement NdrConformantArrayMemorySize.

17 years agohlink: Rename the wrappers around HeapAlloc() &Co to use the standard names.
Michael Stefaniuc [Sun, 9 Dec 2007 15:29:51 +0000 (16:29 +0100)] 
hlink: Rename the wrappers around HeapAlloc() &Co to use the standard names.

17 years agolocalspl: Rename the wrappers around HeapAlloc() &Co to use the standard names.
Michael Stefaniuc [Sun, 9 Dec 2007 15:30:24 +0000 (16:30 +0100)] 
localspl: Rename the wrappers around HeapAlloc() &Co to use the standard names.

17 years agopdh: Rename the wrappers around HeapAlloc() &Co to use the standard names.
Michael Stefaniuc [Sun, 9 Dec 2007 15:30:15 +0000 (16:30 +0100)] 
pdh: Rename the wrappers around HeapAlloc() &Co to use the standard names.

17 years agoiccvid: Rename the wrappers around HeapAlloc() &Co to use the standard names.
Michael Stefaniuc [Sun, 9 Dec 2007 15:30:07 +0000 (16:30 +0100)] 
iccvid: Rename the wrappers around HeapAlloc() &Co to use the standard names.

17 years agohhctrl.ocx: Rename the wrappers around HeapAlloc() &Co to use the standard names.
Michael Stefaniuc [Sun, 9 Dec 2007 15:29:44 +0000 (16:29 +0100)] 
hhctrl.ocx: Rename the wrappers around HeapAlloc() &Co to use the standard names.

17 years agorpcrt4: Add a missing break in DllMain.
Rob Shearman [Sat, 8 Dec 2007 17:14:30 +0000 (17:14 +0000)] 
rpcrt4: Add a missing break in DllMain.

17 years agorpcrt4: Save the buffer in EmbeddedPointerMemorySize, like EmbeddedPointerUnmarshall...
Rob Shearman [Sat, 8 Dec 2007 17:46:57 +0000 (17:46 +0000)] 
rpcrt4: Save the buffer in EmbeddedPointerMemorySize, like EmbeddedPointerUnmarshall does.

17 years agorpcrt4: Fix the return value from NdrSimpleStructMemorySize.
Rob Shearman [Sat, 8 Dec 2007 17:46:48 +0000 (17:46 +0000)] 
rpcrt4: Fix the return value from NdrSimpleStructMemorySize.

17 years agorpcrt4: Add a trace to NdrBaseTypeMemorySize.
Rob Shearman [Sat, 8 Dec 2007 17:46:41 +0000 (17:46 +0000)] 
rpcrt4: Add a trace to NdrBaseTypeMemorySize.

17 years agorpcrt4: Implement PointerMemorySize.
Rob Shearman [Sat, 8 Dec 2007 17:46:34 +0000 (17:46 +0000)] 
rpcrt4: Implement PointerMemorySize.

17 years agorpcrt4: Fix NdrConformantStructUnmarshall to use buffer memory if applicable and...
Rob Shearman [Sat, 8 Dec 2007 17:14:24 +0000 (17:14 +0000)] 
rpcrt4: Fix NdrConformantStructUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers.

17 years agorpcrt4: Fix NdrFixedArrayUnmarshall to use buffer memory if applicable and to reuse...
Rob Shearman [Sat, 8 Dec 2007 17:14:16 +0000 (17:14 +0000)] 
rpcrt4: Fix NdrFixedArrayUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers.

17 years agorpcrt4: Fix NdrConformantArrayUnmarshall to use buffer memory if applicable and to...
Rob Shearman [Sat, 8 Dec 2007 17:14:10 +0000 (17:14 +0000)] 
rpcrt4: Fix NdrConformantArrayUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers.

17 years agowidl: Don't override the pointer type in top-level arrays.
Rob Shearman [Sat, 8 Dec 2007 17:13:45 +0000 (17:13 +0000)] 
widl: Don't override the pointer type in top-level arrays.

17 years agoAssorted spelling fixes.
Detlef Riekenberg [Fri, 7 Dec 2007 20:01:34 +0000 (21:01 +0100)] 
Assorted spelling fixes.

17 years agoriched20: Remove the RTFAlloc() wrapper around heap_alloc().
Michael Stefaniuc [Fri, 7 Dec 2007 22:45:40 +0000 (23:45 +0100)] 
riched20: Remove the RTFAlloc() wrapper around heap_alloc().

17 years agoriched20: Rename the wrappers around HeapAlloc() &Co to use the new standard naming.
Michael Stefaniuc [Fri, 7 Dec 2007 22:42:22 +0000 (23:42 +0100)] 
riched20: Rename the wrappers around HeapAlloc() &Co to use the new standard naming.

17 years agoddraw: Fix wrong initialization order in IDirect3DDevice vtable.
Alexander Dorofeyev [Sun, 9 Dec 2007 02:00:28 +0000 (18:00 -0800)] 
ddraw: Fix wrong initialization order in IDirect3DDevice vtable.

17 years agocomdlg32: PageSetupDlgA: Read margins from correct edit boxes.
Alexander Nicolaysen Sørnes [Sat, 8 Dec 2007 12:53:32 +0000 (13:53 +0100)] 
comdlg32: PageSetupDlgA: Read margins from correct edit boxes.

17 years agoserver: Removed superflous async->queue NULL tests.
Marcus Meissner [Sat, 8 Dec 2007 11:25:14 +0000 (12:25 +0100)] 
server: Removed superflous async->queue NULL tests.

17 years agoriched20: Invalidate all the text on bogus last selection.
Alex Villacís Lasso [Sat, 8 Dec 2007 05:31:10 +0000 (00:31 -0500)] 
riched20: Invalidate all the text on bogus last selection.

17 years agodmusic: Remove unneeded casts.
Andrew Talbot [Sat, 8 Dec 2007 15:33:51 +0000 (15:33 +0000)] 
dmusic: Remove unneeded casts.

17 years agodmloader: Remove unneeded casts.
Andrew Talbot [Sat, 8 Dec 2007 08:41:22 +0000 (08:41 +0000)] 
dmloader: Remove unneeded casts.

17 years agodmime: Remove unneeded casts.
Andrew Talbot [Fri, 7 Dec 2007 23:01:46 +0000 (23:01 +0000)] 
dmime: Remove unneeded casts.

17 years agomsi: Handle the CompLocator table in the AppSearch action.
James Hawkins [Fri, 7 Dec 2007 20:51:17 +0000 (14:51 -0600)] 
msi: Handle the CompLocator table in the AppSearch action.

17 years agomsi: Reimplement MsiGetProductCode.
James Hawkins [Fri, 7 Dec 2007 20:49:54 +0000 (14:49 -0600)] 
msi: Reimplement MsiGetProductCode.