Commit Graph

219 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
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Robert Shearman dce07c4040 Make sure paths end with a slash before concatenating file names. 2004-09-17 18:11:14 +00:00
Robert Shearman 3d7299b7a4 - Use FDI functions like native instead of advpack.ExtractFiles and
cabinet.Extract (which doesn't work with native cabinet)
- If MoveFile fails the message now displayes the correct last error
  and bails rather than silently breaking the install.
2004-09-10 22:29:49 +00:00
Kevin Koltzau 3f8d8bec55 Partial implementation of MsiGetFileVersionA/W. 2004-09-06 21:25:48 +00:00
Alexandre Julliard 39a696a166 Removed some uses of the non-standard ICOM_THIS macro. 2004-09-06 20:34:29 +00:00
Alexandre Julliard 7c1e9361a3 Added a few missing -private flags. 2004-08-27 19:15:54 +00:00
Aric Stewart bc6ce2b249 Free memory after we finish using it instead of just before. 2004-08-25 17:31:39 +00:00
Aric Stewart 47c94c0e4d Getting the string for a null field should not create an error. Add a
missing break.
2004-08-24 20:56:08 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 25e2a320a7 Don't define BEGIN_INTERFACE in unknwn.h. 2004-08-22 21:38:46 +00:00
Vincent Béron 6fae1ce6fd Don't hardcode c:\windows paths in msi.dll. 2004-08-18 23:41:10 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Francois Gouget bf72af30d0 Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
as is done in the Windows headers.
Add #define COBJMACROS where needed in Wine.
Fixes the compilation of the oleaut32/tests/olefont.c and
urlmon/tests/url.c conformance tests with the Windows headers.
2004-08-11 19:43:45 +00:00
Mike McCormack 4604e66094 Fix warnings found with -Wsign-compare. 2004-08-06 17:30:20 +00:00
Aric Stewart 6a787c7c40 Use correct calling convention for the custom action handlers. 2004-07-30 00:00:25 +00:00
Aric Stewart 8d81d671eb Make the msistring_makehash return something other than just 1 or
0. Also handle the case where the string or stored string is null.
2004-07-29 23:59:15 +00:00
Vincent Béron bbc3974aa5 Implement patching in msiexec. 2004-07-29 02:39:20 +00:00
Troy Rollo 7ade261c35 Fix parsing of string literals. 2004-07-29 02:36:06 +00:00
Vincent Béron d2df24b90f Implement logging in msiexec.
Correct MsiEnableLog{A,W} prototype.
2004-07-23 23:28:45 +00:00
Aric Stewart 84837d96a6 If the data table for a called action does not exist (for example
CreateFolders wants a CreateFolder table to read the data from) do not
fail, instead just do not perform the action.
2004-07-20 01:22:37 +00:00
Hans Leidekker 4104c622af Set VersionMsi property.
Accept a dot in a number value.
2004-07-19 21:49:15 +00:00
Vincent Béron 5c60510bc0 Implement the repair mechanism in msiexec, and stub it out in
msi.dll.
2004-07-19 21:19:45 +00:00
Mike McCormack f3c8b83055 Fix the return code of MsiDatabaseOpenView. 2004-07-19 19:35:05 +00:00
Francois Gouget 817c520909 Assorted spelling fixes. 2004-07-16 19:15:40 +00:00
Aric Stewart 9c76b14469 Implement the functionality that allows one to call MsiOpenPackage
with #nnn where nnn is a string representing the handle to an open
database.
2004-07-14 21:43:49 +00:00
Aric Stewart 55de9f40dd Update the MSI version to be the same as on win2k. 2004-07-14 21:42:50 +00:00
Aric Stewart d8b20cf53b Properly handle quoted number literals in MSI condition statements. 2004-07-12 23:31:18 +00:00
Hans Leidekker ba848ac195 Fix command line parsing. 2004-07-12 20:43:09 +00:00
Mike McCormack bb1194aeec Minor spelling fix. 2004-07-12 19:53:54 +00:00
Mike McCormack 36123b5564 Remove a piece of dead code causing a warning. 2004-07-12 19:53:05 +00:00
Mike McCormack c90c781a32 Implement MsiVerifyPackage, cosmetic fixes. 2004-07-09 22:58:27 +00:00
Alexandre Julliard a7a6f5f31c Authors: Mike McCormack <mike@codeweavers.com>, Aric Stewart <aric@codeweavers.com>
Refcount all objects, and use pointers internally.
2004-07-09 22:25:34 +00:00
Alexandre Julliard 77b12768c9 Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
Write the encoded GUIDs for product registration in the Installer
registry.
2004-07-09 19:43:29 +00:00
Aric Stewart a3149f83f7 Cleanup of actions. 2004-07-09 19:38:40 +00:00
Aric Stewart 20557b8c46 Add a stub for MsiModifyView, fix a couple of bugs. 2004-07-09 19:33:45 +00:00
Mike McCormack 3ece2461ef Cosmetic fixes. 2004-07-09 19:33:25 +00:00
Aric Stewart 7231a439b4 Implement logging. 2004-07-09 19:26:30 +00:00
Mike McCormack c4d7c8daa0 Allow binary fields with stream names longer than table names. 2004-07-06 19:00:46 +00:00
Aric Stewart 2cf222f9b7 Implemented CreateShortcut and PublishProduct. 2004-07-06 19:00:23 +00:00
Mike McCormack 24e9a34494 Fetch binary streams at the table level. 2004-07-06 18:56:12 +00:00
Aric Stewart d784600d81 MsiGetProperty should return empty strings on error. 2004-07-06 18:54:38 +00:00
Aric Stewart 8f0a761948 Implemented registering Classes and ProgID. 2004-07-06 18:53:11 +00:00
Aric Stewart fcb20c53f7 Implemented RegisterTypeLibraries. 2004-07-06 18:51:16 +00:00
Aric Stewart b942e18636 Implemented ProcessComponents. 2004-07-06 18:50:02 +00:00
Aric Stewart d2c395ad50 Send progress and action messages. 2004-07-06 18:48:15 +00:00
Aric Stewart 5b936ca2fd Allow ADDLOCAL to override INSTALLLEVEL, implement LaunchConditions. 2004-07-06 18:47:09 +00:00
Aric Stewart 1ab0e4183e Fix bugs in resolve_folder. 2004-07-06 18:42:56 +00:00
Aric Stewart 7d3e5973fe Activate features and components based on their various conditions. 2004-07-04 00:36:58 +00:00
Aric Stewart ec688fb4e0 Beginnings of costing and organizing into components and features. 2004-07-04 00:35:52 +00:00