Aric Stewart
82a6a3b826
First pass implement ion of MsiQueryProductState[A/W] as well as a few
...
fixes for MsiGetComponentPath.
2005-01-17 13:39:57 +00:00
Aric Stewart
0de5671ee9
Actually start on an implemention for MsiGetComponentPathW that should
...
handle all keypaths that are files.
2005-01-14 17:05:53 +00:00
Marcus Meissner
b7f6781590
Initialize rc in create_component_directory().
2005-01-14 16:50:39 +00:00
Aric Stewart
516a9c70ed
First implementation of the WriteIniValues action.
2005-01-14 15:59:26 +00:00
Aric Stewart
dbb5d2a871
Custom actions can have null in their target parameters, handle that
...
without crashing. Also enable deformating of lines greater than 256
characters.
2005-01-14 15:12:27 +00:00
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
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