Hans Leidekker
376c2fd02b
msi: Store the disk id in the MSIFILE structure.
2010-05-12 18:46:28 +02:00
Hans Leidekker
dd305c3700
msi: Set the SourceDir property to the registered source if the product is installed.
2010-05-11 16:28:18 +02:00
Hans Leidekker
82d7b04c2c
msi: Apply registered patches in MsiOpenPackage.
2010-05-05 15:27:12 +02:00
Hans Leidekker
920fc345ba
msi: Register more patch details.
2010-05-04 13:15:00 +02:00
Hans Leidekker
23eabb44c8
msi: Make a local copy of patch packages.
2010-05-04 13:15:00 +02:00
Hans Leidekker
162780d112
msi: Support multiple patches per package.
2010-04-29 10:19:40 -05:00
Hans Leidekker
319465831c
msi: Store a copy of the file extension in the MSIMIME structure.
...
Fixes a crash that occurs when the extension foreign key points to nowhere.
Reported by Vincent Pelletier.
2010-04-29 10:19:39 -05:00
Hans Leidekker
e31ee69f37
msi: Rename MSI_GetPropertyW and MSI_SetPropertyW.
...
For consistency with related functions msi_dup_property and msi_get_property_int
and because there is no ANSI version of these functions.
2010-04-21 11:57:33 +02:00
Hans Leidekker
44b7983913
msi: Make MSI_SetPropertyW take a pointer to a database instead of a package.
2010-04-21 11:57:33 +02:00
Hans Leidekker
186f4efa3f
msi: Make msi_get_property_int and friends take a pointer to a database instead of a package.
...
They only operate on a database and this way we can use them before a package is created.
2010-04-21 11:57:33 +02:00
Hans Leidekker
8f53405544
msi: Remove the string index parameter from msi_addstringW.
2010-04-19 14:57:02 +02:00
Hans Leidekker
109ffd0f97
msi: Make the string reference count a short.
...
This is safe because the reference count is stored in 2 bytes on disk.
(This is commit ff2f894888
reapplied
because of incorrect revert in 88214a72ce
).
2010-04-14 18:00:39 +02:00
Hans Leidekker
88214a72ce
msi: Make the string reference count a short.
...
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:48:14 +02:00
Hans Leidekker
ff2f894888
msi: Make the string reference count a short.
...
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:46:14 +02:00
Hans Leidekker
3050cde95e
msi: Implement the UnregisterMIMEInfo standard action.
2010-04-02 15:22:49 +02:00
Hans Leidekker
17d7effd2a
msi: Implement the UnregisterExtensionInfo standard action.
2010-04-02 15:22:49 +02:00
Hans Leidekker
3bdfa1f624
msi: Implement the UnregisterProgIdInfo standard action.
2010-04-02 15:22:48 +02:00
Hans Leidekker
843968c056
msi: Implement the UnregisterClassInfo standard action.
2010-04-02 15:22:47 +02:00
Hans Leidekker
e5869d5d5c
msi: Keep source directory and cabinet file separate.
2010-03-26 15:35:24 +01:00
Hans Leidekker
faf750f2f7
msi: Remove stream from streams cache before destroying it.
2010-03-23 13:24:27 +01:00
Hans Leidekker
706c4f77e8
msi: Implement a second cabinet extractor on top of IStream and use it to extract embedded cabinets.
...
Currently a cabinet stream is read into memory and then written to a file,
which is then extracted like an external cabinet file. This uses more time
and disk space than necessary and fails if the cabinet is too large to fit
into memory.
2010-03-23 13:24:26 +01:00
Hans Leidekker
8722d0c44a
msi: The AppSearch and CCPSearch actions must be run only once.
2010-03-23 13:24:26 +01:00
Hans Leidekker
a358c7f6d4
msi: Update the UI in the MoveFiles action.
2010-03-05 13:14:23 +01:00
Hans Leidekker
aba6afc85e
msi: Move the implementation of the MoveFiles action to files.c.
2010-03-05 13:14:19 +01:00
Hans Leidekker
868e6f2bc8
msi: Update the UI in the AppSearch action.
2010-03-05 13:13:42 +01:00
Hans Leidekker
b891d0888a
msi: Implement the RemoveIniValues standard action.
2010-03-02 16:12:17 +01:00
Hans Leidekker
342f866044
msi: Implement the RemoveRegistryValues standard action.
2010-02-25 16:00:51 +01:00
Hans Leidekker
253a7fa73c
msi: Implement the RemoveDuplicateFiles standard action.
2010-02-23 13:31:01 +01:00
Hans Leidekker
ec5ae81c8d
msi: Make msi_reset_folders static.
2010-02-22 13:14:35 +01:00
Hans Leidekker
1ff9923148
msi: Add summary information stream to the streams table.
2010-02-19 13:06:53 +01:00
Hans Leidekker
c32d9d7004
msi: Get rid of ACTION_VerifyFeatureForAction.
2010-02-16 12:29:01 +01:00
Hans Leidekker
598c542607
msi: Get rid of ACTION_VerifyComponentForAction.
2010-02-16 12:28:56 +01:00
Hans Leidekker
98761037ab
msi: Implement the UnregisterTypeLibraries standard action.
2010-02-12 14:49:38 +01:00
Hans Leidekker
068cb1291b
msi: Add a partial implementation of the ValidateProductID standard action.
2010-02-10 14:31:49 +01:00
Hans Leidekker
7331b3ca98
msi: Implement the UnregisterFonts standard action.
2010-02-10 14:31:15 +01:00
Hans Leidekker
9a0020ade9
msi: Move some helpers to the module where they are used.
2010-02-03 11:31:48 +01:00
Hans Leidekker
ff2aa7e3a6
msi: Fix download of installer packages. Return errors from msi_download_file and copy_package_to_temp.
2009-12-17 14:21:32 +01:00
James Hawkins
6b403d1a31
msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods.
2009-12-17 12:53:34 +01:00
James Hawkins
a2f5d0e270
msi: Free the cached streams when closing the database.
2009-12-17 12:53:27 +01:00
Hans Leidekker
ef522c5ef0
msi: Clone the open stream instead of trying to open a stream again.
2009-12-16 13:04:35 +01:00
James Hawkins
9ab7d9e21a
msi: Close the original record before copying new data into it.
2009-12-11 12:16:26 +01:00
Rob Shearman
b960b967c9
msi: Improve stub for MsiGetFeatureCost{A, W} and hook the stub into the VolumeCostList dialog control.
2009-11-09 19:43:23 +01:00
Hans Leidekker
808343fb5b
msi: Implement MsiSetExternalUIRecord.
2009-11-03 22:23:08 +01:00
Nate Gallaher
cc366e1282
msi: Add tablename tracking to VIEW_find_column.
...
This fixes the bug where multiple columns of the same name, but
different tables are members of a join. Any attempt to refer to these
columns will resolve to the first available column with that name,
irregardless of any tablename modifier.
2009-10-27 14:01:23 +01:00
Hans Leidekker
8dd3d389b0
msi: Create the local copy before opening the database.
2009-10-20 14:39:55 +02:00
Hans Leidekker
843382f284
msi: Define common strings only once.
2009-10-15 14:16:50 +02:00
Hans Leidekker
9c8b83ce01
msi: Schedule a rename operation when the file to overwrite is in use.
2009-10-01 12:04:02 +02:00
Hans Leidekker
05e9a1fce8
msi: Add a partial implementation of MsiDetermineApplicablePatchesW.
2009-09-02 14:41:31 +02:00
Hans Leidekker
60b7604aa1
msi: Support opening transform databases.
2009-06-30 13:46:39 +02:00
Hib Eris
cad837c999
msi: Add support for importing binary OBJECTS.
2009-05-27 12:51:10 +02:00
Hib Eris
d9568722aa
msi: Support transforms with binary OBJECTS.
2009-05-26 15:18:09 +02:00
Hans Leidekker
184474ea66
msi: Support setting summary information by importing a _SummaryInformation table.
2009-04-14 15:20:58 -05:00
James Hawkins
c965d839f9
msi: Allow the enumeration of other users' patches.
2009-03-23 15:52:17 +01:00
James Hawkins
c9b3bc1165
msi: Column attributes for temporary string and int columns should be g and j respectively.
2009-03-02 12:05:28 +01:00
James Hawkins
b3c9875cf7
msi: Correctly order transposed column values in the INSERT query.
2009-03-02 12:04:57 +01:00
Andrew Talbot
c0ad988e67
msi: Remove unused functions.
2009-02-06 13:04:03 +01:00
Andrew Talbot
668197a898
msi: Declare some functions static.
2009-01-12 13:10:53 +01:00
James Hawkins
01eb930005
msi: Publish the patch information.
2008-12-15 12:34:52 +01:00
James Hawkins
b5e3e19a19
msi: Add the ability to query a specific context for install properties.
2008-12-15 12:34:18 +01:00
James Hawkins
880b9199a9
msi: Add the ability to query a specific context for a patch.
2008-12-15 12:34:12 +01:00
James Hawkins
4a9f6995aa
msi: Add the ability to query a specific context for a product key.
2008-12-15 12:34:06 +01:00
James Hawkins
a9e0290934
msi: Add the ability to delete multiple users' component keys.
2008-12-09 10:28:14 +01:00
James Hawkins
bdf7da9bdc
msi: Remove a duplicated function.
2008-12-09 10:28:04 +01:00
James Hawkins
8438d21127
msi: Remove a duplicated function.
2008-12-09 10:27:58 +01:00
James Hawkins
98c703ab87
msi: Add the ability to open multiple users' install properties key.
2008-12-09 10:27:52 +01:00
James Hawkins
b198f4f23f
msi: Add the ability to open multiple users' component keys.
2008-12-09 10:27:45 +01:00
James Hawkins
930b429d1e
msi: Add the ability to open multiple users product keys.
2008-12-09 10:27:37 +01:00
Andrew Talbot
94d22682c1
msi: Remove an unused declaration.
2008-12-08 22:02:53 +01:00
James Hawkins
7051bf5e22
msi: Remove an unused registry function.
2008-11-04 11:24:16 +01:00
James Hawkins
e3074348fc
msi: Factor out the code to open the UserData features key.
2008-11-04 11:24:11 +01:00
James Hawkins
0c01c586c7
msi: Factor out the code to open the features key.
2008-11-04 11:24:04 +01:00
James Hawkins
70be1e7746
msi: Factor out the code to open a product key.
2008-11-04 11:23:51 +01:00
James Hawkins
ca71e5aff0
msi: Allow private properties from the AdminProperties property list.
2008-10-30 11:47:10 +01:00
James Hawkins
f03889ae82
msi: Add initial implementation of MsiDatabaseMerge, with tests.
2008-10-09 12:58:25 +02:00
James Hawkins
d15fddf6f5
msi: Resolve file source paths dynamically, as the source directory can be changed.
2008-10-07 12:13:33 +02:00
James Hawkins
62c544cf4f
msi: Implement the DROP TABLE sql command.
2008-10-06 13:05:52 +02:00
Marcus Meissner
96412ee564
Annotate with allocation size attribute.
2008-09-05 11:22:26 +02:00
James Hawkins
4b9fd1d5e2
msi: Store the _Columns and _Tables tables in the database structure.
2008-08-25 11:40:46 +02:00
James Hawkins
3bec162d51
msi: Skip the component action detection logic if there is no product code.
2008-08-25 11:40:38 +02:00
James Hawkins
d596ae29d8
msi: Skip the feature action detection logic if there is no product code.
2008-08-25 11:40:30 +02:00
James Hawkins
9288055beb
msi: Only set the action to source if the component has a local feature.
2008-08-25 11:40:15 +02:00
James Hawkins
3807a91739
msi: Fix the logic to determine the appropriate action of the feature.
2008-08-25 11:40:09 +02:00
James Hawkins
7c9873e471
msi: Fix the logic to determine the appropriate action of the component.
2008-08-21 11:44:27 +02:00
James Hawkins
74239fcd91
msi: Factor out media handling and use the new interface to efficiently extract assemblies.
2008-08-19 13:37:51 +02:00
James Hawkins
38106ac230
msi: Handle the package context when unpublishing the product.
2008-07-29 12:19:37 +02:00
James Hawkins
7538f9ac19
msi: Use the newly added defines from the msidbSumInfoSourceType enumeration.
2008-07-22 13:10:38 +02:00
James Hawkins
200eba3b94
msi: Handle the user managed context in MsiQueryFeatureState.
2008-06-24 12:15:31 +02:00
James Hawkins
58e1543960
msi: Fix the published location of the upgrade code for the machine context.
2008-06-24 12:15:10 +02:00
James Hawkins
301f2a5eae
msi: Open the local user data product key for the machine context.
2008-06-24 12:15:03 +02:00
James Hawkins
cdb33f8a39
msi: Publish the UpgradeCode in PublishProduct.
2008-06-24 12:14:49 +02:00
James Hawkins
2a180e060a
msi: Fix the PublishFeatures action to handle the package context.
2008-06-19 12:33:55 +02:00
James Hawkins
288af81a7c
msi: Fix the ProcessComponents action to handle the package context.
2008-06-18 16:23:27 +02:00
James Hawkins
4aa3a997f8
msi: Don't publish components to the Installer key.
2008-06-18 16:23:18 +02:00
James Hawkins
77d259f46c
msi: Search the last used source if the cabinet to extract cannot be found.
2008-05-22 11:30:54 +02:00
James Hawkins
bfe07d1d07
msi: Add initial implementation of MsiPublishAssemblies.
2008-04-30 13:45:23 +02:00
James Hawkins
e21a26e47b
msi: Test and reimplement MsiQueryProductState.
2008-04-07 11:27:24 +02:00
James Hawkins
82517d6d67
msi: Set the install context based on the ALLUSERS property.
2008-04-07 11:27:10 +02:00
James Hawkins
cf84e2df5b
msi: Allow setting a media disk as the last used source in the internal msi_set_last_used_source.
2008-02-26 11:20:35 +01:00
Rob Shearman
9b5d3677df
msi: Remove some unused functions.
2008-02-19 13:39:24 +01:00
James Hawkins
1f3d6a9744
msi: Reimplement MsiGetProductInfo.
2008-02-12 22:59:29 +01:00
James Hawkins
91c205e8c0
msi: Sort each table of the join separately.
2007-12-18 12:32:55 +01:00
James Hawkins
4160722b07
msi: Check the destination file's hash and skip that file if the hash matches.
2007-11-26 12:28:15 +01:00
James Hawkins
f6b27673b0
msi: Delete the uninstall key when the product is removed.
2007-11-13 13:35:01 +01:00
James Hawkins
0e29f314f5
msi: Return a remote interface to the database in a custom action.
2007-11-12 12:06:40 +01:00
James Hawkins
1a0b23cd7d
msi: Implement the CCPSearch standard action.
2007-11-05 14:55:24 +01:00
James Hawkins
fc6b9dd4e4
msi: Properly register and unregister components.
2007-11-01 12:43:06 +01:00
James Hawkins
6ac0816109
msi: Implement the UnpublishFeatures standard action.
2007-08-10 12:58:17 +02:00
Francois Gouget
5771700019
msi: Better match the PSDK types, remove some now unused types from win32.api, and update it to fix the winapi_check warnings.
2007-08-09 14:12:44 +02:00
James Hawkins
511bdd9de8
msi: Simplify MsiQueryComponentState, with more tests.
2007-08-09 13:53:36 +02:00
James Hawkins
ca55c7a330
msi: Implement the MSIINSTALLCONTEXT_MACHINE context for MsiQueryComponentState.
2007-08-07 12:39:48 +02:00
James Hawkins
b830fb0a34
msi: Implement the MSIMODIFY_UPDATE command in the SELECT view.
2007-07-27 12:24:39 +02:00
James Hawkins
ccef56f2cc
msi: Ref count temporary columns and release them when necessary.
2007-07-23 11:55:34 +02:00
James Hawkins
0fd733bf90
msi: Implement adding columns using the ALTER command.
2007-07-23 11:55:11 +02:00
James Hawkins
3b1ab76986
msi: Implement reference counting for tables, manipulated with the HOLD and FREE sql commands.
2007-07-19 12:00:43 +02:00
James Hawkins
dc3060c542
msi: Load the AdminProperties stream if the package is an Admin package.
2007-07-17 12:54:53 +02:00
James Hawkins
30fc5602de
msi: Reload properties as they may have been changed by a transform.
2007-07-13 12:27:33 +02:00
James Hawkins
ba4919912c
msi: Forward MsiFormatRecordA to MsiFormatRecordW.
2007-07-06 18:12:05 +02:00
James Hawkins
39a5638268
msi: Read the components state directly from the registry.
2007-07-03 14:05:41 +02:00
James Hawkins
1130d5909b
msi: Open the correct key and return INSTALLSTATE_ADVERTISED if it's missing.
2007-07-03 14:05:21 +02:00
James Hawkins
0e44e090c5
msi: Set the WindowsInstaller value in RegisterProduct instead of PublishProduct.
2007-07-03 13:49:44 +02:00
James Hawkins
624bbbe78a
msi: Unpublish the product when it is entirely removed.
2007-07-03 13:49:18 +02:00
James Hawkins
5e46fc9019
msi: Delay publishing of the SourceList until the PublishProduct action.
2007-07-03 13:43:20 +02:00
James Hawkins
04c67c2a1c
msi: Add support for the MSICODE_PATCH option.
2007-07-03 13:42:42 +02:00
James Hawkins
e4658e05f2
msi: Handle remote calls to MsiGetActiveDatabase.
2007-07-03 12:59:32 +02:00
James Hawkins
bc4750ff75
msi: Add the IWineMsiRemoteCustomAction interface.
2007-07-03 12:59:17 +02:00
James Hawkins
f9001058b0
msi: Add the IWineMsiRemotePackage interface.
2007-07-03 12:58:43 +02:00
James Hawkins
7da89f48fd
msi: Use the correct registry key when detecting a published product.
2007-06-27 12:32:44 +02:00
Rob Shearman
2e2b17f340
msi: Fix transforms to work when the number of bytes per string reference differs to that of the database it is being applied to.
2007-06-27 12:32:42 +02:00
Rob Shearman
8a94f7aad3
msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK.
2007-06-26 11:56:33 +02:00
James Hawkins
9309f4dfa0
msi: Properly delete rows from the table, instead of zeroing out the row.
2007-06-19 11:31:44 +02:00
Andrew Talbot
19ef864058
msi: Name all or none of the formal arguments in function prototypes.
2007-06-18 13:36:42 +02:00
Andrew Talbot
cf1e01eb0c
msi: Constify some variables.
2007-06-14 13:20:45 +02:00
Andrew Talbot
8b362f7fc8
msi: Constify some variables.
2007-06-13 11:18:35 +02:00
James Hawkins
a05613a9f2
msi: Add support for large string tables.
2007-06-08 11:59:28 +02:00
Andrew Talbot
a0ae69a8d1
msi: Constify some variables.
2007-06-06 14:07:22 +02:00
Andrew Talbot
1486d851da
msi: Constify some variables.
2007-06-01 12:51:14 +02:00
James Hawkins
c2e91588e9
msi: Perform a forced reboot if a custom action returns ERROR_INSTALL_SUSPEND.
2007-05-30 11:49:16 +02:00
Michael Stefaniuc
7043b7baa4
msi: A signed 1-bit bitfield doesn't make much sense; use unsigned.
2007-05-24 11:36:10 +02:00
Misha Koshelev
8ba0b3c7b9
msi: automation: Store parent Installer object in Session.
2007-05-07 14:23:37 +02:00
Misha Koshelev
eee455c24a
msi: Add JScript/VBScript support.
2007-05-01 18:34:17 +02:00
Misha Koshelev
f217cacbc2
msi: automation: Expose Installer object.
2007-05-01 18:05:26 +02:00
James Hawkins
da55285acb
msi: Implement special handling for the _Streams table.
2007-04-25 12:44:37 +02:00
Rob Shearman
23379b3b5c
msi: Add support for adding temporary/non-persistent data to tables.
2007-04-24 12:24:48 +02:00
Rob Shearman
e261d602fb
msi: Cleanup unneeded string table functions.
...
Make string table functions that aren't used outside of string.c static.
2007-04-24 12:21:33 +02:00
Rob Shearman
37b11baaa3
msi: Move string loading and saving to string.c.
2007-04-24 12:20:19 +02:00
Rob Shearman
2e3289ca6c
msi: Add support for non-persistent strings.
...
Store the loaded refcount in the string table.
2007-04-24 12:18:04 +02:00
James Hawkins
7d3162e6be
msi: Abstract MSI_RecordSetStream.
2007-04-23 16:18:13 +02:00
James Hawkins
2b4bf44b79
msi: Add an internal MSI_ViewModify.
2007-04-23 16:18:03 +02:00
James Hawkins
b4bb6e5b5d
msi: Add the _Property table back, with tests.
2007-04-23 14:03:51 +02:00
James Hawkins
d677bd7f3b
msi: Return MSICONDITION_NONE in MsiDatabaseIsTablePersistent if the table doesn't exist.
2007-04-23 14:00:24 +02:00
James Hawkins
8cedb218c3
msi: Load the folder property if available and requested.
2007-03-29 21:01:42 +02:00
Andrew Talbot
efc988e1c8
msi: Replace inline static with static inline.
2007-03-23 12:29:19 +01:00
James Hawkins
0746b9076d
msi: Cleanup the dialog event subscriptions when destroying the dialog.
2007-02-21 10:53:49 +01:00
Mike McCormack
d50c62884a
msi: Find pending custom actions by GUID.
2007-02-14 14:42:02 +01:00
Mike McCormack
63e554994a
msi: Store dll based custom actions in a separate list.
2007-02-12 14:12:41 +01:00
Mike McCormack
94edfde1d9
msi: Register the typelib.
2007-02-08 11:56:16 +01:00
Misha Koshelev
d8b00a071d
msi: Make sure to ignore UI level flags in dialog and files as well.
2007-02-07 11:03:39 +01:00
Mike McCormack
97419aea80
msi: Examine the attributes of all features before setting a component's state.
2006-12-05 11:29:02 +01:00
Mike McCormack
7eb270265f
msi: Load all folders in one query, rather one per query.
2006-11-22 11:43:05 +01:00
Mike McCormack
c88c0b453d
msi: Remove track_tempfile()'s unused 2nd parameter.
2006-11-14 11:43:17 +01:00
James Hawkins
ae18c2dc7f
msi: Store the base URL of the MSI package if it is downloaded.
2006-11-08 13:00:15 +01:00
Alexandre Julliard
36c4ec8f33
msi: Fixed definition of the MSIITERHANDLE type.
2006-11-06 13:02:47 +01:00
Mike McCormack
f86cfd4088
msi: Avoid a memory leak by freeing actions scripts in one place only.
2006-11-02 12:25:07 +01:00
Mike McCormack
9a4ba8c114
msi: Search the patch package for source cabinet files.
2006-11-01 13:38:09 +01:00
James Hawkins
c6bfbde849
msi: Implement handling for the ErrorDialog and use it to change media.
2006-10-27 12:08:46 +02:00
Mike McCormack
15bfb30fc3
msi: Update tables using records, not integer by integer.
2006-10-26 12:56:10 +02:00
Mike McCormack
575cc67d0f
msi: Use msi_feature_set_state and msi_component_set_state where possible.
2006-10-26 12:56:09 +02:00
Mike McCormack
0d7dc8f98d
msi: Only apply transforms that are valid for a database.
2006-10-23 12:37:40 +02:00
Mike McCormack
7f98f1d086
msi: Initialize the summary information from a storage interface, not a db.
2006-10-23 12:37:32 +02:00
James Hawkins
9119b700ed
msi: Revert "msi: Perform button control events in greatest to least order."
2006-10-17 11:16:11 +02:00
James Hawkins
c507543554
msi: Set the SourceDir and SOURCEDIR properties in the ResolveSource action.
2006-10-11 12:09:54 +02:00
Mike McCormack
80affb3c2d
msi: Merge action.h into msipriv.h.
2006-10-10 16:12:12 +02:00
Mike McCormack
175c407bfc
msi: Make msi_makestring static.
2006-10-10 16:11:42 +02:00
James Hawkins
563a50ab35
msi: Make internal functions static.
2006-10-09 14:40:08 +02:00
James Hawkins
f721a24a13
msi: Perform button control events in greatest to least order.
2006-10-09 14:40:00 +02:00
James Hawkins
3d812659e8
msi: Return to the parent dialog when the argument to the EndDialog event is Return.
2006-09-29 15:00:13 +02:00
James Hawkins
da14a4a25e
msi: Store the full path to the database file in the MSIDATABASE structure.
2006-09-26 21:50:36 +02:00
Mike McCormack
60d92d42a3
msi: Fix a couple of test cases for MsiDatabaseIsTablePersistent.
2006-09-13 12:19:54 +02:00
Mike McCormack
74a6a1e71b
msi: Delete databases we create but never commit.
2006-09-13 10:58:42 +02:00
James Hawkins
1cfdc5185a
msi: Store and use the center point of the dialog window in between dialogs.
2006-09-07 15:14:11 +02:00
Mike McCormack
a426b18efd
msi: Create MSI_ViewGetColumnInfo for accessing MsiViewGetColumnInfo internally.
2006-09-07 11:00:51 +02:00
Mike McCormack
71d8f4ebf6
msi: Create a function to copy record fields, use it to order INSERT fields correctly.
2006-09-07 11:00:19 +02:00
Mike McCormack
155a325f96
msi: Free the handle table on PROCESS_DETACH.
2006-08-29 13:48:04 +02:00
Dan Kegel
29f0803c02
msi: Remove limit on number of handles.
2006-08-28 17:49:31 +02:00
Mike McCormack
5f832b2731
msi: Fix writing of long strings to the database.
2006-08-28 11:49:21 +02:00
James Hawkins
a1b16d2d96
msi: Add initial implementation of the DirectoryListUp event.
2006-08-28 11:38:04 +02:00
Mike McCormack
a4fb1c94ac
msi: Store properties in a hash table, not the database.
...
Use string insensitive comparisons for property names.
2006-08-25 11:21:14 +02:00
James Hawkins
f84fa0ce63
msi: Fix the compressed files logic.
...
If the compressed file attribute is not set, use the Word Count
property to determine if files are compressed.
2006-08-08 19:34:34 +02:00
Andrew Talbot
d58e1dba42
msi: Write-strings warnings fix.
2006-08-05 11:27:04 +02:00
Stefan Leichter
93bbd00be7
msi: Make the version information of DllGetVersion same as in version resource.
2006-07-28 13:17:01 +02:00
Mike McCormack
0bfb9c3e3d
msi: Move COM server implementation to a separate file.
2006-07-24 19:55:41 +02:00
James Hawkins
de73481c89
msi: Forward MsiSetInstallLevel to an internal MSI_SetInstallLevel that can be used internally.
2006-07-20 12:51:11 +02:00
James Hawkins
7bcac31dcf
msi: Update feature states after changing install levels, as they may have changed.
2006-07-20 12:50:14 +02:00
Mike McCormack
a3c03fea58
msi: Add some registry reading macro functions.
2006-07-14 13:32:39 +02:00
Mike McCormack
230af9d21f
msi: Move version string conversions to registry.c.
2006-07-14 13:32:39 +02:00
Mike McCormack
9917250863
msi: Move some registry helper functions to registry.c.
2006-07-14 13:32:39 +02:00
Alexandre Julliard
9a59ee76e4
msi: Make all the ops structures static and const.
2006-06-10 12:02:39 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Shearman
9f487ba1de
msi: Optimise WHERE operations.
...
Optimise WHERE operations on matching against strings by adding a new
function find_matching_rows to the views, which eliminates the need to
examine every record when executing a query. Implement this function
in the table using a hash table on the ID stored in the data.
2006-03-20 12:03:04 +01:00
Mike McCormack
e534e7726b
msi: Apply any MSI transforms specified by the TRANSFORMS property.
2006-01-04 14:51:25 +01:00
Mike McCormack
188365e2f0
msi: Implement the Reset control event.
2006-01-03 12:12:09 +01:00
Mike McCormack
3e6f31bf0b
Fix and test MsiGetProperty and MsiSetProperty.
2005-10-31 14:07:37 +00:00
Mike McCormack
1cd26d25fc
Implement transforms. This still includes some debugging code which
...
can be enabled by setting debug_transform to 1 in the relevant
places.
2005-10-27 12:25:04 +00:00
Mike McCormack
f8fef6ea94
Create a stub function to apply a single table transform and call it
...
where we need to apply transforms.
2005-10-26 13:56:33 +00:00
Mike McCormack
6d9c80e8a0
Create an internal handle-free api for reading MSI database summary
...
information.
2005-10-26 10:10:50 +00:00
Mike McCormack
61f24a4ca7
Rename ACTION_DoTopLevelINSTALL to MSI_InstallPackage, remove its
...
duplicate 4th parameter.
Split the code to copy a package into a separate function.
2005-09-30 10:32:41 +00:00
Mike McCormack
8e74308a10
Fix and test MsiViewGetColumnInfo and binary fields.
2005-09-28 11:59:40 +00:00
Mike McCormack
41c788f5a1
Don't create MSI handles unless we have to pass one through the API.
2005-09-28 10:13:18 +00:00
Mike McCormack
d34b1c23a2
Implement MsiSequenceA/W.
2005-09-21 10:55:23 +00:00
Mike McCormack
7d7da60db4
Don't refcount tables.
2005-09-21 10:20:20 +00:00
Mike McCormack
8dc28d5306
Added memory allocation inline functions (part 1).
2005-09-20 11:57:19 +00:00
Mike McCormack
230e71cc18
Fix memory leaks in the table code.
2005-09-17 14:29:38 +00:00
Mike McCormack
6b5f290d75
Make load_string_table return the string table.
2005-09-16 19:01:40 +00:00
Mike McCormack
4db02cdb0b
Use the new msi_reg_set* macros where possible.
2005-09-15 14:58:38 +00:00
Mike McCormack
ade532a163
Remove some unused values in the object header.
2005-09-14 11:15:22 +00:00
Mike McCormack
5f1b258c9c
Convert the list of tables to a standard list.
2005-09-14 10:07:26 +00:00
Alexandre Julliard
903e0b9fc5
Get rid of a couple of non-portable long long constants.
2005-09-13 11:26:36 +00:00
Mike McCormack
0232c5c45f
Convert RunningActions array into a list.
2005-09-08 12:42:07 +00:00
Mike McCormack
c50ef541e8
Keep temporary files in a seperate list.
2005-09-07 11:25:18 +00:00
Mike McCormack
68680e9c0c
Fixes for MsiGetSourcePath parameter handling.
2005-09-06 11:05:35 +00:00
Mike McCormack
1ceb25ba7b
Convert progids to a standard list.
2005-09-06 09:26:18 +00:00
Mike McCormack
4d7b593bd3
- convert verbs into a standard list
...
- remove limitation of 100 verbs
- use pointers to verbs rather than indexes
2005-09-02 14:39:13 +00:00
Mike McCormack
0c49c1c41d
- build a standard Wine list of extensions instead of using an array
...
- use extension pointers instead of array indexes
2005-08-29 09:38:39 +00:00
Mike McCormack
9e558d7449
- build a standard Wine list of mime types instead of using an array
...
- use mime type pointers instead of array indexes
2005-08-26 08:47:31 +00:00
Mike McCormack
a391a98a9d
- build a standard Wine list of classes instead of using an array
...
- use class pointers instead of array indexes
2005-08-25 10:22:32 +00:00
Mike McCormack
e8d1a167df
Implement MsiModifyView (MSIMODIFY_INSERT_TEMPORARY).
2005-08-24 11:10:23 +00:00
Mike McCormack
febad089ce
- build a standard Wine list of appids instead of using an array
...
- use appid pointers instead of array indexes
2005-08-24 09:45:18 +00:00
Mike McCormack
979511fe6d
- build a standard Wine list of folders instead of using an array
...
- use folder pointers instead of array indexes
2005-08-23 18:15:44 +00:00
Mike McCormack
e18f8abee1
- build a standard Wine list of files instead of using an array
...
- use file pointers instead of array indexes
2005-08-23 10:03:17 +00:00
Mike McCormack
1da2858caa
- build a standard Wine list of features instead of using an array
...
- use feature pointers instead of array indexes
2005-08-22 14:09:17 +00:00
Mike McCormack
38d67a4537
- build a standard Wine list of components instead of using an array
...
- use component pointers instead of array indexes
2005-08-22 09:15:23 +00:00
Alexandre Julliard
d37f0abf07
Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
...
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Yuri Kozlov
934c6fa93f
Remove duplicate declaration of MSI_SetPropertyW.
2005-08-08 11:07:10 +00:00
Mike McCormack
16466af791
gcc 4.0 -Wpointer-sign fixes.
2005-07-06 10:33:30 +00:00
Aric Stewart
b7dc53d462
Add source.c to start handling the various MsiSourceList apis used in
...
v3 of MSI, and now internally.
Update files.c to use the MsiSourceList apis to make sure our
SourceList keys in the registry are included and correct.
2005-07-05 21:00:06 +00:00
Aric Stewart
f1b52aef96
Relocate the msi file to prevent cd locking, corrected to properly not
...
try to relocated #nnnn handles as files.
2005-06-28 19:14:30 +00:00
Mike McCormack
7e3918d53e
Make the MSI icon control work.
2005-06-23 16:43:38 +00:00
Aric Stewart
71a55e04a3
Allow control events to return codes to halt the processing of event.
...
Needed for the SetTargetPath Event.
2005-06-17 21:31:06 +00:00
Mike McCormack
f9acfe635a
Fixes for -Wmissing-declarations and -Wwrite-strings warnings.
2005-06-07 20:29:51 +00:00
Aric Stewart
19ba432b2b
Add functions to add the User UpgradeCodes.
2005-06-07 20:02:27 +00:00
Mike McCormack
b402f04851
Use standard lists in the event subscription code.
2005-06-06 15:40:15 +00:00
Mike McCormack
6309892499
Create a helper function to fetch a single record from a query.
2005-06-02 10:29:28 +00:00
Mike McCormack
e8b21c3eed
- avoid unicode.h
...
- add a missing function prototype
2005-06-01 11:02:19 +00:00
Mike McCormack
64de949cdd
More -Wmissing-declarations and -Wwrite-strings warning fixes.
2005-05-31 09:30:28 +00:00
Aric Stewart
9cd707da3f
Introduce really basic scripting of actions. This is primarily to get
...
the order of execution of the action correct since some custom actions
can be scripted and others are run during the script building phase.
2005-05-27 19:24:22 +00:00
Alexandre Julliard
d757bfeeaf
Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
...
Implement dialog events and hook up the dialog code.
2005-05-27 09:11:18 +00:00
Aric Stewart
6f43c18fe7
A big rewrite of the whole RegisterClass, RegisterProgId,
...
RegisterExtension and RegisterMIME actions. We now handle verbs
properly, handle dependancies and such properly and keep track of what
we need to register and what we do not properly.
2005-05-26 12:24:28 +00:00
Mike McCormack
0093007b32
Track memory allocations in the SQL parser.
2005-05-23 12:08:17 +00:00
Mike McCormack
7153c8fa65
- remove the unused utf8 field of an expression
...
- make the parse result a single assignment at top level of parsing
- abort parsing on a memory allocation failure
2005-05-23 09:53:43 +00:00
Aric Stewart
b39d8fc2a6
- ExecuteAction runs the whole Execute table and not just from
...
InstallValidate onward. To do this make sure we do not do the
costing initialization work again if it is already done (by checking
the CostingComplete Property).
- A lot of work to refine feature states, setting the state affects
the state of all child features and also respect features that want
to default to something other than LOCAL.
2005-05-13 13:56:39 +00:00