Commit Graph

491 Commits

Author SHA1 Message Date
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
Mike McCormack 07c74d07f3 Make sure that dialogs are only created and destroyed in a single
thread.
2005-04-27 10:16:57 +00:00
Aric Stewart 072c5e56a2 Implement Publish Components in order for MsiGetQualifiedComponent
apis to work. Also implement MsiGetQualifiedComponent, or at least some
of the functionality as it is supposed to install stuff if it is
absent, which it does not do yet.
2005-04-20 12:50:05 +00:00
Mike McCormack 499a887d0f Load and display bitmaps in the dialogs. 2005-04-11 12:47:20 +00:00
Mike McCormack 758a69515b Implement summary information loading and saving. 2005-03-18 14:01:39 +00:00
Mike McCormack 95dea4969a - Rename dupstrW to strdupW, and remove duplicate definition.
- Move definition of string manipulation functions to msipriv.h.
2005-03-16 11:31:35 +00:00
Juan Lang 3d4ce5c2c1 Implement MsiEnumRelatedProducts. 2005-03-10 17:24:05 +00:00
Aric Stewart b6bc6aa6f8 Add the ExecuteAction handler.
Store the keypath, and do refcounting and registration of SharedDLLs.
Fix a bug with handing dword values in the registry.
Fix bugs with writing registry keys where value == NULL.
Make use of msidefs.h.
Lay some groundwork for uninstalls.
2005-02-24 12:47:43 +00:00
Mike McCormack ef1d367bcc Fix MsiModifyView and MsiViewGetColumnInfo to use MSIRECORD* not MSIHANDLE. 2005-02-08 13:44:25 +00:00
Mike McCormack e7488b8f79 - fix the dialog font
- allow waiting on a handle while running the message loop
2005-02-08 12:55:47 +00:00
Mike McCormack fd91013b46 Add more dialog controls, do something when they're clicked on. 2005-02-02 09:55:51 +00:00
Mike McCormack 479213c455 Implement MsiPreviewDialog. 2005-01-28 12:39:57 +00:00
Aric Stewart 6b16f29fc0 Enable the updating of Feature and thus the resulting component
states.
Run the end of install actions for suspend and user exit states as
well.
Start putting in place a currently running state for future ui use.
2005-01-27 11:12:56 +00:00
Aric Stewart 475a81a818 Added a few more stub implementations. 2005-01-26 19:41:13 +00:00
Aric Stewart 54c67dd1b1 - action.c is getting too big, so split out all the handling of
CustomActions into custom.c. Cleaned up a lot of the handling of
  custom actions including scripting actions and processing return
  codes.
- Mike McCormack pointed out that MsiFormatRecord is basically the
  same as internal function deformat_string. So broke deformat_string
  out and updated it to function as MsiFormatRecord and implemented
  MsiFormatRecord.
- A number of random fixes to action.c including properly calculating
  the length for the LocalPackage name, not forcing a reboot when
  really we should just return ERROR_INSTALL_SUSPEND and handling
  REG_MULTI_SZ now that we can deformat the properly.
2005-01-25 20:17:09 +00:00
Aric Stewart a26aa0af4c Move the guid squishing functions out of msi.c and make a new
registry.c file. Also clean up all the various registry keys we need
to open and create to this module and modify the functions for msi.c
to call these functions.
2005-01-25 10:58:36 +00:00
Alexandre Julliard ee4f4a05c5 Avoid unnecessary run-time initializations. 2005-01-24 12:55:31 +00:00
Mike McCormack 0c23885654 Move OpenQuery into msiquery.c and make it non-static. 2005-01-21 16:19:11 +00:00
Mike McCormack eb23257b7d Added stub implementations for MsiPreviewDialog and
MsiPreviewBillboard.
2005-01-21 10:17:01 +00:00
Mike McCormack b3a7f37aaf Fix refcounting, use Interlocked functions. 2005-01-20 20:34:29 +00:00
Aric Stewart 2cae30b6cf Quite a few fixes:
- Allow for the queing of custom actions to trigger on the
  InstallExecute or InstallExecuteAgain actions.
- allow for the queing of custom actions to trigger on
  InstallFinalize.
- Properly set the CustomActionData property for said queued actions.
- Implement RegisterProduct.
- Beginning implementation of ForceReboot.
- Don't kill install if an item to be duplicated does not exist.
- Write out SourceList and LastUsedSource for resuming installs.
- Use regsvr32 to register self reg dlls.
2005-01-19 19:07:40 +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
Mike McCormack 9db0e072b1 Remove a lot of fixed length buffers. 2004-12-22 15:05:07 +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
Alexandre Julliard 25e2a320a7 Don't define BEGIN_INTERFACE in unknwn.h. 2004-08-22 21:38:46 +00:00
Hans Leidekker 4104c622af Set VersionMsi property.
Accept a dot in a number value.
2004-07-19 21:49:15 +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 7231a439b4 Implement logging. 2004-07-09 19:26:30 +00:00
Mike McCormack 24e9a34494 Fetch binary streams at the table level. 2004-07-06 18:56:12 +00:00
Aric Stewart b942e18636 Implemented ProcessComponents. 2004-07-06 18:50:02 +00:00
Aric Stewart ec688fb4e0 Beginnings of costing and organizing into components and features. 2004-07-04 00:35:52 +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
Aric Stewart ed7c4bc84c Implement SetTargetPath, start the basics for tracking UI level. 2004-07-04 00:26:54 +00:00
Aric Stewart eb0e0df908 Start implementing MsiOpenPackage. 2004-06-30 19:38:36 +00:00
Mike McCormack abd259fd12 Fix the UPDATE query. 2004-06-30 18:24:33 +00:00
Mike McCormack ab519f2a2c Make the SQL insert query work. 2004-06-30 18:18:27 +00:00
Mike McCormack 6fb0cee5d9 Dump database table names on startup. 2004-06-29 03:57:39 +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
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 9d66d94780 Implement queries by string value. 2004-06-26 00:11:08 +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
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
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 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
Mike McCormack 6386edc5d8 Partial implementation of the Microsoft Installer (msi.dll). 2003-08-13 01:27:48 +00:00