Hans Leidekker
3cd55cc916
msi Set the feature action to INSTALLSTATE_UNKNOWN if msidbFeatureAttributesUIDisallowAbsent is set.
2010-10-06 20:46:34 +02:00
Hans Leidekker
ca7cd1bf89
msi: Validate packages based on supported version, platform and languages.
2010-10-06 20:46:27 +02:00
Hans Leidekker
52aab76eb2
msi: Put the uninstall key for 32-bit packages under Wow6432Node on 64-bit.
2010-10-05 17:50:16 +02:00
Hans Leidekker
d56d0d98a3
msi: Remove unused field from MSICOMPONENT structure.
2010-09-24 18:20:32 +02:00
Hans Leidekker
a0ebe951b6
msi: Read supported platform and language ids from the summary information stream.
2010-09-18 13:06:28 +02:00
Hans Leidekker
931bf05731
msi: Adjust the AdminUser property too after applying a patch.
2010-09-18 13:06:17 +02:00
Hans Leidekker
7e9d50a122
msi: Avoid pointer truncation in MSI_ViewFetch and MSI_ViewModify.
2010-09-13 10:59:18 -05:00
Hans Leidekker
378bb21f8e
msi: Bump version to 4.5.
2010-08-18 15:31:25 +02:00
Hans Leidekker
bd634c0491
msi: Set/unset the SourceDir property at the right stage in the execution sequence.
2010-07-23 11:46:01 +02:00
Hans Leidekker
ad971803da
msi: Never defer standard actions.
2010-07-23 11:45:49 +02:00
Hans Leidekker
06afeec2a5
msi: Make sure properties are updated after applying a patch.
2010-07-22 16:09:09 +02:00
Hans Leidekker
d10208e863
msi: Improve traces in db_get_raw_stream.
2010-07-21 13:24:00 +02:00
Hans Leidekker
c9fb24927d
msi: Publish patches regardless of any features being installed locally.
2010-07-21 13:24:00 +02:00
Hans Leidekker
f7aa88fe7d
msi: Store the patch state in the registry.
2010-07-20 16:29:45 +02:00
Hans Leidekker
67f15e7149
msi: Implement MsiGetFeatureCostA/W.
2010-06-11 15:54:54 +02:00
Hans Leidekker
15f5b9dca3
msi: Compare file versions as numbers instead of strings.
2010-06-11 15:54:24 +02:00
Hans Leidekker
dcb501decd
msi: Create directories right before installing files.
2010-06-09 16:12:44 +02:00
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