Commit Graph

626 Commits

Author SHA1 Message Date
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 dcb501decd msi: Create directories right before installing files. 2010-06-09 16:12:44 +02:00
Hans Leidekker 35a0461baa msi: Improve parsing of patch summary information. 2010-05-31 12:46:08 +02:00
Hans Leidekker d17ebc4032 msi: Advance to the right cabinet in ACTION_MsiPublishAssemblies. 2010-05-31 12:46:08 +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 41a7f025e4 msi: Avoid A->W conversions in msi_publish_install_properties. 2010-05-11 16:28:12 +02:00
Hans Leidekker 347bb13fc7 msi: Set install properties just once. 2010-05-11 16:28:07 +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 df6b195a1a msi: Simplify msi_set_context. 2010-04-29 10:19:40 -05:00
Hans Leidekker c6f281fcf7 msi: Make sure to only open a patch database in msi_apply_patch_package. 2010-04-29 10:19:40 -05: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 9af488d236 msi: Always evaluate component conditions.
Fixes a regression caused by 0d770c96fe.
2010-04-28 15:04:40 -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 9a9faeffd8 msi: Don't assume unversioned files are present. 2010-04-19 14:57:43 +02:00
Hans Leidekker 33299faae4 msi: Move application of substorage transforms out of msi_parse_patch_summary. 2010-04-13 11:48:30 +02:00
Hans Leidekker bcc0ad9b07 msi: Release summary information on error in msi_parse_patch_summary. 2010-04-13 11:48:25 +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
Mikhail Maroukhine 86f76d2b48 msi: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:14:44 +02:00
Mikhail Maroukhine f930c87fd6 objbase.h: CLSIDFromString: Add constness to the parameters declaration in accordance with MSDN. 2010-03-29 12:11:02 +02:00
Hans Leidekker 5a08c9ed6f msi: Improve the SetODBCFolders action stub. 2010-03-26 15:35:37 +01:00
Hans Leidekker 129161fec5 msi: Update the UI in the StartServices and StopServices actions. 2010-03-26 15:35:17 +01:00
Hans Leidekker d0856c0ac5 msi: Display REG_EXPAND_SZ values too in the WriteRegistryValues action. 2010-03-23 13:24:26 +01:00
Hans Leidekker 18a85caa3c msi: Update the UI in the UnpublishFeatures action. 2010-03-23 13:24:26 +01:00
Hans Leidekker 27e90274b5 msi: Set the action taken in the ProcessComponents and InstallFiles actions. 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 a4be941df9 msi: Display the file identifier instead of the filename in the SelfRegModules and SelfUnregModules actions. 2010-03-23 13:24:26 +01:00
Hans Leidekker ab9a181326 msi: Update the UI in the RegisterUser action. 2010-03-05 13:14:41 +01:00
Hans Leidekker 4341f18c7e msi: Update the UI in the RegisterProduct action. 2010-03-05 13:14:36 +01:00
Hans Leidekker c547fb3629 msi: Display the product code in the PublishProduct action. 2010-03-05 13:14:32 +01:00
Hans Leidekker e90fbf09c7 msi: Update the UI in the MsiPublishAssemblies action. 2010-03-05 13:14:27 +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 a5549305de msi: Update the UI in the RemoveODBC action. 2010-03-05 13:14:11 +01:00
Hans Leidekker eff0503f64 msi: Update the UI in the InstallODBC action. 2010-03-05 13:14:06 +01:00
Hans Leidekker 3c36d9d1f9 msi: Update the UI in the DeleteServices action. 2010-03-05 13:13:52 +01:00
Hans Leidekker a70d86d3c9 msi: Display directory identifier instead of the full path in the CreateFolders action. 2010-03-05 13:13:47 +01:00
Hans Leidekker 31d0664ebd msi: Update the UI in the AllocateRegistrySpace action. 2010-03-05 13:13:37 +01:00
Hans Leidekker 353035fadd msi: Initialize a couple of variables.
Found by Valgrind.
2010-03-04 12:30:29 +01:00
Hans Leidekker f62211198a msi: Implement the RemoveEnvironmentStrings standard action. 2010-03-03 15:23:23 +01:00
Hans Leidekker b891d0888a msi: Implement the RemoveIniValues standard action. 2010-03-02 16:12:17 +01:00
Hans Leidekker 6c6b2a7a18 msi: Look at the requested action when publishing assemblies, not the action taken. 2010-03-02 16:11:53 +01:00
Hans Leidekker ff3ed5f051 msi: Look at the requested action when moving files, not the action taken. 2010-03-02 16:11:49 +01:00
Hans Leidekker c13d84fffc msi: Look at the requested action when deleting services, not the action taken. 2010-03-02 16:11:44 +01:00
Hans Leidekker 2d3676d912 msi: Look at the requested action when stopping services, not the action taken. 2010-03-02 16:11:40 +01:00
Hans Leidekker 87448dcaeb msi: Look at the requested action when installing services, not the action taken. 2010-03-02 16:11:36 +01:00
Hans Leidekker c8308ef99d msi: Only create environment strings when the component is set to be installed. 2010-03-02 16:11:31 +01:00
Hans Leidekker a64372ca44 msi: Improve a trace. 2010-03-02 16:11:24 +01:00
Hans Leidekker 930b5e1c68 msi: The table for isolated components is called IsolatedComponent. 2010-02-26 14:20:53 +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 587e107398 msi: Allocate sufficient memory in ITERATE_InstallODBCDriver and ITERATE_InstallODBCTranslator.
Found by Valgrind.
2010-02-22 13:15:22 +01:00
Hans Leidekker 0f0e81d14a msi: Implement the UnpublishComponents standard action. 2010-02-17 10:57:40 +01:00
Hans Leidekker d95e3eb4d2 msi: PublishComponents must look at the requested install state of the feature, not the component. 2010-02-17 10:57:35 +01:00
Hans Leidekker 9cbb80d984 msi: Only run the CreateFolder and RemoveFolder actions when the component is set to be installed or removed, respectively. 2010-02-16 12:29:08 +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 54391a11c0 msi: Update the UI when registering or unregistering type libraries. 2010-02-16 12:28:48 +01:00
Hans Leidekker 2276c291fc msi: Implement the RemoveShortcuts standard action. 2010-02-15 12:20:02 +01:00
Hans Leidekker f7879b43d5 msi: Fix a memory leak in ITERATE_StartService.
Found by Valgrind.
2010-02-12 14:49:38 +01:00
Hans Leidekker 82d50fa675 msi: Return the right error from ITERATE_RegisterTypeLibraries. 2010-02-12 14:49:38 +01:00
Hans Leidekker 98761037ab msi: Implement the UnregisterTypeLibraries standard action. 2010-02-12 14:49:38 +01:00
Hans Leidekker 28bf8e1f0d msi: Implement the RemoveODBC standard action. 2010-02-11 14:38:45 +01:00
Hans Leidekker 2568e5ec65 msi: Make sure attrs variable is properly double nul-terminated in ITERATE_InstallODBCDataSource. 2010-02-11 14:38:45 +01:00
Hans Leidekker 4742dfba98 msi: The File_Setup field in the ODBCDriver and ODBCTranslator tables is optional. 2010-02-11 14:38:45 +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 5df62d0c42 msi: Add stub implementations of the DisableRollback and InstallAdminPackage standard actions. 2010-02-10 14:31:05 +01:00
Hans Leidekker f5af1ca399 msi: Implement the SelfUnregModules standard action. 2010-02-05 15:33:11 +01:00
Hans Leidekker 3864ddf9f2 msi: Implement the RemoveFolders standard action. 2010-02-05 15:33:05 +01:00
Hans Leidekker b9da31f112 msi: Implement the DeleteServices standard action. 2010-02-04 13:39:29 +01:00
Hans Leidekker 29f47299c2 msi: Implement the ScheduleReboot standard action. 2010-02-03 11:31:48 +01:00
Hans Leidekker 552a9c9b85 msi: Add a stub implementation of the SetODBCFolders standard action. 2010-02-03 11:31:48 +01:00
Hans Leidekker 246f9305e9 msi: Don't fail if the service to start is already running. 2010-02-01 12:11:18 +01:00
Hans Leidekker 1d0db2b19b msi: Don't create all directories in the CreateFolders action.
The CreatFolders action should create only the directories listed in the
CreateFolder table, the rest will be created during the InstallFiles action.
Fixes the EndNote 8 installer.
2010-01-28 15:30:26 +01:00
Hans Leidekker aa19638cb9 msi: Improve some traces. 2010-01-28 15:30:25 +01:00
Hans Leidekker 7c9cb1e1be msi: Name and arguments in the service control table are formatted strings. 2010-01-28 15:30:25 +01:00
Hans Leidekker 0d770c96fe msi: Don't evaluate the condition table when there are overrides. 2010-01-27 18:46:08 +01:00
Jason Edmeades 06c45a8d59 msi: Correct the setting of environment variables.
Contrary to the MSDN, you can 'create only' whilst using a previous value
(ie +-variable and [~];value). This breaks the install of an application
I was debugging who uses that throughout for all their variables. In
addition whilst adding some tests I've also cleaned up invalid prefix
syntax handling and semicolon removal if the original string is empty.
2010-01-20 15:34:19 +01:00
Hans Leidekker 2bfce6cfdc msi: Fix parsing of feature overrides. 2010-01-18 14:39:23 +01:00
Marcus Meissner e2f7946bbc msi: Removed unnecessary NULL check. 2009-12-22 13:48:26 +01:00
James Hawkins 26d541b2a9 msi: Initialize type. If the value did not exist, type was uninitialized and passed to RegSetValueExW. 2009-12-17 13:09:46 +01:00
James Hawkins 1b7238a969 msi: Simplify ITERATE_WriteEnvironmentString.
Now we only allocate enough memory to exactly match the size of the
constructed string. Before, we were leaving some memory uninitialized
and overwriting the allocated memory in certain circum.
2009-12-16 12:27:11 +01:00
James Hawkins d90aca35c4 msi: Add a NULL terminator to file->dest after reallocation. 2009-12-08 12:36:51 +01:00
Hans Leidekker bd4bc16147 msi: Don't set the ALLUSERS property. 2009-11-17 16:05:27 +01:00
Hans Leidekker e52531ab1d msi: Handle environment strings without a value. 2009-11-13 12:21:46 +01:00
Hans Leidekker a15e6cbb1a msi: Avoid accessing uninitialized memory.
Found by valgrind.
2009-10-21 17:05:54 +02:00
Hans Leidekker 8dd3d389b0 msi: Create the local copy before opening the database. 2009-10-20 14:39:55 +02:00
Hans Leidekker b7a81df452 msi: Allocate MSISCRIPT structure at package creation time. 2009-10-19 15:02:36 +02:00
Hans Leidekker a187b43ddd msi: Eliminate the last parameter from ACTION_PerformActionSequence. 2009-10-15 14:17:24 +02:00
Hans Leidekker e3aa2f33d9 msi: Use a function to test the UI level instead of passing a boolean around. 2009-10-15 14:17:18 +02:00