Commit Graph

169 Commits

Author SHA1 Message Date
Paul Vriens 6a8268f372 Use Interlocked* functions in AddRef and Release. 2005-01-11 15:46:43 +00:00
Francois Gouget 87b0906789 Assorted spelling fixes. 2005-01-10 13:29:24 +00:00
Mike McCormack 921be0a87c Implement MsiRecordSetStreamA/W and add tests for records containing
streams.
2005-01-09 18:24:15 +00:00
Aric Stewart 2b2fecf88a Make all custom type 1 actions happen in a seperate thread and close
all handles for that thread when it exits. Honors the concept of
temporary MSI handles for custom actions.
2005-01-07 17:08:35 +00:00
Mike McCormack 8964082781 MsiCloseAllHandles only closes handles allocated in the calling
thread.
2005-01-06 20:43:04 +00:00
Mike McCormack 25c453aaf4 Add test for records. 2005-01-06 20:42:48 +00:00
Mike McCormack aaa4b42c16 Fix records according to test cases. 2005-01-06 20:42:25 +00:00
Aric Stewart 1416b10119 - Properly deformat keys written to the registry.
- Because directory mappings can change between the CostFinalize step
  and the InstallFiles step we need to do a final resolution of the
  target file name before installing.
2005-01-06 19:34:16 +00:00
Aric Stewart 00e1ecdce8 When checking for an existing .lnk shortcut extension on the filename
do not just search for '.' but actually verify it is '.lnk'.
2005-01-05 17:13:12 +00:00
Vitaly Lipatov 2dd31728d3 Get real screen properties. 2005-01-05 17:11:33 +00:00
Mike McCormack 23b291a642 Add a simple test case for MSI databases. 2005-01-05 13:26:34 +00:00
Aric Stewart 4e55343064 - CustomAction 35 should call SetTargetPath not just set the property.
- TARGETDIR and SOURCEDIR may not be entries 0 in the directory
  tables. So when resolving the folder we need to seek them out.
- When we handle SetTargetPath we need to be sure to recalculate the
  resulting paths as things with the now set Directory as the parent
  will change.
2005-01-04 20:47:20 +00:00
Aric Stewart def5cbfc0b Change how we install files so that we extract files as we need them,
cuts down on extraction time and unused files.
2005-01-04 20:42:58 +00:00
Mike McCormack ac6a413bf5 Remove unneeded whitespace, indent correctly. 2005-01-04 20:36:12 +00:00
Aric Stewart bd1bbc1768 Improve progress bar tracking. 2005-01-03 20:00:13 +00:00
Steven Edwards d06a464ce9 Add and fix some stubs. 2005-01-03 16:54:43 +00:00
Aric Stewart 6296de389a Be sure that set paths are terminated with a backslash. 2005-01-03 16:06:44 +00:00
Aric Stewart 51cf7d13c0 Free allocated buffers. 2005-01-03 14:29:09 +00:00
Mike McCormack 0f0b6c8c15 Implement thread safety for records. 2004-12-27 19:29:33 +00:00
Aric Stewart d900b5392d Parse out the full features by using the ',' character and do
comparisons based on the full feature names.
2004-12-27 19:12:35 +00:00
Aric Stewart ea32fb93a1 Continue when a duplicate component is found and loaded. 2004-12-27 19:09:16 +00:00
Aric Stewart fbdd70968d - Rework how we handle Feature and Component States. I have confirmed
from testing that, although documented nowhere, having ADDLOCAL on
  the install line overrides INSTALLLEVEL.
- Track all files extracted from cabinents as tempfiles so they can be
  removed at the end of the install to not leave uninstalled but
  uncabbed files laying around.
2004-12-27 19:06:22 +00:00
Aric Stewart ae1aa32c77 Move Install Features selection and evaluation into CostFinalize. 2004-12-27 19:02:59 +00:00
Aric Stewart 09d35c3c91 Allow for end of install actions. 2004-12-27 19:00:26 +00:00
Aric Stewart 8cc14a93a1 - Create the shortcut directory if it does not exist.
- Set the INSTALLLEVEL in CostFinalize if it is not set.
2004-12-27 18:56:30 +00:00
Aric Stewart 2ad3ff880f Eliminate some fixed length buffers. 2004-12-27 18:50:00 +00:00
Aric Stewart fb9d11941f Include a System16Folder definition. 2004-12-27 17:43:37 +00:00
Aric Stewart 3c949ef412 Enable asynchronous dll custom action calls. 2004-12-27 17:09:40 +00:00
Aric Stewart ab013bb6db Added MsiSetExternalUIW. 2004-12-23 11:22:00 +00:00
Aric Stewart 454422d605 Make sure to include trailing backslash in path. 2004-12-23 11:20:50 +00:00
Aric Stewart 62cd1e03c3 Blank the property buffers even if the property is not found. 2004-12-22 18:47:54 +00:00
Aric Stewart fa384f6b10 Move around and rename some functions. 2004-12-22 18:46:17 +00:00
Aric Stewart 74ad0d3ab7 Include the trailing backslash on the Windows volume. 2004-12-22 18:17:15 +00:00
Aric Stewart d0c971a62c Fix incorrect return code check. 2004-12-22 18:15:50 +00:00
Aric Stewart 259557038c Fix folder resolution. 2004-12-22 17:13:26 +00:00
Mike McCormack ba8200bf49 Remove more fixed length buffers, rewrite functions to return
malloc'ed memory.
2004-12-22 15:25:30 +00:00
Mike McCormack 1bd8d8a55a Fix selecting string columns and matching against a wildcard. 2004-12-22 15:22:12 +00:00
Mike McCormack 9db0e072b1 Remove a lot of fixed length buffers. 2004-12-22 15:05:07 +00:00
Aric Stewart 3d5c00e104 Let negative number be parsed correctly. Needed for accessing actions
with sequences such as -1.
2004-12-16 14:33:56 +00:00
Vitaly Lipatov 671267a177 Add ScreenX, ScreenY, ColorBits installer properties. 2004-12-16 14:31:59 +00:00
Vitaly Lipatov 5c4116bc66 Add description for MsiGetMode, MSIRUNMODE constants. 2004-12-16 14:29:25 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Michael Stefaniuc 9fe94da2aa Add missing HeapFree's (found by smatch). 2004-12-10 15:24:52 +00:00
Ulrich Czekalla 63d757f044 Set the out buffer count to zero on read error. 2004-12-06 16:18:22 +00:00
Mike McCormack 6b395bab07 Fix transposition of 4 byte values when reading in table data from
storage.
2004-12-06 16:17:45 +00:00
Mike McCormack 181705cbbd - Don't limit the size of the property that can be retrieved by
MsiGetProperty.
- Make MsiGetProperty A/W implementations more consistent.
2004-11-28 14:53:46 +00:00
Tom Wickline 5c38e1b561 Version resources cleanup. 2004-11-23 13:59:34 +00:00
Aric Stewart 1282d7ad44 Handle 3 more custom action types 2004-11-03 22:16:53 +00:00
Aric Stewart d906ef03ff Don't reregister ProgIds over and over, also write out the main key
before trying to register the Parent. This avoids loops if a ProgId
has itself as a parent or there is a loop in dependencies.
2004-10-22 22:06:31 +00:00
Aric Stewart 120009e9b4 Properly compare file versions when upgrading files so that new
versions get properly installed.
2004-10-08 23:35:35 +00:00