Commit Graph

736 Commits

Author SHA1 Message Date
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
Hans Leidekker 796eed1dc7 msi: Reorder functions to avoid forward declarations. 2009-10-15 14:17:06 +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 659768e203 msi: Set or override a user environment string when there is no prefix. 2009-09-16 12:57:33 -05:00
Hans Leidekker dd1ca6ca5e msi: Ignore CoInitialize failure in ACTION_CreateShortcuts. 2009-09-10 22:32:13 +02:00
Hans Leidekker 05e9a1fce8 msi: Add a partial implementation of MsiDetermineApplicablePatchesW. 2009-09-02 14:41:31 +02:00
Hans Leidekker 1169aa9a58 msi: Set REINSTALL property when the product is already installed and the command line is empty. 2009-09-02 14:41:24 +02:00
Hans Leidekker 7d837b9f82 msi: The assembly file version field is optional. 2009-05-29 15:35:59 +02:00
Hans Leidekker 965698cd28 msi: Don't publish package name as part of product properties.
This value does not exist directly under the product key on Windows.
2009-03-31 12:41:36 +02:00
Hans Leidekker 9c6e6efa32 msi: Detect privately installed assemblies.
Another fix for the office 2007 sp1 installer.
2009-03-25 15:02:45 +01:00
Hans Leidekker 86af876987 msi: Only apply a transform when its language id matches the system language id.
Fix for office 2007 sp1 installer.
2009-03-24 13:32:11 +01:00
James Hawkins c965d839f9 msi: Allow the enumeration of other users' patches. 2009-03-23 15:52:17 +01:00
Hans Leidekker 4da865f324 msi: Handle ADVERTISE overrides. 2009-03-13 13:21:07 +01:00
Hans Leidekker 40cfbaf023 msi: Fix handling of REINSTALL overrides.
We were forcing features with a REINSTALL override to be reinstalled
locally, which is only correct if the original install state is local.

This causes problems with the office 2007 sp1 installer, which applies
a REINSTALL override to an advertised feature.
2009-03-12 14:29:56 +01:00
Hans Leidekker 18cd216e80 msi: Don't release view object twice in check_assembly_installed. 2009-02-19 16:17:17 +01:00
Hans Leidekker 43094e4a3e msi: Make comparison of assembly field names case insensistive. 2009-02-19 16:17:17 +01:00
Michael Stefaniuc 5f3ac30b3c msi: Remove superfluous pointer casts. 2009-01-15 12:43:03 +01:00
James Hawkins c059ceb5b0 msi: Set the property specified by the Source attribute of the Media table when applying a patch. 2008-12-15 12:34:56 +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 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 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
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 019f4af1c2 msi: Do not reinstall an assembly that already exists in the global assembly cache. 2008-10-29 13:29:32 +01:00
James Hawkins 2ffa433f80 msi: Convert command line property names to uppercase. 2008-10-27 12:02:13 +01:00
James Hawkins bf9538f383 msi: Use the long file name in the WriteIniValues action. 2008-10-27 12:02:04 +01:00
James Hawkins f80b5f6e66 msi: All files are uncompressed in an administrative image. 2008-10-17 11:44:21 +02:00
Michael Stefaniuc 704ebf280e msi: Use the right FAILED/SUCCEEDED macro instead of negating the opposite. 2008-10-08 13:43:17 +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
Rob Shearman ef1b0cacfa msi: Reduce destination file name used in the MoveFiles action to the long file name.
Add a test for this behaviour.
2008-09-10 12:08:52 +02:00
Andrew Talbot be759dddb8 msi: Uninitialized variable fix (Coverity). 2008-09-10 10:41:54 +02:00
James Hawkins 3f00006f1f msi: Source for new patch files can only be compressed. 2008-09-04 11:52:21 +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 c855fbfcd8 msi: Don't install a feature that is disabled. 2008-08-25 11:40:22 +02:00
James Hawkins 4553d0fd47 msi: Remove an invalid setting of the install state. 2008-08-21 11:44:13 +02:00
James Hawkins 96dd6ce167 msi: Handle processing a component that is installed to source. 2008-08-21 11:43:44 +02:00
James Hawkins 5a3c3b6a12 msi: Use MsiQueryFeatureState to determine the feature's state. 2008-08-19 13:56:08 +02:00
James Hawkins 42115638c8 msi: Use MsiQueryComponent state to determine the component's state. 2008-08-19 13:56:04 +02:00
James Hawkins 9a8d2f3f5c msi: Ignore a file that has a missing component. 2008-08-19 13:39:02 +02:00
James Hawkins 74239fcd91 msi: Factor out media handling and use the new interface to efficiently extract assemblies. 2008-08-19 13:37:51 +02:00
James Hawkins bf51518449 msi: Perform costing again for the InstallExecute sequence. 2008-08-19 13:36:32 +02:00
Rob Shearman cda469c890 msi: Fix handle leak in ITERATE_SelfRegModules. 2008-08-18 17:34:12 +02:00
James Hawkins 92ed390b28 msi: Change an ERR that was supposed to be a TRACE. 2008-08-05 14:09:34 +02:00
James Hawkins 469e4a5c94 msi: Directly register the typelib if it's not embedded in a PE module. 2008-07-29 12:20:19 +02:00
James Hawkins 38106ac230 msi: Handle the package context when unpublishing the product. 2008-07-29 12:19:37 +02:00
James Hawkins 7538f9ac19 msi: Use the newly added defines from the msidbSumInfoSourceType enumeration. 2008-07-22 13:10:38 +02:00
James Hawkins 2d4e4b6ae2 msi: Create the SourceList key in msi_publish_sourcelist. 2008-06-24 12:15:16 +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 ef640a6cd5 msi: Publish a few more product properties. 2008-06-24 12:14:36 +02:00
James Hawkins db2e8d2fdf msi: Squash the package code property. 2008-06-24 12:14:23 +02:00
James Hawkins ebeb537939 msi: Factor out publishing the product properties. 2008-06-24 12:14:14 +02:00
James Hawkins d809b4e2d9 msi: Don't publish the product to an invalid location. 2008-06-24 12:14:07 +02:00
James Hawkins ee8b4a0132 msi: Don't set an invalid install property in PublishProduct. 2008-06-24 12:14:00 +02:00
James Hawkins 68e6071d3c msi: Factor out publishing the product source list. 2008-06-24 12:13:53 +02:00
James Hawkins fac97bb8c5 msi: Factor out publishing icon files. 2008-06-24 12:13:46 +02:00
James Hawkins 45de896a3d msi: Factor out the publishing of installation properties. 2008-06-19 12:34:23 +02:00
James Hawkins b635e3170f msi: Don't publish the upgrade key to an invalid location. 2008-06-19 12:34:15 +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 af56e28f7e msi: Don't publish features to an invalid location. 2008-06-18 16:24:09 +02:00
James Hawkins 5f46dfd698 msi: Fix the RegisterUser action to handle the package context. 2008-06-18 16:24:01 +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 5f11262da9 msi: Determine the installation context after reading properties from the command line. 2008-06-18 16:23:22 +02:00
James Hawkins 4aa3a997f8 msi: Don't publish components to the Installer key. 2008-06-18 16:23:18 +02:00
James Hawkins d3cc801da1 msi: Set the source path for uncompressed files when loading the file. 2008-06-11 11:27:15 +02:00
James Hawkins dbbd5ca736 msi: Load folders first. 2008-06-11 11:26:55 +02:00
Dmitry Timoshkov 76d6b76737 msi: Mark some data as constant. 2008-05-26 19:46:09 +02:00
James Hawkins 70cd6bfbbd msi: Check that the file key is valid before installing the assembly. 2008-05-20 15:43:54 +02:00
James Hawkins 6221975407 msi: Don't enable a feature's components if that feature is disabled. 2008-05-19 13:36:37 +02:00
James Hawkins ece5a047de msi: Set the OutOfDiskSpace property. 2008-05-14 12:22:01 +02:00
James Hawkins 9460ae35b5 msi: Copy the assembly file directly if it's not compressed. 2008-05-14 12:21:54 +02:00
Francois Gouget 633ee950a1 Assorted spelling fixes. 2008-05-07 12:07:11 +02:00
James Hawkins bfe07d1d07 msi: Add initial implementation of MsiPublishAssemblies. 2008-04-30 13:45:23 +02:00
Alexandre Julliard 06bf8ea291 msi: Avoid creating zero-length string values in the registry. 2008-04-22 17:05:05 +02:00
Andrew Talbot 68975938f6 msi: Remove unused variables. 2008-04-22 11:54:38 +02:00
Austin English 5644f05edf msi: Spelling fixes. 2008-04-08 12:25:13 +02:00
James Hawkins bcba82dc0c msi: Open the install properties key based on the install context. 2008-04-07 11:27:30 +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
Andrew Talbot 9e85ec3bad msi: Remove tentative declaration of static array with no size specifier. 2008-04-04 11:04:20 +02:00
James Hawkins c48daf93bb msi: Downgrade a few messages to WARN. 2008-04-03 11:29:58 +02:00
James Hawkins a7d02a1f08 msi: Handle the case where no files match the wildcard in MoveFiles. 2008-04-03 11:29:53 +02:00
James Hawkins ddfefc036f msi: Fix a typo. 2008-03-25 11:44:57 +01:00
James Hawkins fb508ff8fa msi: Implement the StopServices action. 2008-03-24 11:39:47 +01:00
Marcus Meissner db71fb15aa msi: Initialize variables. 2008-03-14 11:21:22 +01:00
James Hawkins de4cab20a8 msi: Deformat the service name and display name when installing the service. 2008-03-12 12:00:23 +01:00
James Hawkins 776a7d7065 msi: Fix an off-by-one error when applying embedded transforms. 2008-03-11 12:12:14 +01:00
James Hawkins d52f48fed4 msi: Fix handling of published installer properties. 2008-03-07 10:52:46 +01:00
James Hawkins 4439e0b57d msi: Make local functions static. 2008-03-01 12:18:40 +01:00
James Hawkins eedfacdfe7 janitorial: Remove links to any microsoft site. 2008-03-01 12:04:03 +01: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
James Hawkins 7d10d1d2d0 msi: Store the media type and set the last used source type accordingly. 2008-02-26 11:20:27 +01:00
James Hawkins acfed4cfab msi: Read the disk prompt source list property from the user-unmanaged context. 2008-02-26 11:20:13 +01:00
James Hawkins 21b4af1b46 msi: Fix and simplify handling of REG_MULTI_SZ strings in the WriteRegistryValues action. 2008-02-25 12:22:16 +01:00
James Hawkins 3de0014750 msi: Publish a few SourceList properties. 2008-02-21 12:53:00 +01:00
James Hawkins 2f658cb337 msi: Fix handling of the NULL separator when writing registry values. 2008-02-05 12:21:23 +01:00
James Hawkins 837588c6a3 msi: Pad the month and day to two digits. 2008-01-07 12:16:45 +01:00
James Hawkins c37849ad82 msi: Copy the temporary package when storing the installer. 2008-01-07 12:16:15 +01:00
James Hawkins e28cedf698 msi: Check the local package for existence when resolving the package source. 2008-01-07 12:16:04 +01:00
James Hawkins 186487663a msi: OriginalDatabase can be a URL so check for a forward slash too. 2008-01-07 12:15:48 +01:00
James Hawkins 062070bfbe msi: SourceDir is formed from the path of OriginalDatabase. 2008-01-07 12:15:27 +01:00
James Hawkins c777d3095a msi: Factor out msi_set_sourcedir_props. 2008-01-07 12:15:10 +01:00
James Hawkins 31c461ea5b msi: WriteEnvironmentStrings should also write to REG_EXPAND_SZ strings. 2008-01-07 12:14:52 +01:00
Lionel Debroux 99ad76c3c1 msi: Correctly handle return value of msi_realloc. 2008-01-02 13:17:52 +01:00
James Hawkins 1277e1b55a msi: Release the record when loading the hash data. 2007-12-17 11:35:05 +01:00
James Hawkins fa8476e7f6 msi: Close the file handle returned by FindFirstFile. 2007-12-14 12:26:21 +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 c31fd4371a msi: Process the ADDSOURCE property when setting feature states. 2007-11-06 14:01:17 +01:00
James Hawkins 1a0b23cd7d msi: Implement the CCPSearch standard action. 2007-11-05 14:55:24 +01:00
James Hawkins 9d71238a16 msi: Fix the location used to write the user's environment variables. 2007-11-05 14:54:05 +01:00
James Hawkins cf8e9e3311 msi: Remove an unused parameter. 2007-11-05 14:53:04 +01:00
James Hawkins bb54ed1335 msi: Fix the sign of an index variable. 2007-11-05 14:52:56 +01:00
James Hawkins 1a896348d5 msi: Remove a legacy error check. 2007-11-05 14:52:51 +01:00
James Hawkins ccdf578ba2 msi: Only unpublish the features if the entire product is being uninstalled. 2007-11-01 12:43:18 +01:00
James Hawkins 9f11a5a878 msi: Properly register features. 2007-11-01 12:43:12 +01:00
James Hawkins fc6b9dd4e4 msi: Properly register and unregister components. 2007-11-01 12:43:06 +01:00
James Hawkins eec9bbb12d msi: Remove a duplicated function. 2007-11-01 12:42:57 +01:00
James Hawkins c3df74e24f msi: Implement the MoveFiles standard action. 2007-11-01 12:42:50 +01:00
James Hawkins b6cfc405bd msi: Release the record only after using the record's data. 2007-10-23 18:04:50 +02:00
Mikolaj Zalewski d5b620ea0b msi: Make the WriteEnvironmentStrings handling of [~] a bit better. 2007-10-18 13:21:44 +02:00
James Hawkins 6ac0816109 msi: Implement the UnpublishFeatures standard action. 2007-08-10 12:58:17 +02:00
Andrew Talbot 0e14c29d66 msi: Cast-qual warning fix. 2007-07-24 11:25:40 +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 0e44e090c5 msi: Set the WindowsInstaller value in RegisterProduct instead of PublishProduct. 2007-07-03 13:49:44 +02:00
James Hawkins a2df31aea1 msi: Only publish the product if at least one feature is to be installed. 2007-07-03 13:49:35 +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 08443b3bf7 msi: PackagePath must also include the package name. 2007-07-03 13:43:00 +02:00
James Hawkins bafc4dc385 msi: Ignore invalid conditional expressions when checking the launch conditions. 2007-06-29 12:33:19 +02:00
James Hawkins c18b77557d msi: Set the WindowsInstaller value of the UserData product key when publishing the product. 2007-06-27 12:32:45 +02:00
Rob Shearman 023383afd3 msi: Free version after using lpVer in msi_get_disk_file_version as lpVer points inside of version. 2007-06-27 11:44:49 +02:00
Rob Shearman 9c6fac65d8 msi: Check the return value of VerQueryValueW in msi_get_disk_file_version. 2007-06-27 11:44:44 +02:00
Rob Shearman 8a94f7aad3 msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK. 2007-06-26 11:56:33 +02:00
Andrew Talbot 0e4ccb822c msi: Fix use of uninitialized variable (Coverity). 2007-06-25 13:23:58 +02:00
James Hawkins 261e1179bb msi: Patches are applied based on ProductCode, not ProductID. 2007-06-18 12:14:58 +02:00
Dmitry Timoshkov 6076485fde msi: Simplify the code. 2007-06-15 12:41:07 +02:00
James Hawkins 881f59254a msi: Fixed the WriteEnvironmentStrings action. 2007-06-14 13:52:59 +02:00
James Hawkins 5b8641a5a4 msi: Implement the WriteEnvironmentStrings standard action. 2007-05-31 13:27:15 +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
James Hawkins 987c2c85e1 msi: Add stub handlers for the remaing standard actions that reference tables. 2007-05-07 15:18:47 +02:00
James Hawkins 1104dc088d msi: Run the costing actions for both the UI and execute sequences. 2007-05-01 13:54:10 +02:00
James Hawkins baad888766 msi: Reset the folder's resolved target before setting the target in CostFinalize. 2007-05-01 13:53:25 +02:00
Rob Shearman 220f93db61 msi: Fix an off-by-one error when calculating the path and filename for the action data in the SelfRegModules action.
The backslash is in p[0], not p[1].
2007-04-25 11:49:34 +02:00
Hans Leidekker 1d19c2b72f msi: Install data sources in the InstallODBC custom action. 2007-04-23 14:07:18 +02:00
Hans Leidekker 33c025b7f2 msi: Install translators in the InstallODBC custom action. 2007-04-23 14:06:47 +02:00
Alban Browaeys 7aa3917823 msi: Move msi_free(msiFilePath) to enable ERR message to use it before it is freed. 2007-04-16 13:20:43 +02:00
James Hawkins 6da8041d47 msi: Run the InstallExecute sequence if the InstallUISequnce table is empty. 2007-04-16 12:10:03 +02:00
James Hawkins 8cedb218c3 msi: Load the folder property if available and requested. 2007-03-29 21:01:42 +02:00
Steven Stein ee3ac7a8fb msi: ValidateProductID action stub. 2007-02-14 22:17:41 +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
Misha Koshelev ecd20e28ac msi: InstallPackage check for UI level must not disregard flags. 2007-02-06 13:19:55 +01:00
Francois Gouget aab5e5856e Don't put single quotes around '%s' when using the debugstr_*() functions. 2007-01-18 12:55:50 +01:00
Andrew Talbot 020bda7ee2 msi: Declare some functions static. 2007-01-12 20:41:49 +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
James Hawkins 58bb3571de msi: Add handling for the StartServices action. 2006-12-04 12:22:32 +01:00
James Hawkins d3bec32500 msi: Add handling for the InstallODBC action. 2006-11-29 14:08:14 +01:00
Dmitry Timoshkov 1cdf5cddac msi: Make some data const and static. 2006-11-29 12:44:10 +01:00
Mike McCormack a3a2eaea93 msi: Update the UI in one place only in ACTION_ProcessComponents. 2006-11-29 12:37:12 +01:00
Mike McCormack 1770c9125d msi: Advertise components of a feature that has the msidbFeatureAttributesFavorAdvertise property. 2006-11-29 12:37:07 +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 b921118f14 msi: Split msi_set_sourcedir_props into a separate function. 2006-11-20 11:50:15 +01:00
Mike McCormack fc56423904 msi: Spelling fixes. 2006-11-20 11:50:15 +01:00
Mike McCormack eba742e5cd msi: Fix a memory leak in load_folder(). 2006-11-17 11:14:44 +01:00
Francois Gouget 1ccf944900 Assorted spelling fixes. 2006-11-13 13:01:53 +01:00
Paul Vriens ded9943b5b msi: Fix typo's (Coverity). 2006-11-13 12:58:46 +01:00
Mike McCormack 3fe6a5d01e msi: Only log the Action, as it's the same as ActionRequest. 2006-11-10 11:35:38 +01:00
Mike McCormack 87fa854dcf msi: Check whether the component is enabled first. 2006-11-10 11:35:33 +01:00
Mike McCormack ad80eceb5f msi: Component attributes are bitmasks. 2006-11-10 11:35:28 +01:00
Mike McCormack 063c42cfa6 msi: Fix a memory leak. 2006-11-08 11:26:16 +01:00
Mike McCormack 9efb7b71ba msi: By default, install components locally. 2006-11-07 15:07:01 +01:00
Mike McCormack c5c5521015 msi: Split ACTION_CostFinalize into two functions. 2006-11-07 15:06:40 +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
Mike McCormack ddf0b593bb msi: Mark components with missing or outdated files as incomplete. 2006-10-31 11:46:57 +01:00
Mike McCormack b76691537f msi: Split ACTION_UpdateInstallStates into two separate functions. 2006-10-30 11:20:06 +01:00
Mike McCormack 9375fd9fd3 msi: Remove redundant null checks before MSI_EvaluateCondition. 2006-10-27 12:01:37 +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 6395ff6a5c msi: Create macro functions to set feature and component states. 2006-10-26 12:56:09 +02:00
Mike McCormack d1723de566 msi: Split code to get a file's verion into a separate comment. 2006-10-24 11:45:01 +02:00
Mike McCormack 0d7dc8f98d msi: Only apply transforms that are valid for a database. 2006-10-23 12:37:40 +02:00