Commit Graph

190 Commits

Author SHA1 Message Date
Hans Leidekker fe404d1d88 msi: Always check the return value of MSI_IterateRecords. 2011-07-27 11:55:23 +02:00
Hans Leidekker e1c2e8828f msi: Clean up the database queries. 2011-07-27 11:55:16 +02:00
Hans Leidekker 791fe136a9 msi: Remove directories after removing all files. 2011-07-01 14:39:36 +02:00
Hans Leidekker 2cbeb20d39 msi: Use an enum to represent folder states. 2011-07-01 14:39:36 +02:00
Hans Leidekker ac994860af msi: Make sure reported progress adds up to projected progress. 2011-06-23 10:00:09 +02:00
Hans Leidekker 838614c7ec msi: Don't update the progress bar in schedule_install_files. 2011-06-23 09:59:52 +02:00
Alexandre Julliard 89472db9e3 msi: Create temp files in the destination directory instead of the root. 2011-06-09 15:56:57 +02:00
Hans Leidekker c869192c92 msi: Print a warning instead of an error if we're going to remove an installed file.
Removing an installed file is normal as part of a rollback.
2011-06-07 14:18:33 +02:00
Hans Leidekker 1d6540bdc8 msi: Skip files from global assemblies in the RemoveFiles action. 2011-05-30 11:16:08 +02:00
Hans Leidekker c88f128537 msi: Fix the file actions to revert components to the installed state during rollback. 2011-05-24 11:58:29 +02:00
Hans Leidekker 7545fc1014 msi: Recursively create the destination directory in the MoveFiles action. 2011-05-20 12:44:13 +02:00
Marcus Meissner 97b82b0f18 msi: Check comp for NULL from msi_get_loaded_component (Coverity). 2011-05-18 16:41:17 +02:00
Hans Leidekker bffd5e0cbb msi: Destroy assembly caches right after use.
This avoids keeping dlls loaded that the .NET service pack installers want to replace.
2011-05-06 16:39:51 +02:00
Hans Leidekker 0c43024af7 msi: Get rid of helpers.c. 2011-05-06 16:39:08 +02:00
Hans Leidekker 8fb5368d4e msi: Use a separate function to retrieve the target folder path. 2011-05-02 16:39:52 +02:00
Hans Leidekker eee070f1e0 msi: Add offsets to disk ids added by patches. 2011-04-14 17:37:23 +02:00
David Hedberg 6771ed40e8 msi: Add support for patching files. 2011-03-29 12:22:34 +02:00
David Hedberg 18973df9c7 msi: Generalize media helpers a bit. 2011-03-29 12:21:58 +02:00
Hans Leidekker bb40bebd2b msi: Let the InstallFiles action determine which private assembly files to install. 2011-03-16 14:14:23 +01:00
Hans Leidekker 2df374ac35 msi: Fix a memory leak (valgrind). 2011-03-10 14:10:16 +01:00
Hans Leidekker 429407cfb6 msi: Assume a file is present if the target exists with the same size and there's no file version or hash to verify. 2011-03-08 12:31:04 +01:00
Hans Leidekker be790cb0ad msi: Load media info even if there's no file to install. 2011-03-08 12:30:55 +01:00
Hans Leidekker 4a6c63e24a msi: Make a second pass to determine which files to install in the InstallFiles action.
This is needed because the target path can still change after CostFinalize
is executed. This happens in the .NET 1.1 Service Pack 1 installer where a
custom action calls SetTargetPath.
2011-03-08 12:30:49 +01:00
Hans Leidekker 3878c451ca msi: Reduce filename to the long name in ITERATE_RemoveFiles. 2011-03-07 13:17:25 +01:00
Hans Leidekker ba9f1f770a msi: Get rid of msi_component_set_state and msi_feature_set_state. 2011-02-10 10:28:01 -06:00
Hans Leidekker b96e5d21c6 msi: Split up resolve_folder. 2011-02-07 10:17:15 -06:00
Hans Leidekker 181beef870 msi: Try harder to remove non-persistent directories. 2011-02-02 14:09:14 +01:00
Hans Leidekker bc13c7eb90 msi: Reset file attributes before removing a file. 2011-02-01 18:14:08 +01:00
Hans Leidekker 3ada9f2c08 msi: Downgrade a warning.
Unreferenced files are normal when applying a patch.
2011-01-19 12:32:44 +01:00
Hans Leidekker 6a0801a40a msi: Don't extract files for assemblies which are already installed. 2011-01-11 16:05:46 +01:00
Hans Leidekker a4de41f36b msi: Install assemblies only if the component action request is set to INSTALLSTATE_LOCAL. 2010-11-18 12:37:04 +01:00
Hans Leidekker 7cd084d041 msi: Honor msidbComponentAttributesPermanent. 2010-11-16 11:48:08 +01:00
Hans Leidekker b1b3252963 msi: Check component attributes before extracting the cabinet. 2010-11-16 11:48:04 +01:00
Hans Leidekker 9d46ba417e msi: Don't use a temporary directory for local assemblies. 2010-11-12 16:59:24 +01:00
Hans Leidekker b112d77126 msi: Honor msidbComponentAttributesNeverOverwrite. 2010-11-12 15:43:17 +01:00
Hans Leidekker a23514eece msi: Add support for installing side-by-side assemblies. 2010-11-11 12:23:06 +01:00
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker 424e3a9fb8 msi: Move the component enabled check into the standard actions. 2010-07-21 13:24:00 +02:00
Hans Leidekker 15f5b9dca3 msi: Compare file versions as numbers instead of strings. 2010-06-11 15:54:24 +02:00
Hans Leidekker b8ac327e7e msi: Display the directory identifier instead of the full path in standard actions. 2010-06-09 16:15:52 +02:00
Hans Leidekker 5ecbc4f8ca msi: Directly pass the disk id to installfiles_cb.
The MEDIAINFO structure is modified by the cabinet_next_cabinet
callback if there's a continuous cabinet in the installer.
2010-06-09 16:14:24 +02:00
Hans Leidekker dcb501decd msi: Create directories right before installing files. 2010-06-09 16:12:44 +02:00
Hans Leidekker 7a370c8d7b msi: Consistently use the allocation macros. 2010-05-20 16:25:44 +02:00
Hans Leidekker e60bf536eb msi: Improve some traces. 2010-05-12 18:46:35 +02:00
Hans Leidekker 6475c11c1f msi: Only extract a file when its disk id matches the media disk id.
This makes sure that an updated file is extracted from the cabinet stream
included in the patch, instead of the original source.
2010-05-12 18:46:32 +02:00
Gerald Pfeifer effda58ad3 msi: Fix return value for ITERATE_RemoveFiles (in the error case). 2010-05-03 15:38:39 +02:00
Hans Leidekker 82fdc926a2 msi: Move all file comparisons to CostFinalize.
File costing can't be done correctly on upgrades unless we know
which files are going to be overwritten.
2010-04-28 15:04:40 -05: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 1407f1ee36 msi: Return the right error when a cabinet cannot be extracted. 2010-03-26 15:35:20 +01:00
Hans Leidekker 27e90274b5 msi: Set the action taken in the ProcessComponents and InstallFiles actions. 2010-03-23 13:24:26 +01:00