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