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