Hans Leidekker
32fa9db888
msi: Don't hard-code the ServicePackLevel property.
2012-07-09 15:06:42 -04:00
Hans Leidekker
f55ee1a212
msi: Don't crash if no working directory is specified for custom action type 34.
2012-07-09 15:06:35 -04:00
Francois Gouget
7f0cfac5cc
msi/tests: Get rid of unneeded function typedefs.
2012-06-15 18:35:37 +02:00
Hans Leidekker
a17ca16495
msi: Keep assembly caches loaded until the package is destroyed.
2012-06-12 10:22:24 +02:00
Hans Leidekker
3480ccbbb4
msi: Always load mscoree.dll from the system directory.
2012-06-12 10:22:15 +02:00
Hans Leidekker
458f6b7ccd
msi: Don't fail if no .NET runtime is available.
2012-06-12 10:22:04 +02:00
Hans Leidekker
f6f1bfd6fb
msi/tests: Use only uppercase characters for the PID_REVNUMBER property.
2012-06-12 10:21:55 +02:00
Hans Leidekker
0ed61000d3
msi: Support registry key names that exceed 255 characters.
2012-06-11 21:03:48 +02:00
Hans Leidekker
fc2c8a215f
msi: Fail if a registry key cannot be created.
2012-06-11 21:03:48 +02:00
Hans Leidekker
fd0c2dabdf
msi: Ignore the value if a registry value name is special.
2012-06-11 21:03:47 +02:00
Hans Leidekker
f0ea60049c
msi: Add support for 64-bit registry components.
2012-06-11 21:03:47 +02:00
Hans Leidekker
e16bcda486
msi: Don't create empty values for special registry entries.
2012-05-31 12:37:22 +02:00
Hans Leidekker
c959e38625
msi: Don't terminate the string in msi_id2stringA.
...
This makes sure that the last string can be fully written when saving the
string table.
2012-05-31 12:37:22 +02:00
Hans Leidekker
35b9594244
msi: Add support for version 4.0 of the .NET runtime.
2012-05-17 17:21:42 +02:00
Hans Leidekker
d6105eaa1f
msi: Use the correct function pointer in msi_init_assembly_caches.
2012-05-17 17:21:28 +02:00
Hans Leidekker
11daa6aad5
msi: Break out of the loop as soon as the assembly is detected in msi_load_assembly.
2012-05-17 17:21:25 +02:00
Michael Stefaniuc
49add07795
msi/tests: Test the correct return values.
2012-05-17 10:18:11 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Hans Leidekker
4b32c09376
msi: Add support for the ActionInfo progress message subtype.
2012-05-15 16:26:38 +02:00
Hans Leidekker
6c7d0993f0
msi: Add support for the ProgressAddition progress message subtype.
2012-05-15 16:26:37 +02:00
Hans Leidekker
022915f75b
msi: Don't hide failure of script custom actions.
2012-05-15 16:26:37 +02:00
Hans Leidekker
32c7a52f5c
msi: Resolve the target path for the ODBC driver file if necessary.
2012-05-08 16:21:40 +02:00
Alexandre Julliard
720a37d778
msi/tests: Skip MsiEnumProductsEx tests if not supported.
2012-05-03 23:31:43 +02:00
Francois Gouget
1bf438ab29
msi: Tweak msiexec's usage message.
2012-05-03 11:51:38 +02:00
Hans Leidekker
9700e9c7a6
msi: Fix a couple of DispGetParam calls.
2012-05-01 14:50:03 +02:00
Hans Leidekker
c3e3c81bfb
msi: Add the Session object as a global member to custom action scripts.
2012-05-01 14:49:58 +02:00
Hans Leidekker
52738e4f93
msi: Remove a workaround for missing Windows Script interfaces.
2012-05-01 14:49:52 +02:00
Hans Leidekker
605e0b7b41
msi: Add support for uninstalling global assemblies.
2012-04-30 11:02:28 +02:00
Hans Leidekker
89e95aa92c
msi: Avoid a crash in get_registered_local_package.
2012-04-26 19:26:41 +02:00
Hans Leidekker
fde66de6a5
msi: Don't free cached tables in MsiDatabaseCommit.
2012-04-26 19:26:37 +02:00
Hans Leidekker
c8bb335990
msi: Check supported languages in the AppSearch action.
2012-04-23 17:55:28 +02:00
Hans Leidekker
52f3d5bead
msi: Remove child folders first in the RemoveFolders action.
2012-04-23 17:55:21 +02:00
Hans Leidekker
2e5bf9ca06
msi: Dynamically allocate the path buffer in MsiQueryComponentStateW.
2012-04-23 17:55:18 +02:00
Hans Leidekker
cf1cb30dfa
msi: Initialize hkey in msi_comp_find_prod_key.
2012-04-23 17:55:14 +02:00
Hans Leidekker
f1af03fa16
msi: Reduce the indentation level in ACTION_GetComponentInstallStates.
2012-04-23 17:55:10 +02:00
Francois Gouget
f5a5cc067a
msi: Make create_record() static.
2012-04-20 12:00:33 +02:00
Hans Leidekker
a7137ef035
msi: Remove an unneeded assignment.
2012-04-20 11:59:43 +02:00
Hans Leidekker
2b9be70975
msi/tests: Fix some leaks.
2012-04-20 11:59:39 +02:00
Hans Leidekker
2e51464e4d
msi/tests: Add a test for MsiEnumProductsEx.
2012-04-20 11:59:35 +02:00
Hans Leidekker
fc73c9db0a
msi: Fix install state detection for registry components.
2012-04-20 11:59:26 +02:00
Robert van Herk
f87c4a36dd
msi: Fixed MsiGetFileHashW for empty files.
2012-04-06 20:40:59 +02:00
Hans Leidekker
dd205230a0
msi: Keep the UI level fixed during the lifetime of a package.
2012-04-05 17:53:20 +02:00
Hans Leidekker
350449fc43
msi: Suspend the installation if an action sets MSIRUNMODE_REBOOTNOW.
2012-04-02 13:30:41 +02:00
Hans Leidekker
15ee85dee8
msi: Implement MsiGet/SetMode(MSIRUNMODE_REBOOTNOW).
2012-04-02 13:30:36 +02:00
Hans Leidekker
a6b3d77021
msi: Use the state parameter passed to MsiSetMode.
2012-04-02 13:30:28 +02:00
Hans Leidekker
89c80c41ea
msi: Rename the need_reboot flag to need_reboot_at_end.
2012-04-02 13:30:24 +02:00
Hans Leidekker
f01cd3a36d
msi/tests: Add tests for MsiEnumComponents and MsiEnumComponentsEx.
2012-04-02 12:34:38 +02:00
Hans Leidekker
25b7228274
msi: Reimplement MsiEnumComponents on top of MsiEnumComponentsEx.
2012-04-02 12:34:28 +02:00
Hans Leidekker
8cebf01702
msi: Implement MsiEnumComponentsEx.
2012-04-02 12:34:24 +02:00
Hans Leidekker
8ea5266915
msi: Detect installed side-by-side assemblies.
2012-03-30 10:45:26 +02:00
Hans Leidekker
ccad8e9d80
msi/tests: Reduce code duplication in the feature/component state tests.
2012-03-28 19:05:02 +02:00
Hans Leidekker
3f1e3008ea
msi: Clear the cert pointer in MsiGetFileSignatureInformation.
2012-03-28 17:37:44 +02:00
Hans Leidekker
d351a9999e
msi: Also set the Intel property on 64-bit processors.
2012-03-28 17:37:41 +02:00
Andoni Morales Alastruey
342fcb6198
msi: Implement MSIMODIFY_MERGE function in TABLE_modify.
2012-03-28 11:44:52 +02:00
Hans Leidekker
280af52666
msi: Mask off modifiers before setting the UILevel property.
...
Spotted by Aric Stewart.
2012-03-26 18:15:03 +02:00
Hans Leidekker
9b2b760ea9
msi: Get the UI level from the global variable instead of the property.
2012-03-26 18:15:03 +02:00
André Hentschel
c000cbaf49
msi: Allow ARM installations.
2012-03-26 12:41:27 +02:00
Hans Leidekker
45a62d53b6
msi: Restrict the match on files from cabinets to files that have not been installed.
2012-03-16 16:27:38 +01:00
Hans Leidekker
c98bf1b57b
msi: Fix deleting services on installation.
...
Based on a patch by Berhard Loos.
2012-03-13 13:30:11 +01:00
Hans Leidekker
fa2420d696
msi: Perform a case insensitive match on filenames from cabinets.
2012-03-12 16:37:24 +01:00
Hans Leidekker
0f40d2624d
msi: Reimplement MsiEnumProducts on top of MsiEnumProductsEx.
2012-03-12 16:37:24 +01:00
Hans Leidekker
a4c20dc437
msi: Implement MsiEnumProductsEx.
2012-03-12 16:37:23 +01:00
Hans Leidekker
531cab9feb
msi: Deformat the description field of INSTALLMESSAGE_ACTIONDATA messages.
2012-03-12 16:37:22 +01:00
Hans Leidekker
98c621c1bf
msi: Use the return value of IXMLDOMNode_get_text (clang).
2012-02-06 10:19:37 -06:00
Hans Leidekker
bb0b467366
msi: Avoid a null pointer dereference in MsiGetFileVersionW (clang).
2012-02-06 10:19:30 -06:00
Hans Leidekker
bca0fd6a55
msi: Follow the parent state for preselected features unless the parent is an advertised feature.
2012-02-05 09:38:12 -06:00
Stefan Leichter
f3caa76846
msi: Update version resource.
2012-01-30 20:44:49 +01:00
Frédéric Delanoy
ca4fdc57ed
msi: Avoid dead code in parse_prop (Coverity).
2012-01-30 11:59:44 +01:00
Frédéric Delanoy
8ef373a7f2
msi: Avoid dead code in parse_prop (Coverity).
2012-01-25 11:24:58 +01:00
Hans Leidekker
c8e8f44168
msi: Use the column count specified in the table transform data.
...
It can be smaller than the number of columns found in the table meta data.
2012-01-24 16:57:32 +01:00
Francois Gouget
47f45d793d
Use a single space after a full stop to follow the Windows GUI guidelines.
2012-01-23 16:07:03 +01:00
Hans Leidekker
fcce720a2f
msi: Don't evaluate msidbFeatureAttributesFollowParent when features are preselected.
2012-01-23 15:59:54 +01:00
Hans Leidekker
09a49fd784
msi: Pass the file identifier instead of the filename in action data for SelfRegModules/SelfUnregModules.
2012-01-20 16:01:48 +01:00
Hans Leidekker
d20c69c54d
msi: Don't parse the format string when building the shortcut target path.
...
It's no longer necessary because target paths are always normalized.
2012-01-19 21:08:51 +01:00
Hans Leidekker
9336c10619
msi: Make sure target paths are normalized.
...
Fix for the Lotus Notes 6.5.1 installer.
2012-01-18 16:25:21 +01:00
Nikolay Sivov
3b60c2c0d1
msi: Support test for aplicable patch of MSIPATCH_DATATYPE_XMLPATH type.
2012-01-18 12:37:37 +01:00
Nikolay Sivov
123eba2801
msi: Support MSIPATCH_DATATYPE_XMLBLOB when testing for applicable patch.
2012-01-18 12:37:37 +01:00
Nikolay Sivov
5cbe5faf49
msi: Create the rest of objects with separate helpers.
2012-01-17 19:13:55 +01:00
Nikolay Sivov
576aa0e6d0
msi: Use data table for dispid tests.
2012-01-16 13:13:23 +01:00
Nikolay Sivov
8a012ff4f7
msi: Implement list on top of general object.
2012-01-16 13:13:13 +01:00
Nikolay Sivov
07058e0068
msi: Add a helper to create database object.
2012-01-16 13:12:51 +01:00
Nikolay Sivov
ff3ed0e5ea
msi: Add null terminator to typelib name.
2012-01-16 13:12:41 +01:00
Nikolay Sivov
b79311b175
msi: Create installer object initializing automation object data.
2012-01-16 13:12:25 +01:00
Nikolay Sivov
9505a1bf28
msi: Implement session object directly on top of automation object.
2012-01-16 13:12:14 +01:00
Nikolay Sivov
9687c29cc5
msi: COM cleanup for automation object implementation.
2012-01-16 13:11:28 +01:00
Hans Leidekker
bc801f85be
msi: Set the SourceDir and SOURCEDIR properties in MsiGetSourcePath.
2012-01-16 12:45:34 +01:00
Hans Leidekker
4ef765cb4e
msi: Don't try to ready media for files from a previous installation or files that will be skipped.
2012-01-10 18:29:05 +01:00
Hans Leidekker
c7e5f0331f
msi: Downgrade an error.
2012-01-10 18:29:04 +01:00
Hans Leidekker
b13195ce4e
msi: Fix detection of installed global assemblies.
2012-01-10 18:29:04 +01:00
Hans Leidekker
b00e7039c5
msi: Execute custom actions in the right script.
2012-01-06 21:57:40 +01:00
Hans Leidekker
de11a50b91
msi: Don't crash on secondary root folders in msi_resolve_target_folder.
2012-01-05 20:54:25 +01:00
Hans Leidekker
2a19021610
msi: VolumeLabel and DiskPrompt are optional fields in the Media table.
2012-01-03 18:07:15 +01:00
Hans Leidekker
4def593456
msi: Accept a missing left backquote in SQL identifiers.
2012-01-03 18:07:08 +01:00
Hans Leidekker
ca49aae61e
msi: Fix handling of single quoted column names in SELECT queries.
2011-12-23 15:12:18 +01:00
Hans Leidekker
bde25b2cb4
msi: Use a common function to validate a product ID.
2011-12-23 15:12:11 +01:00
Hans Leidekker
ad4f747fa6
msi: Fix changing media for normal files.
2011-12-23 15:12:06 +01:00
Hans Leidekker
8cc5561fbf
msi: Don't run the rollback script in reinstall mode.
2011-12-13 18:59:15 +01:00
Hans Leidekker
8a5c700d78
msi: Pass REINSTALL and REINSTALLMODE properties on the command line in MsiReinstallFeatureW.
2011-12-13 18:59:14 +01:00
Hans Leidekker
12e106613a
msi: Don't set the LOGVERBOSE property in MsiReinstallFeatureW.
2011-12-13 18:59:14 +01:00
Hans Leidekker
1f56b60cc4
msi: Don't set the Installed property in MsiReinstallFeatureW.
...
This property will be set later.
2011-12-13 18:59:13 +01:00
Hans Leidekker
00477d601e
msi: Support all install contexts in MsiReinstallFeatureW.
2011-12-13 18:59:13 +01:00
Hans Leidekker
973e86b844
msi: Move some traces from implementations to entry points.
2011-12-13 18:59:12 +01:00
Hans Leidekker
0f3eb5f689
msi: Format the value name from the RegLocator table.
2011-12-12 15:50:39 +01:00
Hans Leidekker
75242afefd
msi/tests: Try harder to remove a shortcut file.
2011-12-06 15:51:01 +01:00
Hans Leidekker
cd4432bc9b
msi: Make sure to keep a reference to custom action data until the actions are finished.
2011-12-06 15:51:00 +01:00
Hans Leidekker
39b7e6e50c
msi: Resolve the target folder if necessary in msi_get_target_folder.
2011-12-01 14:18:22 +01:00
Hans Leidekker
959ebdb118
msi: Split up delete_reg_key_or_value.
2011-12-01 14:18:14 +01:00
Francois Gouget
51a256e65f
Assorted spelling fixes and wording tweaks.
2011-11-28 16:40:50 +01:00
Hans Leidekker
3ad3a184d5
msi: Perform a case insensitive match on the volume label.
2011-11-22 12:43:59 +01:00
Francois Gouget
7238a78805
msi: Delete the handle static critical sections when unloading the dll.
2011-11-17 11:37:49 +01:00
Hans Leidekker
a100550383
msi: Trace the exit code from custom action processes.
2011-11-14 13:10:19 +01:00
Hans Leidekker
353016f92f
msi: Process messages while waiting for custom actions to complete.
2011-11-14 13:10:19 +01:00
Andrew Talbot
3358b541ac
msi: Remove extraneous braces from switch statement.
2011-11-07 11:53:56 +01:00
Hans Leidekker
eb7d8b92cb
msi: GetComputerName returns ERROR_BUFFER_OVERFLOW when the buffer is too small.
2011-11-03 13:09:07 +01:00
Hans Leidekker
5266f34c3c
msi: Set the ComputerName property.
2011-11-01 12:13:46 +01:00
Hans Leidekker
936c14f87f
msi: Handle some more message types in MSI_ProcessMessage.
2011-11-01 12:12:59 +01:00
Hans Leidekker
899e85ab26
msi: Fix the log mode for progress messages.
2011-11-01 12:12:55 +01:00
Hans Leidekker
392bd2b7a2
msi/tests: Fix a skip message.
2011-10-27 14:21:31 +02:00
Hans Leidekker
841a747409
msi/tests: Fix some test failures on win2k.
2011-10-27 14:21:27 +02:00
Hans Leidekker
319081cbf6
msi: Wait up to 30 seconds for services to start up.
2011-10-27 14:21:23 +02:00
Bernhard Loos
4ac1e8e034
msi: Always use WHEREVIEW for sorting.
2011-10-20 20:48:26 +02:00
Bernhard Loos
0fd4943277
msi: Get rid of JOINVIEW.
2011-10-20 20:48:26 +02:00
Bernhard Loos
4383aafadd
msi: Reorder tables to optimize condition evaluation.
2011-10-20 20:48:26 +02:00
Vincent Povirk
2556173f20
msi: Use MsgWaitForMultipleObjectsEx to do waits.
2011-10-13 20:43:20 +02:00
Dan Kegel
c77395dc08
msi: Initialize variable to placate static analyzers.
2011-10-13 20:06:46 +02:00
Hans Leidekker
e973115a79
msi: Properly build the shortcut target path.
2011-10-11 13:37:50 +02:00
Hans Leidekker
cda63b8a38
msi: Don't attempt to patch files if the component action resolves to anything other than INSTALLSTATE_LOCAL.
2011-10-11 13:37:50 +02:00
Michael Stefaniuc
78ebd8f7cf
msi: Remove a redundant NULL check before free (Smatch).
2011-10-11 13:37:50 +02:00
Michael Stefaniuc
958eff8e94
msi: Remove a break after return (Smatch).
2011-10-11 13:37:50 +02:00
Michael Stefaniuc
0c5f83040a
msi: Move a TRACE before the continue (Smatch).
2011-10-11 13:37:49 +02:00
Andrew Talbot
895b48e9ed
msi: Mark fall-throughs in switch statements.
2011-10-06 16:47:33 -05:00
Andrew Talbot
48a6130279
msi: Add a break to a switch statement.
2011-10-06 16:47:30 -05:00
Hans Leidekker
5ea1caa69e
msi/tests: Properly preserve pending file renames.
2011-09-27 16:24:26 +02:00
Francois Gouget
d2084d5a41
msi/tests: Avoid #if 0 to make sure code still compiles.
2011-09-27 10:58:52 +02:00
Michael Stefaniuc
6074bd51cc
msi: Remove casts to the type of the casted variable.
2011-09-23 16:21:26 +02:00
Hans Leidekker
ca741823dd
msi: Only use Windows platform-specific encoded strings from the font naming table.
2011-09-23 12:39:14 +02:00
Hans Leidekker
19a965f581
msi: Improve font version parsing.
2011-09-23 12:39:10 +02:00
Hans Leidekker
7c7e0bd51d
msi: MSI_SetFeatureStateW doesn't need to be WINAPI.
2011-09-23 12:39:02 +02:00
Hans Leidekker
80438ef2ce
msi: Remove an unused parameter from msi_create_table.
2011-09-23 12:38:59 +02:00
Hans Leidekker
83ef90789f
msi: Support reading version information from OpenType/CFF fonts.
2011-09-21 11:35:43 +02:00
Hans Leidekker
2788a95c8e
msi: Support TrueType font files in MsiGetFileVersion.
2011-09-20 16:21:41 +02:00
Francois Gouget
ed01c53290
msi: Don't use debugstr_a() on an output parameter.
...
Spotted by Michael Stefaniuc and Hans Leidekker.
2011-09-20 16:21:37 +02:00
Francois Gouget
ff98afc450
msi: Fix printing NULL strings.
2011-09-19 17:56:05 +02:00
Hans Leidekker
6ae7061645
msi: Improve parsing of the package platform.
2011-09-15 15:41:42 +02:00
Hans Leidekker
f13cafad4a
msi: Ignore files if their path cannot be resolved in the RemoveFiles action.
2011-09-14 14:55:33 +02:00
Hans Leidekker
eede401d03
msi: Free the message string in ACTION_ResolveSource.
2011-09-14 14:55:28 +02:00
Bernhard Loos
9b729bb1b3
msi: Speed up WHERE statement evaluation by evaluating the condition as early as possible.
2011-09-12 17:45:51 +02:00
Bernhard Loos
dc16dd1351
msi: The underlying tables might have changed, so it's not possible to cache the result of the execute.
2011-09-12 17:45:28 +02:00
Hans Leidekker
258fc7137f
msi: Ignore unknown components in the FeatureComponents table.
2011-09-09 13:38:15 +02:00
Hans Leidekker
6351cd827b
msi: Remove some dead assignments (clang).
2011-09-09 13:38:09 +02:00
Hans Leidekker
bd3885946c
msi: Return the right error from ResolveSource when the user cancels.
2011-09-09 13:38:04 +02:00
Hans Leidekker
984422bad1
msi: SelfUnregModules' counterpart is SelfRegModules.
2011-09-09 13:37:43 +02:00
Hans Leidekker
5783c2cfcb
msi: Move the preview code to dialog.c.
2011-09-09 13:37:40 +02:00
Hans Leidekker
79e71d543f
msi/tests: Fix some test messages.
2011-09-09 13:37:03 +02:00
Hans Leidekker
9562b61bc4
msi/test: Mark some test results as broken.
2011-09-09 13:36:57 +02:00
Hans Leidekker
f618eb2860
msi: Respect the indirect attribute in the SelectionPath event handler.
2011-09-09 13:36:48 +02:00
Marcus Meissner
6d1ec3517d
Revert "msi: Check for return value of GetUserName (Coverity).".
...
This reverts commit ac0a7b644f
.
GetUserName is supposed to return 0 here, as size is 0.
2011-09-08 20:08:06 +02:00
Marcus Meissner
ac0a7b644f
msi: Check for return value of GetUserName (Coverity).
2011-09-07 18:14:02 +02:00
Hans Leidekker
9cb38911d2
msi: Initialize a variable.
2011-09-05 17:17:41 +02:00
Hans Leidekker
470688f729
msi: Use a higher value for the initial transform disk id.
2011-09-05 17:17:37 +02:00
Hans Leidekker
eaf8848d0d
msi/tests: Fix a number of test messages.
2011-09-05 17:17:32 +02:00
Hans Leidekker
a8b51497e5
msi: Avoid a leak when a query is executed more than once.
2011-09-05 17:17:28 +02:00
Francois Gouget
2649761175
msi: Make find_table() static.
2011-09-02 14:42:17 +02:00
Michael Stefaniuc
f0be3d8139
msi: COM cleanup for the IEnumVARIANT iface.
2011-09-02 10:44:22 +02:00
Jacek Caban
9ef5af540b
msi: Ude default calling convention for internal functions.
2011-08-31 19:43:08 +02:00
Jacek Caban
81031c532e
msi: Use struct instead of interface in object declarations.
2011-08-31 19:43:08 +02:00
Marcus Meissner
ee12b4feed
msi: Check return value of msi_string2idW (Coverity).
2011-08-31 19:43:07 +02:00
Alexandre Julliard
2fcf1220eb
msi: Avoid dynamic stack allocation.
2011-08-29 13:52:32 +02:00
Bernhard Loos
f0a53a8f1b
msi: Implement proper sorting in WHEREVIEW.
2011-08-26 13:35:54 +02:00
Bernhard Loos
abd1174941
msi: Protected primary keys against modification.
2011-08-26 13:34:25 +02:00
Bernhard Loos
a52c2bf941
msi: Make WHEREVIEW able to deal directly with multiple tables.
2011-08-26 13:33:44 +02:00
Bernhard Loos
3bd0acf1ba
msi: Use an array instead of a hashtable for WHEREVIEW.
2011-08-25 14:34:34 +02:00
Hans Leidekker
9d68804379
msi: Resolve the target folder if necessary when building link filenames.
2011-08-24 12:14:46 +02:00
Hans Leidekker
d7952d8a24
msi/tests: Skip a test if the process is limited.
2011-08-24 12:14:46 +02:00
Hans Leidekker
0dec906d61
msi/tests: Accept one more estimated size.
2011-08-24 12:14:46 +02:00
Hans Leidekker
fabfc5da78
msi/tests: Clean up local packages.
2011-08-23 16:53:56 +02:00
Hans Leidekker
eb7ae99ddb
msi: Remove icons when the product is uninstalled.
2011-08-23 16:53:56 +02:00
Hans Leidekker
db6dbcf2a2
msi: Initialize the installation context from the registry if the product is installed.
2011-08-23 16:53:56 +02:00
Hans Leidekker
70e3790707
msi: Remove local patch packages when the product is removed.
2011-08-23 16:53:56 +02:00
Hans Leidekker
621b0405c9
msi: Don't create a temporary copy of the package.
...
There's no need for it now that we open the package in transacted mode.
2011-08-23 16:53:56 +02:00
Hans Leidekker
0f67869d84
msi: Print a warning instead of a fixme if we fail to open the database.
2011-08-23 16:53:56 +02:00
Hans Leidekker
763e2f3edc
msi/tests: Use a package code that is different from the product code.
2011-08-23 16:53:56 +02:00
Frédéric Delanoy
760faf01a9
tests: Assorted spelling fixes.
2011-08-04 18:27:37 +02:00
Hans Leidekker
7b7c95425a
msi: Make sure the source directory has a trailing backslash.
2011-08-04 18:27:36 +02:00
Frédéric Delanoy
7e309601f3
dlls: Assorted spelling fixes.
2011-08-03 14:15:50 +02:00
Alexandre Julliard
b56dc9a6f7
winecrt0: Remove the clsid parameter in __wine_(un)register_resources.
2011-08-02 20:47:49 +02:00
Hans Leidekker
cf4aec0cbd
msi: Avoid a crash in ControlEvent_SetTargetPath.
2011-08-02 11:51:06 +02:00
Alexandre Julliard
729afa6adc
makefiles: Generate resource files for typelibs.
2011-08-02 10:11:10 +02:00
Bernhard Loos
20bdf059ab
msi: MsiDatabaseCommit also succeeds for a a readonly database.
2011-07-28 11:31:28 +02:00
Hans Leidekker
fe404d1d88
msi: Always check the return value of MSI_IterateRecords.
2011-07-27 11:55:23 +02:00
Hans Leidekker
e1c2e8828f
msi: Clean up the database queries.
2011-07-27 11:55:16 +02:00
Hans Leidekker
d1b2058500
msi: Make the column and table name parameters of get_column_info const.
2011-07-27 11:55:06 +02:00
Hans Leidekker
d38ace6d4c
msi: Store table and column names in the string table.
2011-07-27 11:54:58 +02:00
Hans Leidekker
b5ea0030f0
msi: Allow read sharing if the package is openend in transacted mode.
2011-07-25 17:59:04 +02:00
Hans Leidekker
911ad2bdab
msi: Don't duplicate column string data.
2011-07-25 17:59:04 +02:00
Hans Leidekker
b085b23b29
msi: Fix the SelectionPath event handler.
2011-07-24 12:31:55 +02:00
Francois Gouget
26772e168b
msi: Make msi_parse_patch_summary() and msi_apply_patch_db() static.
2011-07-07 14:46:14 +02:00
Hans Leidekker
e601ef55a9
msi: Check the return value of MSI_IterateRecords (clang).
2011-07-07 14:46:14 +02:00
Hans Leidekker
4686efd281
msi: Get rid of the msistring typedef.
2011-07-07 14:46:14 +02:00
Hans Leidekker
540d189060
msi: Avoid dereferencing a NULL pointer (clang).
2011-07-07 14:46:14 +02:00
Hans Leidekker
6083fd5e53
msi: Check the transform language against the package language instead of the system language.
2011-07-07 14:46:14 +02:00
Hans Leidekker
537a5932b0
msi: Add a stub implementation of MsiDeterminePatchSequence.
2011-07-07 14:46:14 +02:00
Hans Leidekker
9299319b88
msi: Remove some dead assignments (clang).
2011-07-07 14:45:59 +02:00
Hans Leidekker
7f199e81e1
msi: Avoid using an uninitialized value (clang).
2011-07-07 12:32:29 +02:00
Hans Leidekker
4202b1419c
msi: Use the return value of MSI_IterateRecords (clang).
2011-07-07 12:32:25 +02:00
Frédéric Delanoy
99e422c975
msi: Remove dead assignment (Clang).
2011-07-06 11:30:10 +02:00
Hans Leidekker
823560d472
msi: Get rid of the remaining tabs.
2011-07-01 14:39:36 +02:00
Hans Leidekker
7d677fc327
msi: Delay creating local installer and patch packages until the product is registered.
2011-07-01 14:39:36 +02:00
Hans Leidekker
791fe136a9
msi: Remove directories after removing all files.
2011-07-01 14:39:36 +02:00
Hans Leidekker
12a55d9190
msi/tests: Clean up the local package in test_register_product.
2011-07-01 14:39:36 +02:00
Hans Leidekker
395887b684
msi/tests: Remove a test.
...
This test shows that native fails to remove an empty directory under
certain conditions. I don't see why we should replicate this behavior.
2011-07-01 14:39:36 +02:00
Hans Leidekker
b32c643c18
msi: Handle escaped double quotes in command line parsing.
2011-07-01 14:39:36 +02:00
Hans Leidekker
2cbeb20d39
msi: Use an enum to represent folder states.
2011-07-01 14:39:36 +02:00
Hans Leidekker
8ff57beb0e
msi: Perform a full uninstall if no feature resolves to INSTALLSTATE_LOCAL.
2011-07-01 14:39:36 +02:00
Marcus Meissner
90970651d3
msi: Remove superflous NULL check (Coverity).
2011-06-27 13:29:09 -05:00
Marcus Meissner
59f8cfeb22
msi: Removed useless NULL check (Coverity).
2011-06-27 13:28:59 -05:00
Hans Leidekker
0b2bd0c903
msi: Count progress in units of 512 bytes.
2011-06-23 10:00:13 +02:00
Hans Leidekker
ac994860af
msi: Make sure reported progress adds up to projected progress.
2011-06-23 10:00:09 +02:00
Hans Leidekker
ebf323cfcb
msi: Add support for running the progress bar backwards.
2011-06-23 10:00:02 +02:00
Hans Leidekker
d1ae506e40
msi: Don't subscribe more than once to the same control event.
2011-06-23 09:59:56 +02:00
Hans Leidekker
838614c7ec
msi: Don't update the progress bar in schedule_install_files.
2011-06-23 09:59:52 +02:00
Hans Leidekker
5ca2277cc5
msi: Pass the full custom action command to CreateProcess.
2011-06-14 13:15:25 +02:00
Marcus Meissner
aec497b03d
msi: Fix some NULL dereferences (Coverity).
2011-06-13 11:31:09 +02:00
Hans Leidekker
667ba16dbc
msi: Implement and test MsiSetFeatureAttributes.
2011-06-10 10:55:18 +02:00
Hans Leidekker
4c9c50d86b
msi: Implement and test MsiGetFeatureInfo.
2011-06-10 10:55:11 +02:00
Hans Leidekker
aec97287bc
msi: Remove redundant function find_feature_by_name.
2011-06-10 10:54:57 +02:00
Hans Leidekker
6efc9f9281
msi: Add a stub implementation of MsiCreateTransformSummaryInfo.
2011-06-10 10:45:49 +02:00
Alexandre Julliard
89472db9e3
msi: Create temp files in the destination directory instead of the root.
2011-06-09 15:56:57 +02:00
Hans Leidekker
1ae309f981
msi: Get rid of some more forward declarations.
2011-06-07 14:18:34 +02:00
Hans Leidekker
4004b25c1d
msi: Avoid some AW conversions.
2011-06-07 14:18:34 +02:00
Hans Leidekker
b4c20e7fef
msi: Get rid of forward declarations for custom action handlers.
2011-06-07 14:18:34 +02:00
Hans Leidekker
597e166433
msi: Handle disabled components properly in the ProcessComponents action.
2011-06-07 14:18:33 +02:00
Hans Leidekker
ab13c00fc9
msi: Add support for returning validation errors.
2011-06-07 14:18:33 +02:00
Hans Leidekker
c869192c92
msi: Print a warning instead of an error if we're going to remove an installed file.
...
Removing an installed file is normal as part of a rollback.
2011-06-07 14:18:33 +02:00
Hans Leidekker
8aa8b9b654
msi: Fully initialize the MSISTORAGESVIEW and MSISTREAMSVIEW structures.
2011-06-07 14:18:33 +02:00
Hans Leidekker
5e37c1a2b7
msi: Revert 8321276cd3
.
2011-06-07 14:18:33 +02:00
Hans Leidekker
ddb25cd8a1
msi: Reorder dialog functions to avoid forward declarations.
2011-06-07 14:18:33 +02:00
Hans Leidekker
880ef2bb35
msi: Factor out common code to execute custom action commands.
2011-06-07 14:18:33 +02:00
Hans Leidekker
926fe27718
msi: GetUserName sets last error to ERROR_INSUFFICIENT_BUFFER if the buffer is too small.
2011-06-01 16:13:32 +02:00
Hans Leidekker
4c49cf853d
msi: Set the SystemComponent installation property if necessary.
2011-05-30 11:16:13 +02:00
Hans Leidekker
1d6540bdc8
msi: Skip files from global assemblies in the RemoveFiles action.
2011-05-30 11:16:08 +02:00
Alexandre Julliard
b79fde445e
msi: Remove the temp files after the storage files are closed.
2011-05-26 13:28:27 +02:00
Hans Leidekker
ee80412330
msi: Support rollback of failed uninstalls.
2011-05-25 14:16:13 +02:00
Hans Leidekker
6c39fdf19a
msi: Don't schedule rollback actions during rollback.
2011-05-25 14:16:08 +02:00
Hans Leidekker
3ce11c7cc2
msi: Fix updating the component reference count during rollback.
2011-05-25 14:16:04 +02:00
Hans Leidekker
0ecb33e21e
msi: Fix the remaining actions to revert features and components to the installed state during rollback.
2011-05-25 14:16:00 +02:00
Hans Leidekker
39b7ce6b82
msi: Fix the assembly actions to revert components to the installed state during rollback.
2011-05-25 14:15:55 +02:00
Hans Leidekker
df2df89dbd
msi: Fix the font actions to revert components to the installed state during rollback.
2011-05-24 11:58:49 +02:00
Hans Leidekker
fe2b4b1df6
msi: Fix the ODBC actions to revert components to the installed state during rollback.
2011-05-24 11:58:45 +02:00
Hans Leidekker
7dd95a386e
msi: Fix the service actions to revert components to the installed state during rollback.
2011-05-24 11:58:41 +02:00
Hans Leidekker
ad84982d92
msi: Fix the class actions to revert features to the installed state during rollback.
2011-05-24 11:58:38 +02:00
Hans Leidekker
50dd7b498a
msi: Fix the registry actions to revert components to the installed state during rollback.
2011-05-24 11:58:34 +02:00
Hans Leidekker
c88f128537
msi: Fix the file actions to revert components to the installed state during rollback.
2011-05-24 11:58:29 +02:00
Hans Leidekker
b7950cfe68
msi: Fix the folder actions to revert components to the installed state during rollback.
2011-05-24 11:58:24 +02:00
Hans Leidekker
6ec7306948
msi: Improve the stub for MsiGetMode(MSIRUNMODE_ADVERTISE).
2011-05-24 11:58:18 +02:00
Hans Leidekker
f644601fc5
msi: Improve the BindImage action stub.
2011-05-24 11:58:11 +02:00
Hans Leidekker
02fb530401
msi: Move patch related functions to a separate file.
2011-05-24 11:57:57 +02:00
Hans Leidekker
1ab830188a
msi: Execute the rollback script if the installation failed.
2011-05-20 12:44:37 +02:00
Hans Leidekker
0f5cb14a67
msi: Schedule rollback for standard actions.
2011-05-20 12:44:32 +02:00
Hans Leidekker
49f263558b
msi: Implement MsiGetMode(MSIRUNMODE_ROLLBACKENABLED).
2011-05-20 12:44:26 +02:00
Hans Leidekker
9c9e0981b4
msi: Implement the DisableRollback standard action.
2011-05-20 12:44:22 +02:00
Hans Leidekker
b817fb1aaa
msi: Avoid a double free.
2011-05-20 12:44:18 +02:00
Hans Leidekker
7545fc1014
msi: Recursively create the destination directory in the MoveFiles action.
2011-05-20 12:44:13 +02:00
Hans Leidekker
4a1c243e6a
msi: Factor out common code from MsiEnumComponentCostsW.
2011-05-20 12:44:10 +02:00
Marcus Meissner
97b82b0f18
msi: Check comp for NULL from msi_get_loaded_component (Coverity).
2011-05-18 16:41:17 +02:00
Hans Leidekker
f464b7d2e2
msi: Don't resolve child folders if the target path doesn't change in MsiSetTargetPath.
2011-05-17 12:04:43 +02:00
Hans Leidekker
01433f0f30
msi: Make sure that the target root directory has a trailing backslash.
2011-05-17 12:04:40 +02:00
Hans Leidekker
c5ab1c37bf
Revert "msi: Avoid loading cabinet streams more than once.".
...
This reverts commit 395479f0d1
.
2011-05-17 12:04:38 +02:00
Hans Leidekker
548d71ee45
msi: Search all installation contexts in the FindRelatedProducts action.
2011-05-17 12:04:24 +02:00
Hans Leidekker
9e5562297d
msi: Improve tracing in the FindRelatedProducts action.
2011-05-17 12:04:17 +02:00
Hans Leidekker
c7e36d8ba8
msi: Unescape ^Q^Y sequences in text archives.
2011-05-12 18:23:00 +02:00
Hans Leidekker
e2ba5dce06
msi: Handle embedded nulls in text archives.
2011-05-12 18:22:54 +02:00
Hans Leidekker
b55cbe8d11
msi: Improve the stub for MisGetMode(MSIRUNMODE_ADMIN).
2011-05-12 18:22:44 +02:00
Hans Leidekker
1650367e16
msi: Remove redundant tracing.
2011-05-12 18:22:40 +02:00
Hans Leidekker
e8bdbf879a
msi: Don't resolve child folders if the parent path is unmodified.
2011-05-11 14:56:49 +02:00
Hans Leidekker
defcf092a9
msi/tests: Show that MsiSetTargetPath updates folder properties.
2011-05-11 14:56:49 +02:00
Hans Leidekker
3f7312fdc1
msi: Clone an open stream if possible in cabinet_open_stream.
2011-05-06 16:40:14 +02:00
Hans Leidekker
4f9971f5f8
msi: Keep track of a stream's storage.
2011-05-06 16:40:06 +02:00
Hans Leidekker
6b8a8d75e2
msi: Add support for version 1.0 of the .NET runtime.
2011-05-06 16:39:58 +02:00
Hans Leidekker
bffd5e0cbb
msi: Destroy assembly caches right after use.
...
This avoids keeping dlls loaded that the .NET service pack installers want to replace.
2011-05-06 16:39:51 +02:00
Hans Leidekker
395479f0d1
msi: Avoid loading cabinet streams more than once.
2011-05-06 16:39:45 +02:00
Hans Leidekker
0c43024af7
msi: Get rid of helpers.c.
2011-05-06 16:39:08 +02:00
Hans Leidekker
2afd65f69b
msi: Handle NULL component correctly in MsiEnumComponentCostsW.
2011-05-06 16:38:30 +02:00
Piotr Caban
54833c9b7c
wine.inf: Add quotes to webbrowser command keys.
2011-05-04 20:42:27 +02:00
Francois Gouget
f09bbacf9e
msi: get_msi_typelib() is not used anymore so remove it.
2011-05-03 19:34:29 +02:00
Hans Leidekker
cd34bfe6c1
msi: Define common strings just once.
2011-05-02 16:40:20 +02:00
Hans Leidekker
4668091528
msi: Rewrite the folder resolution code to keep track of the parent-child relationship.
2011-05-02 16:40:06 +02:00
Hans Leidekker
8fb5368d4e
msi: Use a separate function to retrieve the target folder path.
2011-05-02 16:39:52 +02:00
Hans Leidekker
0d0074d56b
msi: Skip disabled components in the InstallService action.
2011-05-02 16:39:44 +02:00
Hans Leidekker
c96cd6efc8
msi: Avoid casts in IWineMsiRemotePackage methods.
2011-05-02 16:39:37 +02:00
Hans Leidekker
cc517f2b38
msi: Support remote calls to MsiEnumComponentCosts.
2011-05-02 16:39:02 +02:00
Hans Leidekker
b4a7a30b18
msi: Fix handling of components without a key path in MsiEnumComponentCostsW.
2011-05-02 16:38:51 +02:00
Marcus Meissner
eb97e6179f
msi: Mark internal symbols as visibility hidden.
2011-04-25 13:02:17 +02:00
Hans Leidekker
9ad5d05a6a
msi: Sync with the action request instead of the action taken in msi_seltree_sync_item_state.
2011-04-19 13:30:07 +02:00
Francois Gouget
d685bfa548
msi: Move msi_get_cabinet_stream() up and make it static.
2011-04-18 12:40:02 +02:00
Hans Leidekker
eee070f1e0
msi: Add offsets to disk ids added by patches.
2011-04-14 17:37:23 +02:00
Hans Leidekker
131ef6372f
msi: Add support for maintaining a list of cabinet streams.
2011-04-14 17:37:23 +02:00
Hans Leidekker
5521646380
msi: Avoid redundant loading of media info.
2011-04-14 17:37:23 +02:00
Hans Leidekker
cfddf2796e
msi/tests: Fix some memory leaks (valgrind).
2011-04-14 17:37:22 +02:00
Hans Leidekker
741b0f37f8
msi: Fix a memory leak (valgrind).
2011-04-14 17:37:22 +02:00
Hans Leidekker
846811be59
msi: Check the return value of MSIREG_OpenUpgradeCodesKey (valgrind).
2011-04-14 17:37:22 +02:00
Hans Leidekker
88b4bbfc6a
msi: More Wow64 fixes.
2011-04-06 12:05:08 +02:00
Hans Leidekker
d447ae63b3
msi: Honor msidbFeatureAttributesFollowParent.
2011-04-05 14:42:56 +02:00
Hans Leidekker
ce0b3a030b
msi: Fix parsing of an empty property followed by a non-empty property.
2011-04-05 14:42:52 +02:00
Hans Leidekker
68d6158875
msi: Implement and test MsiEnumComponentCostsA/W.
2011-04-01 16:16:04 +02:00
Francois Gouget
1d246654cb
msi: Make load_ttf_name_id() static.
2011-03-31 13:10:55 +02:00
Hans Leidekker
31291ec205
msi: Fix building the message string in MSI_ProcessMessage.
2011-03-31 12:49:48 +02:00
Hans Leidekker
0aaf17c0d8
msi: Fix buffer size calculation in get_keypath.
2011-03-31 12:49:42 +02:00
Hans Leidekker
6f552fd2f7
msi: Avoid sprintf for simple concatenations.
2011-03-30 13:28:05 +02:00
Hans Leidekker
881ff642a2
msi: Make sure to access the 64-bit portion of the registry where needed on Wow64.
2011-03-30 13:28:05 +02:00
Hans Leidekker
a0a7a7fc3d
msi/tests: Remove unneeded Wow64 checks.
2011-03-30 13:28:05 +02:00
Hans Leidekker
f3f25af900
msi: Implement MsiGetFileSignatureInformationA/W.
2011-03-30 13:28:05 +02:00
Hans Leidekker
8d58ddfe12
msi: Accept whitespace-only property values on the command line.
2011-03-30 13:28:05 +02:00
Hans Leidekker
e4d19fc47b
msi: Explicitly pass product code and platform to MSIREG_OpenUninstallKey and MSIREG_DeleteUninstallKey.
2011-03-30 13:28:05 +02:00
Hans Leidekker
6ad992c407
msi: Allocate the user token dynamically.
2011-03-30 13:28:05 +02:00
Hans Leidekker
419496d0c8
msi/tests: Allocate the user token dynamically and unify implementations.
2011-03-30 13:28:05 +02:00
Hans Leidekker
c505c0fe98
msi/tests: Get rid of workarounds for win9x test failures.
2011-03-30 13:28:05 +02:00
Hans Leidekker
e82a4896f3
msi: Ignore invalid upgrade codes in the PublishProduct action.
2011-03-30 13:28:05 +02:00
David Hedberg
6771ed40e8
msi: Add support for patching files.
2011-03-29 12:22:34 +02:00
David Hedberg
18973df9c7
msi: Generalize media helpers a bit.
2011-03-29 12:21:58 +02:00
David Hedberg
fed6e5211c
msi: Add an offset to sequence numbers belonging to files added by a patch.
2011-03-29 12:21:49 +02:00
Paul Vriens
abdecfbe17
msi: Only call MSI_RecordGetString() when needed (Coverity).
2011-03-17 17:44:23 +01:00
Francois Gouget
f7f9f5be12
msi: Make get_assembly_record() static.
2011-03-16 14:14:24 +01:00
Francois Gouget
cadd7389db
msi: Small tweak to the usage for readability.
2011-03-16 14:14:23 +01:00
Hans Leidekker
bb40bebd2b
msi: Let the InstallFiles action determine which private assembly files to install.
2011-03-16 14:14:23 +01:00
Hans Leidekker
12135acb70
msi: Skip reference counting for assembly components.
2011-03-16 14:14:23 +01:00
David Hedberg
477702c829
msi: Check other sources if install media not present at last used location.
2011-03-10 15:18:12 +01:00
David Hedberg
599b30833a
msi: Use ordering information to update the correct row.
2011-03-10 15:18:00 +01:00
Hans Leidekker
2df374ac35
msi: Fix a memory leak (valgrind).
2011-03-10 14:10:16 +01:00
Hans Leidekker
888a19c02c
msi: Build the key path from the display name if the component is an assembly.
2011-03-09 12:31:56 +01:00
Hans Leidekker
e292eb121d
msi: Also register components without a key path.
2011-03-09 12:31:53 +01:00
Hans Leidekker
429407cfb6
msi: Assume a file is present if the target exists with the same size and there's no file version or hash to verify.
2011-03-08 12:31:04 +01:00
Hans Leidekker
be790cb0ad
msi: Load media info even if there's no file to install.
2011-03-08 12:30:55 +01:00
Hans Leidekker
4a6c63e24a
msi: Make a second pass to determine which files to install in the InstallFiles action.
...
This is needed because the target path can still change after CostFinalize
is executed. This happens in the .NET 1.1 Service Pack 1 installer where a
custom action calls SetTargetPath.
2011-03-08 12:30:49 +01:00
Hans Leidekker
f1e59351de
msi: Manage one assembly cache per major version of the .NET runtime.
2011-03-07 13:17:46 +01:00
Hans Leidekker
40ad619ac3
msi: Avoid registering duplicate source list information.
2011-03-07 13:17:34 +01:00
Hans Leidekker
659db6e902
msi: Compare keys only in compare_record.
2011-03-07 13:17:29 +01:00
Hans Leidekker
3878c451ca
msi: Reduce filename to the long name in ITERATE_RemoveFiles.
2011-03-07 13:17:25 +01:00
Hans Leidekker
8e5230740a
msi/tests: Check the result of get_system_dirs and get_user_dirs.
2011-03-07 13:17:18 +01:00
Marcus Meissner
8504548037
msi: Pointer to out of scope local variable (Coverity).
2011-03-04 16:26:01 +01:00
Austin English
0a284208bd
msi/tests: Remove win9x hacks.
2011-02-28 13:12:50 +01:00
Paul Vriens
0d01212dac
msi: Add a missing va_end() (Coverity).
2011-02-25 11:08:39 +01:00
Austin English
05126ec247
msi/tests: Remove win9x hacks.
2011-02-25 11:08:22 +01:00
Hans Leidekker
288718d8c3
msi: A custom action dll failing to load is not a fatal error.
2011-02-23 14:58:58 +01:00
Hans Leidekker
178d39ccc5
msi: Fix a trace.
2011-02-22 13:34:33 +01:00
Austin English
7de70a4804
msi/tests: Make sure to use return values (LLVM/Clang).
2011-02-17 17:29:54 +01:00
Austin English
b6bea541db
msi/tests: Remove dead assignments.
2011-02-17 17:29:46 +01:00
Detlef Riekenberg
1c2183a85a
msi/tests: Fix a typo.
2011-02-14 12:28:17 +01:00
Austin English
27dd864f63
msi/tests: Make sure to use a return value (LLVM/Clang).
2011-02-11 14:48:19 +01:00
Austin English
5e92277f97
msi/tests: Don't check return values inside of if(0) (LLVM/Clang).
2011-02-11 14:48:11 +01:00