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
Mike McCormack
7f98f1d086
msi: Initialize the summary information from a storage interface, not a db.
2006-10-23 12:37:32 +02:00
James Hawkins
929395c0f0
msi: Only initialize a component's state if it is linked with a feature.
2006-10-20 11:41:09 +02:00
James Hawkins
9bc12ade13
msi: Implement the InstallServices action.
2006-10-20 11:41:09 +02:00
Mike McCormack
4047cc7009
msi: Fix a memory leak.
2006-10-17 11:17:31 +02:00
James Hawkins
3797e6cada
msi: Also set the SOURCEDIR property in MSI_InstallPackage.
2006-10-14 20:21:17 +02:00
Francois Gouget
58162f87fd
Assorted spelling fixes.
2006-10-13 11:55:04 +02:00
James Hawkins
c507543554
msi: Set the SourceDir and SOURCEDIR properties in the ResolveSource action.
2006-10-11 12:09:54 +02:00
Mike McCormack
80affb3c2d
msi: Merge action.h into msipriv.h.
2006-10-10 16:12:12 +02:00
James Hawkins
563a50ab35
msi: Make internal functions static.
2006-10-09 14:40:08 +02:00
Mike McCormack
f1d4646a49
msi: Win64 printf format warning fixes.
2006-10-05 11:32:32 +02:00
James Hawkins
bbd4d1e3ef
msi: If the feature linked to a component has a state of INSTALLSTATE_UNKNOWN, the component's state should match.
2006-09-26 21:56:05 +02:00
James Hawkins
545d0e70cf
msi: Disable child features of parent features that are unselected because of the install level.
2006-09-21 13:03:32 +02:00
James Hawkins
32f570222b
msi: Don't check a component's install state if a component ID is not provided.
2006-09-21 13:02:00 +02:00
James Hawkins
d893cb7d1e
msi: Load the component states in CostFinalize instead of CostInitialize.
2006-09-21 13:01:33 +02:00
James Hawkins
ca5c11009d
msi: Initialize all features' action states to INSTALLSTATE_UNKNOWN.
2006-09-21 13:01:18 +02:00
James Hawkins
937b9b2bbc
msi: Only override a feature whose action state is INSTALLSTATE_SOURCE.
2006-09-21 13:01:10 +02:00
Andrew Talbot
2e372c08b5
msi: Cast-qual warnings fix.
2006-09-20 20:02:48 +02:00
Mike McCormack
4fa08a638c
msi: Split the font registration code out into a separate file.
2006-09-13 11:42:35 +02:00
Mike McCormack
5f83069bd8
msi: Split code to create a random package name into a separate function.
2006-09-08 12:44:39 +02:00
Dan Kegel
337e1e202f
msi: Callers of alloc_msihandle should handle failure.
2006-08-29 12:21:54 +02:00
James Hawkins
3cb82ab8d2
msi: If a component's state is not local, source, or default, default to the local state.
2006-08-12 11:39:58 +02:00
James Hawkins
f84fa0ce63
msi: Fix the compressed files logic.
...
If the compressed file attribute is not set, use the Word Count
property to determine if files are compressed.
2006-08-08 19:34:34 +02:00
Robert Shearman
ab378803ef
msi: Fix the creation of shortcuts with a null icon index by mapping it to zero.
2006-08-03 22:23:09 +02:00
James Hawkins
7edea0cc68
msi: Set the install state to INSTALLSTATE_LOCAL for features with compressed files.
2006-08-02 11:42:20 +02:00
James Hawkins
38f2ba23f1
msi: Fix a couple install state test cases.
...
- Correctly handle the msidbComponentAttributesOptional component attribute.
- Don't set a component's state to INSTALLSTATE_LOCAL if the
msidbComponentAttributesSourceOnly attribute is provided.
2006-08-01 10:49:20 +02:00
James Hawkins
98d1486410
msi: Set the install state to INSTALLSTATE_LOCAL for components with compressed files.
2006-07-31 21:36:19 +02:00
Mike McCormack
43f7f3ec3f
msi: Don't set the shortcut's working directory if it's NULL.
2006-07-28 12:32:17 +02:00
Mike McCormack
1d46cdf11a
msi: Always load all the components.
2006-07-26 10:23:34 +02:00
James Hawkins
cae3215a6f
msi: Set the component's initial state based on its attributes.
2006-07-21 20:22:27 +02:00
James Hawkins
7bcac31dcf
msi: Update feature states after changing install levels, as they may have changed.
2006-07-20 12:50:14 +02:00
James Hawkins
7c7f0bb2c1
msi: Rename SetFeatureStates to match the naming scheme of internal msi functions.
2006-07-20 12:50:02 +02:00
Mike McCormack
9a9195d6e4
msi: Only load the features and files tables once.
2006-07-19 18:15:21 +02:00
James Hawkins
2396e2a59f
msi: Sort SelectionTree items by their Display value.
2006-07-19 09:46:31 +02:00
Mike McCormack
2ec80faabe
msi: Move msi_get_property_int() to helpers.c
2006-07-17 14:46:25 +02:00
Mike McCormack
230af9d21f
msi: Move version string conversions to registry.c.
2006-07-14 13:32:39 +02:00
James Hawkins
a1910e11bb
msi: Fix handling of the no-op identifier in the Directory table.
2006-06-21 13:53:51 +02:00
Alexandre Julliard
b79a53e959
msi: Make some variables static and/or const.
2006-06-12 13:39:59 +02:00
Mike McCormack
ea3ab4952b
msi: Remove some unnecessary NULL checks.
2006-06-09 15:20:14 +02:00
Mike McCormack
2acf800fd4
msi: Fix some pointer to integer casts.
2006-05-25 10:44:44 +02:00
Mike McCormack
20c5746649
msi: Fix a possible memory leak.
2006-05-24 10:52:33 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Labrousse Jean
d0862c365b
msi: Fix short name and long name mismatch in action.c.
2006-05-23 13:03:57 +02:00
Francois Gouget
e739ba9551
Assorted spelling fixes.
2006-05-15 15:05:05 +02:00
Mike McCormack
3a94011ab6
msi: Clean up memset usage.
2006-04-18 21:13:52 +02:00
Mike McCormack
886036696a
msi: Add stub for the RegisterComPlus and UnregisterComPlus actions.
2006-03-22 21:36:20 +01:00
Mike McCormack
c1513be48c
msi: Improve handling of short paths.
2006-03-21 16:19:07 +01:00
Mike McCormack
fe8cd38812
msi: Remove some unnecessary indent.
2006-03-09 12:50:59 +01:00
Robert Shearman
4ac8567497
msi: Fix heap overflow in ITERATE_CreateShortcuts.
2006-02-22 22:15:54 +01:00
Robert Shearman
d679bc5ab3
msi: Move the firing of control events to MSI_ProcessMessage.
...
Move the firing of control events from internal helper functions to
MSI_ProcessMessage so that custom actions can all cause control events
to be fired.
Added the firing of progress events.
2006-01-23 17:30:31 +01:00
Robert Shearman
d2e48e01ac
msi: Call ui_actiondata for more actions.
2006-01-23 17:29:50 +01:00
Mike McCormack
477bce38dc
msi: Eliminate a fixed length buffer.
2006-01-16 20:38:28 +01:00
Mike McCormack
aa81e4fa68
msi: Don't crash if there's no script present when we try execute one.
2006-01-10 12:09:19 +01:00
Mike McCormack
e534e7726b
msi: Apply any MSI transforms specified by the TRANSFORMS property.
2006-01-04 14:51:25 +01:00
Mike McCormack
b7270b8c2d
msi: Change some FIXME messages to comments.
2005-12-31 13:18:11 +01:00
Mike McCormack
f24a9e2a24
msi: Add stub actions for CCPSearch and RMCCPSearch.
2005-12-31 13:14:23 +01:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Ivan Leo Puoti
5b22e4d6ef
Fix some wrong prototypes.
2005-11-03 11:35:11 +00:00
Mike McCormack
a977b2c346
Remove some redundant null pointer checks.
2005-11-03 09:56:29 +00:00
Aric Stewart
d5655f90cf
Force files to install if the REINSTALL property is set.
2005-11-02 14:21:17 +00:00
Mike McCormack
fd4a2003db
Implement the RemoveFiles action.
2005-11-02 11:42:56 +00:00
Mike McCormack
dded8fb7a8
Use an enumeration for file states.
2005-11-02 10:56:42 +00:00
Mike McCormack
559427023f
Add a stub for the AllocateRegistrySpace action.
2005-10-30 19:23:28 +00:00
Mike McCormack
ec5edeebf4
Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine.
2005-10-30 19:21:51 +00:00
Mike McCormack
9293f869cc
Use msi_get_property_int() in a few more places.
2005-10-30 19:16:45 +00:00
Mike McCormack
9ba8ba30bb
Use "static const" rather than "const static" as gcc -W complains
...
about the former.
2005-10-30 19:04:26 +00:00
Mike McCormack
991bae1409
Don't change the UI level during ExecuteAction.
2005-10-29 11:40:03 +00:00
Mike McCormack
d693f461ba
Remove the unused 1st parameter of ACTION_VerifyComponentForAction.
2005-10-29 11:36:48 +00:00
Mike McCormack
9c8458514c
Some installers don't call the CreateFolders action before the
...
InstallFiles action as MSDN specifies, but it still seems to work, so
make sure that we create component directories in the InstallFiles
action anyway.
2005-10-29 11:29:17 +00:00
Thomas Weidenmueller
561f2f0399
Passing NULL as the last two parameters to ReadFile is illegal and
...
actually causes a crash on windows. The attached patch fixes this.
2005-10-29 10:29:08 +00:00
Mike McCormack
03b4dbbdc4
Create component folders in the CreateFolders action.
2005-10-28 09:39:29 +00:00
Mike McCormack
558abec8d5
If an action fails, print out its name as well as the error code. Use
...
%d for error codes so it's easy to match them up to something in
winerror.h.
2005-10-27 12:39:28 +00:00
Mike McCormack
51c6618d8d
Rename load_dynamic_stringW to msi_dup_record_field to better describe
...
what it does, and replace a few instances with MSI_RecordGetString to
avoid allocating memory.
2005-10-27 12:36:12 +00:00
Mike McCormack
ba293eef48
Tidy up the RegisterProduct action a little.
2005-10-27 12:08:16 +00:00
Mike McCormack
f8fef6ea94
Create a stub function to apply a single table transform and call it
...
where we need to apply transforms.
2005-10-26 13:56:33 +00:00
Mike McCormack
965a72add0
Enumerate the substorage transforms for any patches that are passed on
...
the command line with PATCH=. Need to implement
table_apply_transform() before this will do anything interesting.
2005-10-26 12:06:21 +00:00
Mike McCormack
61f24a4ca7
Rename ACTION_DoTopLevelINSTALL to MSI_InstallPackage, remove its
...
duplicate 4th parameter.
Split the code to copy a package into a separate function.
2005-09-30 10:32:41 +00:00
Mike McCormack
74f0de9638
Create a function to read a property as an integer.
2005-09-29 10:32:39 +00:00
Mike McCormack
3b95515015
Add some more action stubs, remove forward declarations.
2005-09-28 18:10:44 +00:00
Mike McCormack
e3452228c6
Split command line parsing from MSI_InstallPackage into a separate
...
function.
2005-09-28 15:12:32 +00:00
Mike McCormack
2586a0958e
Make a macro function for unimplemented actions.
...
Add some more unimplemented action stubs.
2005-09-26 09:56:18 +00:00
Mike McCormack
b9a3a7a1f9
Stub implementation of the IsolateComponents action.
2005-09-25 15:14:03 +00:00
Mike McCormack
94fbe09c5f
Add a stub implementation of the BindImage action.
2005-09-23 17:21:10 +00:00
Mike McCormack
567f0314af
Stub implementation of the PatchFiles action.
2005-09-23 11:06:57 +00:00
Mike McCormack
8e22e7d7a9
Stub implementation of the MoveFiles action.
2005-09-23 10:48:17 +00:00
Mike McCormack
202166c343
Stub implementation of the RemoveIniValues action.
2005-09-23 10:09:18 +00:00
Mike McCormack
470f23d471
Fix various memory leaks.
2005-09-22 10:56:26 +00:00
Mike McCormack
566c69e7e4
Simplify the ProcessComponents action a little.
2005-09-22 10:49:17 +00:00
Mike McCormack
75658d7aaa
Make build_icon_path return the path directly.
2005-09-22 10:33:57 +00:00
Mike McCormack
d34b1c23a2
Implement MsiSequenceA/W.
2005-09-21 10:55:23 +00:00
Mike McCormack
f3f12ab56b
Simplify the InstallValidate action a little.
2005-09-21 10:20:03 +00:00
Mike McCormack
ee034ba4c2
Added memory allocation inline functions (part 2).
2005-09-20 11:59:14 +00:00
Mike McCormack
67189f9d1a
Fix a bug in a previous patch spotted by Dieter Komendera.
2005-09-16 18:45:19 +00:00
Mike McCormack
062ad50510
Rename load_dynamic_property and remove its unused 3rd argument.
2005-09-15 15:04:08 +00:00
Mike McCormack
4db02cdb0b
Use the new msi_reg_set* macros where possible.
2005-09-15 14:58:38 +00:00
Mike McCormack
79ca56cd6a
Eliminate fixed length buffers from the MSIFEATURE structure.
2005-09-13 10:37:37 +00:00
Mike McCormack
efcc1ec5e4
Fix more fixed length buffers.
2005-09-12 12:07:15 +00:00
Mike McCormack
f11c8b0098
Reduce the indent level of a function.
2005-09-09 14:48:51 +00:00
Mike McCormack
5c1212261f
Allocate memory rather than using fixed length buffers.
2005-09-08 12:42:31 +00:00
Mike McCormack
72faac0d2f
Remove an unnecessary level of indent.
2005-09-08 11:03:35 +00:00
Mike McCormack
c50ef541e8
Keep temporary files in a seperate list.
2005-09-07 11:25:18 +00:00
Mike McCormack
298cdaead1
Avoid fixed length buffers for conditions.
2005-09-06 11:39:01 +00:00
Mike McCormack
54a2891d33
Make some fixme messages less alarmist.
2005-09-06 09:23:18 +00:00
Mike McCormack
8aa1a919bf
Make sure to save the result calculated in ACTION_UpdateInstallStates.
2005-08-25 19:19:10 +00:00
Aric Stewart
43ec0a4d06
Display the correct text string in the action text field for the
...
dialog boxes. Also the string should be deformatted.
2005-08-25 09:50:08 +00:00
Johan Dahlin
0946c42d5a
Added a null check for component.
2005-08-24 10:57:27 +00:00
Mike McCormack
979511fe6d
- build a standard Wine list of folders instead of using an array
...
- use folder pointers instead of array indexes
2005-08-23 18:15:44 +00:00
Mike McCormack
e18f8abee1
- build a standard Wine list of files instead of using an array
...
- use file pointers instead of array indexes
2005-08-23 10:03:17 +00:00
Aric Stewart
d90615bb28
Make index INT not UINT because it can be -1.
2005-08-23 09:30:39 +00:00
Mike McCormack
1da2858caa
- build a standard Wine list of features instead of using an array
...
- use feature pointers instead of array indexes
2005-08-22 14:09:17 +00:00
Mike McCormack
38d67a4537
- build a standard Wine list of components instead of using an array
...
- use component pointers instead of array indexes
2005-08-22 09:15:23 +00:00
Mike McCormack
3f2d5d7fbb
Store the component information in a standard Wine list.
2005-08-19 10:03:11 +00:00
Aric Stewart
35706b6b4c
Fixed a memory overflow and leak identified by Mike McCormack.
2005-08-16 15:57:21 +00:00
Aric Stewart
94d6818c51
Add some body to ResolveSource because it is possible to need it when
...
an install is begun but the media is not in the drive, such as in
install-on-demand cases.
2005-08-15 20:50:06 +00:00
Alexandre Julliard
7258914ef6
Use the official names for the Unicode string constants.
2005-07-13 12:07:41 +00:00
Aric Stewart
c6d24d235a
Use the strings defined in msi.h.
2005-07-11 18:01:39 +00:00
Aric Stewart
b95beae8f9
InstallShield does a number of actions using DoAction before the
...
Install starts so the PackageCode needs to be loaded on OpenPackage
instead of the beginning of the install process.
2005-07-08 14:19:00 +00:00
Aric Stewart
adaef1112e
Fill and use the ProductCode part of the MSIPACKAGE structure.
2005-07-07 20:27:06 +00:00
Mike McCormack
4f634a3b7a
Stop the install when cancelling from a modeless dialog.
2005-07-06 15:44:51 +00:00
Mike McCormack
16466af791
gcc 4.0 -Wpointer-sign fixes.
2005-07-06 10:33:30 +00:00
Aric Stewart
c9802931c1
Keep track of what sequence we are in and register unique
...
actions. This allows us to make sure actions and custom actions
flagged to run only once, actually run only once.
Also clean up some of the numeric constants in custom.c using the
defined values from msidefs.h.
2005-06-30 20:45:43 +00:00
Aric Stewart
f1b52aef96
Relocate the msi file to prevent cd locking, corrected to properly not
...
try to relocated #nnnn handles as files.
2005-06-28 19:14:30 +00:00
Aric Stewart
25f1e75d43
Perform ExecuteAction at UILevel 2.
2005-06-24 12:14:52 +00:00
Aric Stewart
9adacf6a72
Rework CreateShortcuts to use MSI_IterateRecords.
2005-06-24 11:58:21 +00:00
Aric Stewart
0713f098ec
Properly handle -1 as a registry key root.
2005-06-24 11:51:29 +00:00
Aric Stewart
854bfc4b0f
Rework SelfRegModules to use MSI_IterateRecords.
2005-06-24 11:33:02 +00:00
Aric Stewart
04598248af
Rework component, feature and file loading to use MSI_IterateRecords.
2005-06-23 16:43:24 +00:00
Aric Stewart
a9b5052ff9
Rework RegisterFonts to use MSI_IterateRecords.
2005-06-23 11:04:09 +00:00
Aric Stewart
aded32f37b
Rework WriteIniValues to use MSI_IterateRecords.
2005-06-23 09:46:31 +00:00
Aric Stewart
916ef94945
Rework PublishProduct to use MSI_IterateRecords.
2005-06-22 18:42:19 +00:00
Aric Stewart
234dc4b2d2
Rework RegisterTypeLibraries to use MSI_IterateRecords.
2005-06-22 18:27:34 +00:00
Aric Stewart
c79f4e2111
Rework LaunchConditions to use MSI_IterateRecords.
2005-06-22 18:03:08 +00:00
Aric Stewart
443ad4d328
Rework CostFinalize to use MSI_IterateRecords.
2005-06-21 20:50:12 +00:00
Aric Stewart
92ef78ee04
Rework WriteRegistryValues to use MSI_IterateRecords.
2005-06-21 20:21:18 +00:00
Aric Stewart
2274ff1937
Rework CreateFolders to use MSI_IterateRecords.
2005-06-21 20:03:46 +00:00
Aric Stewart
2703d717c6
Use MSI_IterateRecords for processing actions.
...
Some whitespace cleanup and replace a comment block I did not want to
remove.
2005-06-20 15:33:10 +00:00
Stefan Huehner
ac6f562b52
Fix more -Wstrict-prototypes warnings.
2005-06-20 14:18:03 +00:00
Aric Stewart
e9db87b956
Flesh out the remaining keys in RegisterProduct.
2005-06-17 21:25:41 +00:00
Aric Stewart
c668952023
Break out all the file related actions and helper functions into
...
files.c
2005-06-17 20:56:55 +00:00
Aric Stewart
4b600b8736
Break out all the top level apis into install.c.
2005-06-16 20:40:34 +00:00
Aric Stewart
db982e2586
Break out all the class registration actions into classes.c. This
...
includes RegisterClassInfo, RegisterProgIds, RegisterExtensions and
RegisterMIMETypes.
2005-06-16 15:51:44 +00:00
Aric Stewart
118ea90888
Break out all the helper functions into helpers.c.
2005-06-15 19:12:42 +00:00
Aric Stewart
09b0abaa1c
Extending upon Mike McCormack's cleanup to use MSI_RecordGetString.
2005-06-09 20:30:59 +00:00
Aric Stewart
c28bb54f7a
Register the Product Version also.
...
Also help plug some memory leaks pointed out by Mike McCormack.
2005-06-09 15:49:11 +00:00
Aric Stewart
d1a7f070d4
Avoid a loop where a parent's parent refers to itself as its parent.
2005-06-09 15:35:48 +00:00
Aric Stewart
00337b9a51
Added module upgrade.c and implemented FindRelatedProducts.
2005-06-09 12:05:27 +00:00
Aric Stewart
6999a04278
Set the Preselected property if appropriate (relevant to
...
MigrateFeatureStates when implemented).
2005-06-08 19:20:02 +00:00
Aric Stewart
6957e4a0c2
Write out Product Language and Product Icon to the registry.
2005-06-08 19:16:45 +00:00
Aric Stewart
36a01505dc
Write out UpgradeCodes to the registry to allow for future upgrades.
2005-06-08 19:07:52 +00:00
Mike McCormack
ad6a6be88d
Use MSI_RecordGetString in more actions.
2005-06-08 18:34:04 +00:00
Mike McCormack
20806c730b
Use MSI_RecordGetString where possible.
2005-06-07 21:34:05 +00:00
Mike McCormack
f9acfe635a
Fixes for -Wmissing-declarations and -Wwrite-strings warnings.
2005-06-07 20:29:51 +00:00
Aric Stewart
f9e64e8187
Don't get caught in loops on parent progids.
2005-06-06 15:39:59 +00:00
Aric Stewart
873c0726e9
Since multiple progids can refer to 1 class we need to check if that
...
class is isntalled instead of just relying on having it set the
InstallMe variable.
2005-06-04 09:35:22 +00:00
Aric Stewart
ee72fb2817
Add install_on_demand for Extension servers also. currently defaulting
...
to TRUE.
Extension need to have 1 verb to mark the given progid to be
installed.
2005-06-03 11:24:04 +00:00
Aric Stewart
a96e1cef9f
Do not loop if a ProgId's Parent Index it itself.
...
Add a VersionIndIndex for tracking version independent fields for the
ProgIds properly.
2005-06-02 20:06:11 +00:00
Aric Stewart
f1104125b1
Print a message for skipped actions in ProcessExecSequence like in the
...
UISequence.
2005-06-02 19:39:49 +00:00
Aric Stewart
54ba7b9338
Do not change a features state to Advertise if it explicitly disallows
...
it.
2005-06-02 15:16:31 +00:00
Aric Stewart
ca8c4e4105
For typelibs index 1 do not add \\1 to the path. This cleans up
...
registry diffs with native MSI.
2005-06-02 15:13:57 +00:00
Aric Stewart
44816cebd6
Register the FileType and correct short vs long path problems with
...
InprocServer32. Also add install_on_demand boolean for future
expansion.
2005-06-02 15:09:57 +00:00
Mike McCormack
0b352c7f7f
Use the new helper function MSI_QueryGetRecord.
2005-06-02 10:29:57 +00:00
Mike McCormack
38de6131f1
Remove some unused code.
2005-05-31 13:20:09 +00:00
Aric Stewart
9cd707da3f
Introduce really basic scripting of actions. This is primarily to get
...
the order of execution of the action correct since some custom actions
can be scripted and others are run during the script building phase.
2005-05-27 19:24:22 +00:00
Alexandre Julliard
d757bfeeaf
Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
...
Implement dialog events and hook up the dialog code.
2005-05-27 09:11:18 +00:00
Aric Stewart
3594e45ab6
First pass at writing out CurVer keys for ProgIds. Also print a
...
message for the actions we skip. Lines up with native MSI output logs
for ease of comparison.
2005-05-26 16:08:58 +00:00
Aric Stewart
6f43c18fe7
A big rewrite of the whole RegisterClass, RegisterProgId,
...
RegisterExtension and RegisterMIME actions. We now handle verbs
properly, handle dependancies and such properly and keep track of what
we need to register and what we do not properly.
2005-05-26 12:24:28 +00:00
Aric Stewart
bec5549da6
Double terminate SZ_MULTI properly.
...
ClassInfo and ExtensionInfo are also written for ADVERTISED
components.
2005-05-23 16:24:20 +00:00
Aric Stewart
ec4df18833
Write the RegOwner and RegCompany keys as blank if they do not exist
...
when doing the RegisterUser action.
2005-05-20 18:59:01 +00:00
Aric Stewart
98e3808261
Fix quoting on queries.
...
Respect '+' and '*' in WriteRegistryValues to only create the key if
it does not already exist. Prevents overwriting values with NULL.
2005-05-20 09:40:42 +00:00
Juan Lang
88adb53bf0
Don't fail in RegisterFonts if the Fonts table is missing.
2005-05-19 11:15:24 +00:00
Aric Stewart
c5a1443fd9
We cannot internally load the files in FileCost because that action
...
may be skipped or not called. So do it in CostInitialize.
Quote the file path in SelfRegModules.
Do not write squished null guids to the feature registration.
2005-05-18 17:46:12 +00:00
Aric Stewart
98d9cec74c
Correctly use short filenames from uncompressed file sources. Also
...
default feature and component install states to ABSENT instead of
UNKNOWN.
2005-05-18 13:23:52 +00:00
Aric Stewart
8a6a9a6659
Some error messages and strcmp changes suggested by Dmitry.
2005-05-18 09:44:38 +00:00
Aric Stewart
6186b2beaf
Correct a problem with parse_data if binary data was not in full bytes.
...
More properly handle uncompressed file sources, fix the creating and
parsing of Source Directories.
2005-05-16 21:37:35 +00:00
Aric Stewart
b39d8fc2a6
- ExecuteAction runs the whole Execute table and not just from
...
InstallValidate onward. To do this make sure we do not do the
costing initialization work again if it is already done (by checking
the CostingComplete Property).
- A lot of work to refine feature states, setting the state affects
the state of all child features and also respect features that want
to default to something other than LOCAL.
2005-05-13 13:56:39 +00:00
Aric Stewart
fa468e64d5
Fix a few leaking object handles.
2005-05-09 19:33:50 +00:00
Aric Stewart
2b8bf597b5
Correct user component publication.
...
Implement MsiEnumComponentQualifiers.
2005-04-28 18:28:11 +00:00
Mike McCormack
07c74d07f3
Make sure that dialogs are only created and destroyed in a single
...
thread.
2005-04-27 10:16:57 +00:00
Francois Gouget
3ef8c51c8a
Tweak the API documentation to silence winapi_check warnings.
2005-04-20 15:18:42 +00:00
Aric Stewart
072c5e56a2
Implement Publish Components in order for MsiGetQualifiedComponent
...
apis to work. Also implement MsiGetQualifiedComponent, or at least some
of the functionality as it is supposed to install stuff if it is
absent, which it does not do yet.
2005-04-20 12:50:05 +00:00
Steven Edwards
98efef18d4
Avoid using ver.h in favor of winver.h.
2005-04-11 16:10:33 +00:00
Aric Stewart
6e821739f2
Make sure the GUID of the typelib we are registering matches the guid
...
requested from MSI. If not search the given typelib file to find the
typelib requested to register.
2005-03-30 10:19:08 +00:00
Peter Berg Larsen
e732fc023d
Janitorial: Get rid of strncpy/strncpyW.
2005-03-28 14:17:51 +00:00
Jakob Eriksson
9ed61de9a2
Get rid of HeapAlloc casts.
2005-03-24 21:01:35 +00:00
Aric Stewart
f8f64406fc
If running in UI mode, then display the UI mode dialogs at the end of
...
the installs.
2005-03-24 19:03:45 +00:00
Mike McCormack
95dea4969a
- Rename dupstrW to strdupW, and remove duplicate definition.
...
- Move definition of string manipulation functions to msipriv.h.
2005-03-16 11:31:35 +00:00
Juan Lang
5ebd4e938e
- make sure msihandle2msiinfo is correctly matched with msiobj_release
...
- don't do redundant NULL checks
2005-03-10 11:15:40 +00:00
Ulrich Czekalla
e15e5179c2
Allocate space for terminating null.
2005-03-08 16:44:51 +00:00
Ulrich Czekalla
5f08b9f7b0
Fix a memory leak.
2005-03-08 16:23:36 +00:00
Francois Gouget
fbb3343547
Assorted spelling fixes.
2005-03-02 13:53:50 +00:00
Alexandre Julliard
d0ee9f9309
Avoid spaces before preprocessor directives, that's not portable.
2005-03-02 12:23:20 +00:00
Aric Stewart
8e233e9b9f
Text reformatting patch to clean up all the static strings.
2005-03-01 11:45:19 +00:00
Juan Lang
014ad3ba21
Don't hardcode windows or system directories, correct a typo.
2005-03-01 10:41:52 +00:00
Aric Stewart
0af2487a51
Implement the action RegisterFonts.
2005-02-25 14:00:09 +00:00
Aric Stewart
b6bc6aa6f8
Add the ExecuteAction handler.
...
Store the keypath, and do refcounting and registration of SharedDLLs.
Fix a bug with handing dword values in the registry.
Fix bugs with writing registry keys where value == NULL.
Make use of msidefs.h.
Lay some groundwork for uninstalls.
2005-02-24 12:47:43 +00:00
Ulrich Czekalla
fa85f0132b
Prevent accessing freed memory in failure case.
2005-02-24 10:05:27 +00:00
Mike McCormack
09b8264f1d
Make sure strings are null terminated.
2005-02-22 19:31:45 +00:00
Aric Stewart
78a04e39db
Update the installed state for components during CostFinalize. Laying
...
groundwork to be able to start processing uninstall logic as well.
2005-02-22 15:47:00 +00:00
Steven Edwards
5f8797f1fd
Correct typo.
2005-02-22 14:53:05 +00:00
Aric Stewart
7e7b8cf4ef
Fixed problems with my code for finding the PackageCode.
2005-02-18 20:00:34 +00:00
Marcus Meissner
30ed10004b
Output some more informations.
...
Mark one global variable static.
2005-02-14 11:07:55 +00:00
Aric Stewart
c7e88e0820
Add the RegisterUser action.
2005-02-10 17:09:44 +00:00
Ulrich Czekalla
3440035341
Handle 0 length buffers in MSI_FormatRecordW.
...
Remove unused buffer in deformat_string.
2005-02-09 22:22:25 +00:00
Aric Stewart
187da09b2d
Implement RegisterExtensionInfo and RegisterMIMEInfo.
2005-02-09 13:58:20 +00:00
Mike McCormack
34d4a02bc5
- add support for Edit boxes in MSI dialogs
...
- run the message loop when waiting for threads or processes
2005-02-09 13:24:31 +00:00
Aric Stewart
c1e5c4a907
Add logic to be able to resolve the SourceDir based on
...
CurrentPath. Also add logic to get the source locations of a file if
it is not in a cabinet.
2005-02-08 14:26:49 +00:00
Mike Hearn
e0803f1ac4
Correctly ensure properties set from resolved directory paths are
...
backslash terminated.
2005-02-08 12:11:54 +00:00
Aric Stewart
d6ecf58e2f
Finish up the framework by stubbing out all the remaining Standard
...
actions.
A fix to deformat_string so it only returns a null return if you
provided a null buffer.
2005-02-02 09:29:30 +00:00
Aric Stewart
3f3186091e
Continued work to simplify the ProcessAction call, also split it into
...
a ProcessAction and ProcessUIAction for future dialog box work.
Also fix a bug in deformat_string where i was not freeing the created
record.
2005-02-01 18:46:26 +00:00
Juan Lang
df9d01409b
Partially implement AppSearch action.
2005-02-01 14:22:31 +00:00
Aric Stewart
90c57396f4
Eliminate the giant if.. else if block from ACTION_ProcessAction in
...
favor of a table of handlers.
Return code of the install should not depend on the return code of the
final action.
Update component installed states as they are installed so that
conditions based on component states are at least a little more
correct.
Add icon and argument when regestering clsids.
Add a stub for ResolveSource because we do that work just not in
ResolveSource like we should.
When quering a Component state return the correct state.
2005-01-31 16:23:12 +00:00
Aric Stewart
6b16f29fc0
Enable the updating of Feature and thus the resulting component
...
states.
Run the end of install actions for suspend and user exit states as
well.
Start putting in place a currently running state for future ui use.
2005-01-27 11:12:56 +00:00
Francois Gouget
da8b3dd7f2
Assorted spelling fixes.
2005-01-26 21:09:04 +00:00
Aric Stewart
54c67dd1b1
- action.c is getting too big, so split out all the handling of
...
CustomActions into custom.c. Cleaned up a lot of the handling of
custom actions including scripting actions and processing return
codes.
- Mike McCormack pointed out that MsiFormatRecord is basically the
same as internal function deformat_string. So broke deformat_string
out and updated it to function as MsiFormatRecord and implemented
MsiFormatRecord.
- A number of random fixes to action.c including properly calculating
the length for the LocalPackage name, not forcing a reboot when
really we should just return ERROR_INSTALL_SUSPEND and handling
REG_MULTI_SZ now that we can deformat the properly.
2005-01-25 20:17:09 +00:00
Aric Stewart
68b0749471
Use the new registry functions in registry.c.
...
Do not force a reboot, just return ERROR_INSTALL_SUSPEND and write
some keys to the registry.
2005-01-25 11:05:37 +00:00
Mike McCormack
0c23885654
Move OpenQuery into msiquery.c and make it non-static.
2005-01-21 16:19:11 +00:00
Michael Stefaniuc
b937407ee5
Do not check for non NULL pointer before HeapFree'ing it. It's
...
redundant.
2005-01-20 10:36:35 +00:00
Aric Stewart
2cae30b6cf
Quite a few fixes:
...
- Allow for the queing of custom actions to trigger on the
InstallExecute or InstallExecuteAgain actions.
- allow for the queing of custom actions to trigger on
InstallFinalize.
- Properly set the CustomActionData property for said queued actions.
- Implement RegisterProduct.
- Beginning implementation of ForceReboot.
- Don't kill install if an item to be duplicated does not exist.
- Write out SourceList and LastUsedSource for resuming installs.
- Use regsvr32 to register self reg dlls.
2005-01-19 19:07:40 +00:00
Aric Stewart
6269f00c33
Implementations for SelfRegModules and PublishFeatures.
...
Set default ACTION property for Install.
Deformat more than JUST properties properly. Allows for Files and
Component paths in deformat.
Properly deformat a LaunchCondition failure dialog box.
Resolve and save registry Keypaths.
Write the Features published keys more correctly. Still some
problems.
2005-01-17 13:40:39 +00:00
Marcus Meissner
b7f6781590
Initialize rc in create_component_directory().
2005-01-14 16:50:39 +00:00
Aric Stewart
516a9c70ed
First implementation of the WriteIniValues action.
2005-01-14 15:59:26 +00:00
Aric Stewart
dbb5d2a871
Custom actions can have null in their target parameters, handle that
...
without crashing. Also enable deformating of lines greater than 256
characters.
2005-01-14 15:12:27 +00:00
Francois Gouget
87b0906789
Assorted spelling fixes.
2005-01-10 13:29:24 +00:00
Aric Stewart
2b2fecf88a
Make all custom type 1 actions happen in a seperate thread and close
...
all handles for that thread when it exits. Honors the concept of
temporary MSI handles for custom actions.
2005-01-07 17:08:35 +00:00
Aric Stewart
1416b10119
- Properly deformat keys written to the registry.
...
- Because directory mappings can change between the CostFinalize step
and the InstallFiles step we need to do a final resolution of the
target file name before installing.
2005-01-06 19:34:16 +00:00
Aric Stewart
00e1ecdce8
When checking for an existing .lnk shortcut extension on the filename
...
do not just search for '.' but actually verify it is '.lnk'.
2005-01-05 17:13:12 +00:00
Aric Stewart
4e55343064
- CustomAction 35 should call SetTargetPath not just set the property.
...
- TARGETDIR and SOURCEDIR may not be entries 0 in the directory
tables. So when resolving the folder we need to seek them out.
- When we handle SetTargetPath we need to be sure to recalculate the
resulting paths as things with the now set Directory as the parent
will change.
2005-01-04 20:47:20 +00:00
Aric Stewart
def5cbfc0b
Change how we install files so that we extract files as we need them,
...
cuts down on extraction time and unused files.
2005-01-04 20:42:58 +00:00
Mike McCormack
ac6a413bf5
Remove unneeded whitespace, indent correctly.
2005-01-04 20:36:12 +00:00
Aric Stewart
bd1bbc1768
Improve progress bar tracking.
2005-01-03 20:00:13 +00:00
Aric Stewart
6296de389a
Be sure that set paths are terminated with a backslash.
2005-01-03 16:06:44 +00:00
Aric Stewart
51cf7d13c0
Free allocated buffers.
2005-01-03 14:29:09 +00:00
Aric Stewart
d900b5392d
Parse out the full features by using the ',' character and do
...
comparisons based on the full feature names.
2004-12-27 19:12:35 +00:00
Aric Stewart
ea32fb93a1
Continue when a duplicate component is found and loaded.
2004-12-27 19:09:16 +00:00
Aric Stewart
fbdd70968d
- Rework how we handle Feature and Component States. I have confirmed
...
from testing that, although documented nowhere, having ADDLOCAL on
the install line overrides INSTALLLEVEL.
- Track all files extracted from cabinents as tempfiles so they can be
removed at the end of the install to not leave uninstalled but
uncabbed files laying around.
2004-12-27 19:06:22 +00:00
Aric Stewart
ae1aa32c77
Move Install Features selection and evaluation into CostFinalize.
2004-12-27 19:02:59 +00:00
Aric Stewart
09d35c3c91
Allow for end of install actions.
2004-12-27 19:00:26 +00:00
Aric Stewart
8cc14a93a1
- Create the shortcut directory if it does not exist.
...
- Set the INSTALLLEVEL in CostFinalize if it is not set.
2004-12-27 18:56:30 +00:00
Aric Stewart
2ad3ff880f
Eliminate some fixed length buffers.
2004-12-27 18:50:00 +00:00
Aric Stewart
3c949ef412
Enable asynchronous dll custom action calls.
2004-12-27 17:09:40 +00:00
Aric Stewart
454422d605
Make sure to include trailing backslash in path.
2004-12-23 11:20:50 +00:00
Aric Stewart
fa384f6b10
Move around and rename some functions.
2004-12-22 18:46:17 +00:00
Aric Stewart
d0c971a62c
Fix incorrect return code check.
2004-12-22 18:15:50 +00:00
Aric Stewart
259557038c
Fix folder resolution.
2004-12-22 17:13:26 +00:00
Mike McCormack
ba8200bf49
Remove more fixed length buffers, rewrite functions to return
...
malloc'ed memory.
2004-12-22 15:25:30 +00:00
Mike McCormack
9db0e072b1
Remove a lot of fixed length buffers.
2004-12-22 15:05:07 +00:00
Vitaly Lipatov
5c4116bc66
Add description for MsiGetMode, MSIRUNMODE constants.
2004-12-16 14:29:25 +00:00
Aric Stewart
1282d7ad44
Handle 3 more custom action types
2004-11-03 22:16:53 +00:00
Aric Stewart
d906ef03ff
Don't reregister ProgIds over and over, also write out the main key
...
before trying to register the Parent. This avoids loops if a ProgId
has itself as a parent or there is a loop in dependencies.
2004-10-22 22:06:31 +00:00
Aric Stewart
120009e9b4
Properly compare file versions when upgrading files so that new
...
versions get properly installed.
2004-10-08 23:35:35 +00:00
Francois Gouget
486d020c1b
Don't define COBJMACROS in objbase.h.
...
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Robert Shearman
dce07c4040
Make sure paths end with a slash before concatenating file names.
2004-09-17 18:11:14 +00:00