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