Commit Graph

2861 Commits

Author SHA1 Message Date
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
Aric Stewart e2d4ea8141 Fix command line processing and folder paths. 2004-07-04 00:33:45 +00:00
Aric Stewart bdb2955296 Fix MsiGetTargetPath, MsiGetSourcePath and MsiSetTargetPath. 2004-07-04 00:32:48 +00:00
Aric Stewart 2e9b5f7c07 Use the newly implemented UPDATE code to set properties. 2004-07-04 00:31:17 +00:00
Mike McCormack 11553baa63 Implement the UPDATE query. 2004-07-04 00:30:02 +00:00
Mike McCormack f6492dc5ca Create the WHERE part of a query in one function call. 2004-07-04 00:27:48 +00:00
Aric Stewart ed7c4bc84c Implement SetTargetPath, start the basics for tracking UI level. 2004-07-04 00:26:54 +00:00
Mike McCormack 6e2bca34cf Cosmetic fixes. 2004-07-04 00:25:00 +00:00
Aric Stewart 36eee236ea Start implementing Feature and Component level install control. 2004-07-04 00:07:13 +00:00
Mike McCormack d3239926c2 Fix retrieval of nul records as strings. 2004-06-30 19:46:25 +00:00
Mike McCormack 99c2b9a994 Fix the INSERT query when inserting integers into a table. 2004-06-30 19:46:15 +00:00
Aric Stewart eb0e0df908 Start implementing MsiOpenPackage. 2004-06-30 19:38:36 +00:00
Mike McCormack de8674ec6f Set the storage file's GUID so native MSI recognizes it.
Fix crash when inserting multiple columns that are invalid.
2004-06-30 18:42:02 +00:00
Mike McCormack 16abc780e6 Hack field types, fix ref counting. 2004-06-30 18:27:41 +00:00
Mike McCormack b26087c30e Fix buffer overflow. 2004-06-30 18:27:23 +00:00
Mike McCormack abd259fd12 Fix the UPDATE query. 2004-06-30 18:24:33 +00:00
Aric Stewart c95a6aa6de Fix field numbering so the CREATE query works for multiple columns. 2004-06-30 18:24:21 +00:00
Aric Stewart 9cb2787a95 Fix the INSERT query. 2004-06-30 18:23:52 +00:00
Mike McCormack ab519f2a2c Make the SQL insert query work. 2004-06-30 18:18:27 +00:00
Steven Edwards 4679e78432 Fixed Extract prototype. 2004-06-30 18:16:35 +00:00
Aric Stewart 6e160f14dd Implement MsiGetSourcePath.
Implement Binary and Dword data type for registry writing.
2004-06-29 04:07:22 +00:00
Aric Stewart c75201f4a2 Handle custom actions type 1 and 2. 2004-06-29 04:04:13 +00:00
Mike McCormack 6fb0cee5d9 Dump database table names on startup. 2004-06-29 03:57:39 +00:00
Mike McCormack 7e168ee798 Fix refcounting of streams. 2004-06-29 03:49:54 +00:00
Aric Stewart e95136b7e3 Implement MsiGetTargetPathA/W. 2004-06-29 03:44:01 +00:00
Mike McCormack 0eecfdef67 Allow reading records containing streams. 2004-06-29 03:41:28 +00:00
Mike McCormack 8079d2ae33 Fixed the way the parser takes input strings. 2004-06-28 23:57:11 +00:00
Aric Stewart 401bd3f772 Start implementing actions. 2004-06-28 20:34:35 +00:00
Mike McCormack c0523aaa57 Pull the codepage from the string table. 2004-06-26 00:18:36 +00:00
Mike McCormack fb3f40b962 Fix crash that occurred when an invalid query string was deleted
twice.
2004-06-26 00:18:23 +00:00
Mike McCormack 9d66d94780 Implement queries by string value. 2004-06-26 00:11:08 +00:00
Francois Gouget 497709b9bb Assorted spelling and case fixes. 2004-06-15 20:26:45 +00:00
Christian Costa 7c1ca0f923 Added version info to MSI dll. 2004-05-18 20:41:47 +00:00
Patrik Stridvall 070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Raphael Junqueira 18cdbf1351 - add some prototypes/typedefs to msi.h
- implements some A -> W calls (W calls must be implemented)
2004-04-28 00:29:25 +00:00
Francois Gouget 6a6c85c6d8 Make Unicode const strings static so they are not copied to the stack
each time we enter the function.
2004-04-19 20:12:14 +00:00
Hans Leidekker c2da57e27b Correct spec entry for MsiLoadString*.
Pseudo stubs for MsiLocateComponent*.
2004-04-12 22:06:12 +00:00
Hans Leidekker c1d1eb2434 Correct spec entry for DllGetClassObject. 2004-04-09 19:05:34 +00:00
Raphael Junqueira 9191a9cd95 Implement DllGetClassObject, DllRegisterServer, DllUnregisterServer
(as the interfaces aren't documented we only have stubs).
2004-03-30 20:42:06 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Mike McCormack ce533b7a70 Start implementing the SQL insert query. 2004-03-20 19:18:46 +00:00
Mike McCormack 943a71e453 Fix handle allocation and the CREATE TABLE query. 2004-03-19 19:14:12 +00:00
Mike McCormack 068b4ec7d4 First go at write support. 2004-03-19 01:16:36 +00:00
Mike McCormack b040e4bcd2 When loading table data, split it up into rows. 2004-03-18 04:04:08 +00:00
Mike McCormack f5e1c13070 Move the string table out into a separate file, improve lookups. 2004-03-17 20:49:59 +00:00
Dmitry Timoshkov e51779df68 Explicitly specify output file names for bison. 2004-03-16 19:38:19 +00:00
Mike McCormack 14ec526004 Extend the parser to deal with the CREATE TABLE query. The query
doesn't do anything as yet.
2004-03-16 19:18:22 +00:00
Mike McCormack af54ef9ce1 Start implementation of MsiEvaluateConditionA/W. 2004-03-16 03:23:43 +00:00
Christian Costa fabcd27800 Added some stubs. 2004-02-17 21:05:44 +00:00
Alexandre Julliard 20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Alexandre Julliard 502f6c5634 Removed incorrect uses of DUMMYUNIONNAME. 2004-01-07 00:47:35 +00:00
Mike McCormack bd9d8a32e4 MsiOpenDatabase's szPersist parameter may be a string or a bitmask. 2003-11-05 01:50:19 +00:00
Mike McCormack d48f3b60fe Stub implementation for MsiVerifyPackage. 2003-11-05 01:42:02 +00:00
Mike McCormack 05d00f06de Implement MsiOpenProductW. 2003-11-05 00:34:51 +00:00
Mike McCormack e40da9f17c Some stub implementations. 2003-10-30 22:47:42 +00:00
Mike McCormack 6e86a2a81a Sql tokens are case insensitive in msi.dll. 2003-10-30 22:46:59 +00:00
Mike McCormack 367462798a Treat missing MSI tables as empty. 2003-10-28 21:49:06 +00:00
Mike McCormack 3871395140 Fixed MSI buffer overflow. 2003-10-28 21:43:14 +00:00
Mike McCormack 717107bb65 Fix string value lookups in MSI. 2003-10-28 21:09:10 +00:00
Dmitry Timoshkov 2581db8f6a Fixed some problems found while compiling and linking Wine under
Cygwin.
2003-10-14 05:27:43 +00:00
Daniel Marmier 4034ff36c0 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-14 01:19:27 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Mike McCormack afc02109a0 Fixed msi spec file. 2003-10-03 04:28:35 +00:00
Mike McCormack f92deed281 Remove references to HEAP_strdupAtoW. 2003-09-27 02:24:31 +00:00
Francois Gouget ae50013017 Fix the case of product and company names. 2003-09-08 19:38:45 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Robert Reif b7945a8ab3 Added a few stub implementations. 2003-09-01 23:57:06 +00:00
Robert Reif 528e6e9836 Added some missing functions. 2003-08-29 22:12:44 +00:00
Alexandre Julliard 985ba8ed87 Added missing dependency. 2003-08-15 03:52:35 +00:00
Mike McCormack 6386edc5d8 Partial implementation of the Microsoft Installer (msi.dll). 2003-08-13 01:27:48 +00:00