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
Hans Leidekker
92b5b3fd8c
msi: Preserve existing advertise strings in the PublishComponents action.
2011-02-10 10:28:01 -06:00
Hans Leidekker
ba9f1f770a
msi: Get rid of msi_component_set_state and msi_feature_set_state.
2011-02-10 10:28:01 -06:00
Austin English
a85adf3152
msi/tests: Make sure to use return values (LLVM/Clang).
2011-02-10 09:56:49 -06:00
Austin English
6816aa295e
msi/tests: Make sure to use return values (LLVM/Clang).
2011-02-08 14:46:59 -06:00
Hans Leidekker
b2b4005fe4
msi/tests: Show that a failing call to MsiGetSourcePath(SOURCEDIR) sets the SOURCEDIR property.
2011-02-07 10:17:20 -06:00
Hans Leidekker
b96e5d21c6
msi: Split up resolve_folder.
2011-02-07 10:17:15 -06:00
Hans Leidekker
181beef870
msi: Try harder to remove non-persistent directories.
2011-02-02 14:09:14 +01:00
Hans Leidekker
bf192f6ac9
msi: Handle out-of-memory condition in encode_streamname.
2011-02-01 18:14:09 +01:00
Hans Leidekker
bc13c7eb90
msi: Reset file attributes before removing a file.
2011-02-01 18:14:08 +01:00
Hans Leidekker
08c3d2a5ab
msi: Skip rollback custom actions.
2011-01-27 16:31:45 +01:00
Hans Leidekker
aae1b21092
msi: Initialize a variable in get_patch_product_codes (clang).
2011-01-27 16:31:37 +01:00
Hans Leidekker
eb4e5d6024
msi: Return the correct disk prompt size from MsiSourceListEnumMediaDisksW (clang).
2011-01-27 16:31:32 +01:00
Hans Leidekker
53b5e7f319
msi: Check a return value (clang).
2011-01-27 16:31:25 +01:00
Hans Leidekker
4a7371e32d
msi/tests: Test a return value (clang).
2011-01-27 16:31:19 +01:00
Hans Leidekker
af3733cde5
msi: Use a return value (clang).
2011-01-27 16:31:13 +01:00
Hans Leidekker
e861283a62
msi: Make sure the return value is initialized in save_table (clang).
2011-01-27 16:31:07 +01:00
Hans Leidekker
15f0cc3130
msi: Check the return value of IActiveScript_AddNamedItem (clang).
2011-01-27 16:30:58 +01:00
Hans Leidekker
a84af95d3e
msi/tests: Consistently test return values (clang).
2011-01-27 16:30:53 +01:00
Hans Leidekker
78ce0a7350
msi: Check the return value of fetch_int (clang).
2011-01-27 16:30:48 +01:00
Greg Geldorp
0abf2da022
msi/tests: Check 64-bit reg view if key not present in 32-bit view.
2011-01-27 14:20:35 +01:00
Hans Leidekker
92203f1053
msi: Implement the MsiPublishAssemblies and MsiUnpublishAssemblies standard actions.
2011-01-24 16:04:28 +01:00
Hans Leidekker
3eaf33fff7
msi: Don't interpret assembly name attributes.
2011-01-24 16:04:23 +01:00
Hans Leidekker
167e4eff6d
msi/tests: More tests for publishing and unpublishing assemblies.
2011-01-20 12:23:17 +01:00
Hans Leidekker
701f14801f
msi: Clean up better when removing a product.
2011-01-20 12:23:09 +01:00
Hans Leidekker
8933013b62
msi: Search all contexts in ACTION_GetComponentInstallStates.
2011-01-20 12:23:04 +01:00
Hans Leidekker
3ada9f2c08
msi: Downgrade a warning.
...
Unreferenced files are normal when applying a patch.
2011-01-19 12:32:44 +01:00
Hans Leidekker
34b9e4c20f
msi: Don't ignore disabled components when resolving install states.
...
Otherwise features are not published correctly.
2011-01-19 12:32:39 +01:00
Hans Leidekker
17cc23d365
msi: Free memory on error (valgrind).
2011-01-18 13:23:10 +01:00
Hans Leidekker
e6e454ab16
msi/tests: Accept one more estimated size.
2011-01-13 17:33:10 +01:00
Hans Leidekker
257beae1fd
msi: Fix some memory leaks (valgrind).
2011-01-13 17:26:24 +01:00
Hans Leidekker
d08378a06f
msi: Fix parsing of patch product codes (valgrind).
2011-01-12 14:55:56 +01:00
Hans Leidekker
94f4c0f07d
msi: Fix a memory leak (valgrind).
2011-01-12 14:55:43 +01:00
Hans Leidekker
52f719d18c
msi: Improve detection of installed local assemblies.
2011-01-11 16:05:46 +01:00
Hans Leidekker
6a0801a40a
msi: Don't extract files for assemblies which are already installed.
2011-01-11 16:05:46 +01:00
Hans Leidekker
65581e0e33
msi: Fix detection of installed global assemblies.
2011-01-11 16:05:46 +01:00
Hans Leidekker
0c25649d3e
msi: Add support for comparing TrueType font versions.
2011-01-11 16:05:46 +01:00
Hans Leidekker
f133222d5e
msi/tests: Add a test for MsiGetComponentState.
2011-01-10 10:42:43 +01:00
Hans Leidekker
35bdf01881
msi/tests: Add tests for publishing and unpublishing assemblies.
2011-01-10 10:42:39 +01:00
Hans Leidekker
01286b97e3
msi/tests: Mark a test result on some old Wow64 platforms as broken.
2011-01-06 18:28:52 +01:00
Alexandre Julliard
214ca2c01c
msi: Convert translations to po files.
2011-01-06 16:21:30 +01:00
Greg Geldorp
faf19ec966
msi/tests: Fix remaining Wow64 failures for action test set.
2011-01-04 16:03:02 +01:00
Greg Geldorp
536876afc3
msi/tests: Fix some failures on Wow64.
2011-01-03 14:57:29 +01:00
André Hentschel
648025881f
msi/tests: Don't test function directly when reporting GetLastError().
2010-12-30 15:01:11 +01:00
Hwang YunSong
a0639d004d
msi: Update Korean resource.
2010-12-27 15:39:38 +01:00
Hans Leidekker
6d10216891
msi: Change ACTION_UpdateComponentStates to take a feature pointer.
2010-12-24 15:51:31 +01:00
Hans Leidekker
706b54daa7
msi: Use a function to determine if a feature is selected.
2010-12-24 15:51:25 +01:00
Hans Leidekker
03a3292ffe
msi: Set the install level to the maximum if the requested install state is not the default.
2010-12-24 15:51:14 +01:00
Hans Leidekker
cbf7a1e86e
msi: Set the Preselected property if the default feature selection is modified in a dialog.
2010-12-24 15:50:59 +01:00
Hans Leidekker
05a95f2e92
msi: Remove an incorrect error trace.
2010-12-23 17:45:11 +01:00
Hans Leidekker
6625f07ebf
msi: Don't flag an error in the InstallServices action if the component does not exist.
2010-12-23 17:45:07 +01:00
Hans Leidekker
5f9dd9df1f
msi: Global and local win32 assembly names are formatted differently.
2010-12-23 17:45:01 +01:00
Hans Leidekker
9e30f77568
msi: Add some traces.
2010-12-23 17:44:54 +01:00
Hans Leidekker
489f82e9b4
msi: Rewrite command line parsing to handle quoted values correctly.
2010-12-23 17:44:47 +01:00
Hans Leidekker
7bc7d09109
msi: Return INSTALLSTATE_UNKNOWN from MsiGetComponentState if the component is disabled.
2010-12-23 17:44:35 +01:00
André Hentschel
0e5c2f346d
msi/tests: Remove superfluous check.
2010-12-20 12:47:41 +01:00
Alexandre Julliard
17e66e06d6
msi: Convert the dll registration to the IRegistrar mechanism.
2010-12-17 14:59:49 +01:00
Michael Stefaniuc
24ad5cb68f
msi: Use an iface instead of a vtbl pointer in msi_remote_database_impl.
2010-12-15 13:18:45 +01:00
Michael Stefaniuc
b36f401011
msi: Use an iface instead of a vtbl pointer in msi_remote_package_impl.
2010-12-15 13:18:40 +01:00
Michael Stefaniuc
cb58010118
msi: Use an iface instead of a vtbl pointer in msi_custom_remote_impl.
2010-12-15 13:18:37 +01:00
Michael Stefaniuc
09019ba78a
msi: Use an iface instead of an vtbl pointer in IClassFactoryImpl.
2010-12-15 13:18:12 +01:00
Hans Leidekker
942e2b2ac9
msi: Support MSIRUNMODE_LOGENABLED in MsiGetMode.
2010-12-15 12:02:01 +01:00
André Hentschel
6e9b841216
msi: Fix test failure on some 2k3 machines.
2010-12-13 16:24:10 +01:00
Hans Leidekker
1214dca412
msi/tests: Fix some test failures on Wow64.
2010-12-10 17:09:37 +01:00
Hans Leidekker
973821c775
msi/tests: Avoid a test failure on 64-bit.
2010-12-09 12:17:22 +01:00
Hans Leidekker
b376f41766
msi: Don't try to install or remove ODBC drivers if the component is disabled.
2010-12-09 12:17:12 +01:00
Hans Leidekker
23169289e6
msi: Map neutral parts of package language ids to the system default language id.
2010-12-06 19:05:53 +01:00
Alexandre Julliard
24d2f694cb
msi/tests: Fix a test failure on win2k.
2010-12-03 16:15:13 +01:00
Joris Huizer
d4d7c263cb
msi: Don't leak memory on error path.
2010-12-03 11:04:13 +01:00
Hans Leidekker
ad6b7cd46a
msi: Clear last error on success in MsiQueryFeatureState and MsiQueryProductState.
2010-12-02 12:47:42 +01:00
Hans Leidekker
06505c9a34
msi: Reuse temporary executables.
...
Fixes a custom action in the Office 2010 installer and makes installers
that pack multiple custom actions in an executable faster.
2010-12-02 12:47:41 +01:00
Hans Leidekker
79da91eb7e
msi: Improve the stub implementations of RemoveExistingProducts and MigrateFeatureStates.
2010-11-30 16:21:19 +01:00
Hans Leidekker
09eb7f1eb7
msi: Look for transform files relative to the package directory.
2010-11-30 16:21:13 +01:00
Hans Leidekker
c47ecd1ccc
msi: Always ignore disabled components.
2010-11-30 16:21:01 +01:00
Hans Leidekker
e609bb0453
msi/tests: Fix the scope of todo_wine in the tests for MsiApplyMultiplePatches.
...
These tests succeed on Wine if you run them from a volume for which GetDriveType
returns something other than DRIVE_FIXED, e.g. a ramdisk.
2010-11-26 14:59:35 +01:00
Hans Leidekker
4b5db7a9ac
msi: Always initialize the dialog font list. Convert it to a standard Wine list.
...
Avoids accessing uninitialized memory when the TextStyle table is absent.
2010-11-26 14:59:19 +01:00
Hans Leidekker
967f73eaef
msi: Trace errors from LoadLibraryShim.
2010-11-26 14:59:06 +01:00
Hans Leidekker
1f96b882e9
msi: Fix the Create/RemoveFolders actions to actually create and remove empty folders.
2010-11-26 14:59:02 +01:00
Peter Urbanec
edab173047
msi: Add AMD64 platform definition to support installation of Visual C++ 8.0 redistributable.
2010-11-26 12:15:21 +01:00
Hans Leidekker
a4de41f36b
msi: Install assemblies only if the component action request is set to INSTALLSTATE_LOCAL.
2010-11-18 12:37:04 +01:00
Hans Leidekker
c3adb72820
msi: Add support for importing and exporting the special _ForceCodepage table.
2010-11-17 14:01:13 +01:00
Hans Leidekker
18c55dee35
msi: Improve tracing in MsiQueryFeatureStateW.
2010-11-17 14:01:12 +01:00
Hans Leidekker
a74e025335
msi: Fix handling of an empty language id list in msi_parse_summary.
2010-11-17 14:01:12 +01:00
Hans Leidekker
b07ea863d2
msi: Trace the reinstall mode in hex in MsiReinstallFeatureW.
2010-11-17 14:01:12 +01:00
Hans Leidekker
c3030532d4
msi: Forward MsiInstallMissingComponentA to MsiInstallMissingComponentW.
2010-11-16 11:48:20 +01:00
Hans Leidekker
6d13e2fd4b
msi: Components don't require a key path.
2010-11-16 11:48:14 +01:00
Hans Leidekker
7cd084d041
msi: Honor msidbComponentAttributesPermanent.
2010-11-16 11:48:08 +01:00
Hans Leidekker
b1b3252963
msi: Check component attributes before extracting the cabinet.
2010-11-16 11:48:04 +01:00
Paul Vriens
e21115187e
msi/tests: Cleanup properly on Win9x.
2010-11-15 13:20:06 +01:00
Hans Leidekker
9d46ba417e
msi: Don't use a temporary directory for local assemblies.
2010-11-12 16:59:24 +01:00
Hans Leidekker
19a2d144b5
msi: Don't rebuild the target path for files from global assembly components.
2010-11-12 15:43:21 +01:00
Hans Leidekker
b112d77126
msi: Honor msidbComponentAttributesNeverOverwrite.
2010-11-12 15:43:17 +01:00
Hans Leidekker
a23514eece
msi: Add support for installing side-by-side assemblies.
2010-11-11 12:23:06 +01:00
Hans Leidekker
3faddc21b3
msi: Calculate file install states after evaluating component conditions, not before.
2010-11-11 12:22:50 +01:00
Hans Leidekker
fa9757bd73
msi: Put quotes around the filename in MsiApplyPatch.
2010-11-11 12:22:43 +01:00
Hans Leidekker
8fd47bbef7
msi: Remove redundant function msi_find_file.
2010-11-11 12:22:35 +01:00
Hans Leidekker
9ae062f63e
msi: MsiGet/SetFeatureState must get and set the requested feature action, not the action taken.
2010-11-11 12:22:27 +01:00
André Hentschel
384b95533d
msi: Downgrade an error.
2010-11-09 11:44:14 +01:00
Hans Leidekker
54a61744e0
msi: Features don't require a directory.
2010-11-05 17:15:34 +01:00
Paul Vriens
a3c21e7145
msi: Update Serbian (Latin and Cyrillic) translations.
...
Translation by Đorđe Vasiljević.
2010-11-04 16:19:36 +01:00
Hans Leidekker
5871ad6d00
msi: Revert 3cd55cc916
.
...
It breaks the Office 2003 installer.
2010-11-03 16:06:43 +01:00
Hans Leidekker
ee7d8547b6
msi: Downgrade some warnings.
2010-11-03 16:06:21 +01:00
Hans Leidekker
566e67a491
msi: Components don't require a key path.
2010-11-03 16:06:17 +01:00
Hans Leidekker
aef0aa30fd
msi: Don't crash if there is no feature parent.
2010-11-03 16:06:12 +01:00
Hans Leidekker
ced35838ea
msi: An inactive dialog control does not require a property.
2010-10-26 15:24:46 +02:00
Hans Leidekker
f3e7ed44f1
msi: Open the log file once per package.
2010-10-26 15:24:40 +02:00
Hans Leidekker
29ee65402b
msi: Open the log file in shared write mode.
2010-10-26 15:24:33 +02:00
Aleksey Bragin
8c5718ec9d
msi: Fix freed memory access and fix freeing of invalid pointer.
2010-10-22 19:05:12 +02:00
Hans Leidekker
031c70c965
msi: Register service arguments in the InstallServices action.
2010-10-22 12:07:00 +02:00
Hans Leidekker
7f5204e1bc
msi: Register service dependencies in the InstallServices action.
2010-10-22 12:06:54 +02:00
Hans Leidekker
7a460eba71
msi: The LoadOrderGroup, StartName and Password fields from the ServiceInstall table are formatted strings.
2010-10-22 12:06:49 +02:00
Hans Leidekker
d7dbb7e08d
msi: Register the service description in the InstallServices action.
2010-10-22 12:06:44 +02:00
Hans Leidekker
5a0a53820a
msi/tests: Add tests for msidbFeatureAttributesUIDisallowAbsent.
2010-10-22 12:06:39 +02:00
Hans Leidekker
ded22a58c0
msi: Don't inline msi_feature_set_state and msi_component_set_state.
2010-10-22 12:06:33 +02:00
Hans Leidekker
eaa57c5b7b
msi: Compare strings without depending on thread locale.
2010-10-19 13:49:54 +02:00
Trygve Vea
6cb9f6ff2b
msi: Updated Norwegian translation.
2010-10-18 11:45:58 +02:00
Hans Leidekker
8db3c0e358
msi/tests: Move test coverage for standard actions to a separate module.
2010-10-14 17:54:52 +02:00
Hans Leidekker
9cc4b0caae
msi/tests: Don't create a nested restore point on recent versions of MSI.
...
We now set the MSIFASTINSTALL property which disables restore points.
2010-10-13 15:52:58 +02:00
Hans Leidekker
5d0a6b0004
msi: Store action data for deferred rollback actions too.
2010-10-13 15:52:38 +02:00
Hans Leidekker
7404e64373
msi: A commit or rollback custom action can be a deferred action at the same time.
2010-10-13 15:52:33 +02:00
Hans Leidekker
59d6dcfddd
msi: Put keys from 32-bit packages starting with HLKM\Software under Wow6432Node on 64-bit.
2010-10-13 15:52:27 +02:00
Hans Leidekker
43a680a155
msi: Register class ids from 32-bit packages under Wow6432Node on 64-bit.
2010-10-13 15:52:19 +02:00
Hans Leidekker
0df4712658
msi/tests: Reduce the UI level for a couple of tests.
...
This makes the tests run faster because native only creates restore points
for installers with a basic UI level and higher.
2010-10-11 17:11:27 +02:00
Hans Leidekker
eafebe0f7d
msi/tests: Set the MSIFASTINSTALL property.
...
On recent versions of msi this prevents the creation of a system restore
point, which can take a very long time.
2010-10-11 17:11:27 +02:00
Hans Leidekker
5709fab04c
msi/tests: Fix some test failures on 64-bit.
2010-10-11 17:11:26 +02:00
Hans Leidekker
cf6e820106
msi: Allocate 3 bytes instead of 2 for in-memory string references.
...
Fixes an installer that stores string references as 2 byte integers and
grows the number of strings beyond the limit of 64k during installation.
2010-10-11 17:11:26 +02:00
Hans Leidekker
b719338433
msi/tests: Use a different product code in the automation tests.
2010-10-11 17:11:26 +02:00
Hans Leidekker
3d33fb93cc
msi/tests: Determine Wow64 mode just once.
2010-10-11 17:11:26 +02:00
Hans Leidekker
9e166a9690
msi/tests: Fix some test failures on 64-bit.
2010-10-06 20:46:37 +02:00
Hans Leidekker
3cd55cc916
msi Set the feature action to INSTALLSTATE_UNKNOWN if msidbFeatureAttributesUIDisallowAbsent is set.
2010-10-06 20:46:34 +02:00
Hans Leidekker
85874c07b9
msi: Look at the requested action instead of the action taken in MSI_SetFeatureStates.
2010-10-06 20:46:32 +02:00
Hans Leidekker
a9c3195eb8
msi: Add package validation tests.
2010-10-06 20:46:30 +02:00
Hans Leidekker
ca7cd1bf89
msi: Validate packages based on supported version, platform and languages.
2010-10-06 20:46:27 +02:00
Hans Leidekker
8bc9a499d1
msi: Remove a potentially noisy trace.
2010-10-06 16:22:26 +02:00
Hans Leidekker
52aab76eb2
msi: Put the uninstall key for 32-bit packages under Wow6432Node on 64-bit.
2010-10-05 17:50:16 +02:00
Andrew Eikum
f62439c0d4
msi/tests: Fix copy-paste errors in tests.
2010-10-01 17:48:11 +02:00
Hans Leidekker
dfc9351ba4
msi: Set more 64-bit properties.
2010-10-01 17:48:10 +02:00
Hans Leidekker
ddbf3c754e
msi: Remove an unnecessary warning.
2010-10-01 17:48:10 +02:00
Alexandre Julliard
d1d1d0205d
msi/tests: Make some variables static.
2010-10-01 13:36:43 +02:00
Alexandre Julliard
b4109a079f
msi/tests: Fix a test failure on 64-bit.
2010-09-30 17:51:17 +02:00
Alexandre Julliard
9fe16f8ae9
msi/tests: Avoid corrupting the pending file renames key on failure.
2010-09-30 17:51:17 +02:00
Hans Leidekker
259b5fdfa6
msi: Treat empty string as NULL in MsiGetSummaryInformationW.
2010-09-29 10:09:31 +02:00
Hans Leidekker
2b2fa04ca4
msi: Always check the return value of msi_string2idW.
2010-09-29 10:09:23 +02:00
Hans Leidekker
fbf45bae04
msi: Use more descriptive variable names for installer properties.
2010-09-27 14:10:45 +02:00
Lauri Kenttä
57a64040e3
msi: Update Finnish translation.
2010-09-24 18:21:19 +02:00
Hans Leidekker
cce01d98e7
msi: Set some missing system folder properties.
2010-09-24 18:21:07 +02:00
Hans Leidekker
337fb86c3b
msi: Use binary search to find the insert index for a row.
2010-09-24 18:21:03 +02:00
Hans Leidekker
e58a67e9cd
msi: Avoid accessing memory before the left hand string in compare_substring.
2010-09-24 18:20:52 +02:00
Hans Leidekker
c5ef45e5ef
msi: A progid without a class is not an error.
2010-09-24 18:20:41 +02:00
Hans Leidekker
d59c99067a
msi/test: Add tests for MsiGetFeatureState.
2010-09-24 18:20:36 +02:00
Hans Leidekker
d56d0d98a3
msi: Remove unused field from MSICOMPONENT structure.
2010-09-24 18:20:32 +02:00
Paul Vriens
3d6a57a494
msi/tests: Prevent a popup on Windows NT.
2010-09-20 13:57:45 +02:00
Hans Leidekker
39d6b6eb70
msi: Handle fdintNEXT_CABINET and fdintPARTIAL_FILE for cabinet streams.
2010-09-20 13:48:12 +02:00
Alexandre Julliard
81b8ee863e
makefiles: Add a standard header for all makefiles to replace the common variable initializations.
2010-09-19 12:36:48 +02:00
Hans Leidekker
a0ebe951b6
msi: Read supported platform and language ids from the summary information stream.
2010-09-18 13:06:28 +02:00
Hans Leidekker
3ef3e81f9e
msi: Avoid a crash on database destruction.
2010-09-18 13:06:21 +02:00
Hans Leidekker
931bf05731
msi: Adjust the AdminUser property too after applying a patch.
2010-09-18 13:06:17 +02:00
Hans Leidekker
7e9d50a122
msi: Avoid pointer truncation in MSI_ViewFetch and MSI_ViewModify.
2010-09-13 10:59:18 -05:00
Paul Vriens
75c5484174
dlls: Fix some specfiles with respect to 'str' and 'wstr' usage.
2010-09-09 14:57:44 +02:00
Hans Leidekker
4a5b2abcf4
msi/tests: Fix some test failures on 64-bit.
2010-09-08 19:51:00 +02:00
Hans Leidekker
f6e26351d5
msi: Open relocated package database in transacted mode.
2010-09-08 19:50:37 +02:00
Hans Leidekker
d8b5879798
msi: Fix comparison of table ids in TABLE_Exists.
2010-09-08 19:50:15 +02:00
Francois Gouget
b66eb177af
msi/tests: Fix compilation on systems that don't support nameless unions or structs.
2010-09-07 16:01:39 +02:00
Hans Leidekker
2fb648c04f
msi/tests: Add tests for 64-bit properties.
2010-09-02 18:05:22 +02:00
Hans Leidekker
d2f1074725
msi: Set the System64Folder property on 64-bit.
2010-09-02 18:05:22 +02:00
Hans Leidekker
3730300a29
msi: Set the MsiAMD64 and Msix64 properties on 64-bit.
2010-09-02 18:05:22 +02:00
Hans Leidekker
18ebf2c576
msi: Return an error from MsiDatabaseGetPrimaryKeys if the table does not exist.
2010-09-02 18:05:22 +02:00
Hans Leidekker
0032706564
msi: Add stub implementations of MsiBeginTransaction and MsiEndTransaction.
2010-09-02 18:05:22 +02:00
Hans Leidekker
dd7514a38d
msi: Move database initialization to a separate function.
2010-08-27 12:08:33 +02:00
Hans Leidekker
eef54ffe6b
msi: Open the database storage in transacted mode when MSIDBOPEN_CREATE or MSIDBOPEN_TRANSACT is specified.
2010-08-27 12:08:29 +02:00
Hans Leidekker
d411c49dd1
msi/tests: Fix a WoW64 test failure.
2010-08-27 12:08:22 +02:00
Hans Leidekker
44b15b061b
msi: Create the product key if necessary in msi_publish_patches.
...
Fixes a regression caused by c9fb24927d
.
2010-08-27 12:08:16 +02:00
Hans Leidekker
137dfbe80a
msi/tests: Use a different product code in the package tests to avoid cascading test failures.
2010-08-27 12:08:08 +02:00
Hans Leidekker
378bb21f8e
msi: Bump version to 4.5.
2010-08-18 15:31:25 +02:00
Hans Leidekker
5d85497a15
msi: Handle signature filenames in short|long notation.
2010-08-18 15:31:18 +02:00
Hans Leidekker
0c044c10d0
msi/tests: Skip SourceDir tests on win9x.
2010-08-18 15:30:49 +02:00
Hans Leidekker
7c89d4f28f
msi/tests: Use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE for registry tests.
...
Works around test failures on 64-bit Windows where MsiInstallProduct
returns success even though the registry keys specified in the
Registry table are not created.
2010-08-18 15:30:43 +02:00
Hans Leidekker
4102156e0f
msi/tests: Fix some WoW64 test failures.
2010-08-18 15:30:28 +02:00
André Hentschel
428e8a5a01
msi: Prevent cryptic error.
2010-07-30 11:36:01 +02:00
Hans Leidekker
33b6ad7f73
msi/tests: Skip tests if UAC is enabled and the process is not running elevated.
2010-07-26 18:38:31 +02:00
Hans Leidekker
9686c95749
msi/tests: Skip a test if the current user has insufficient rights.
2010-07-26 18:38:31 +02:00
Hans Leidekker
c2c98ae0c2
msi: Synchronize the spec file with version 5.0.
2010-07-23 11:46:23 +02:00
Hans Leidekker
64eec8f9fa
msi: Register dlls directly in the SelfRegModules and SelfUnregModules actions.
2010-07-23 11:46:16 +02:00
Hans Leidekker
bdda3b950c
msi: Warn if a transform file cannot be opened.
2010-07-23 11:46:10 +02:00
Hans Leidekker
2b0c45674f
msi: Add some tests for MsiGetSourcePath.
2010-07-23 11:46:06 +02:00
Hans Leidekker
bd634c0491
msi: Set/unset the SourceDir property at the right stage in the execution sequence.
2010-07-23 11:46:01 +02:00
Hans Leidekker
ad971803da
msi: Never defer standard actions.
2010-07-23 11:45:49 +02:00
Hans Leidekker
ac924566fb
msi/tests: Properly contruct the icon path for win9x.
2010-07-23 11:45:44 +02:00
Hans Leidekker
148887082c
msi/tests: Initialize a string buffer and fix some leaks.
2010-07-23 11:45:39 +02:00
Hans Leidekker
bb5ab26720
msi: Fix a memory leak.
2010-07-23 11:45:35 +02:00
Hans Leidekker
c4bf9fb710
msi/tests: Fix some more wow64 test failures.
2010-07-22 16:10:42 +02:00
Hans Leidekker
c4511481db
msi/tests: Avoid a long timeout in the test for DeleteServices.
2010-07-22 16:10:29 +02:00
Hans Leidekker
10a32a0b7a
msi/tests: Skip tests when the current user has insufficient rights.
2010-07-22 16:10:19 +02:00
Hans Leidekker
dad50e3aa0
msi/tests: Return an error code from helper_createpackage and package_from_db.
2010-07-22 16:09:56 +02:00
Hans Leidekker
21d09ffb43
msi/tests: Fix test failures on wow64.
2010-07-22 16:09:43 +02:00
Hans Leidekker
d8b7a2099e
msi: Downgrade a warning.
2010-07-22 16:09:14 +02:00
Hans Leidekker
06afeec2a5
msi: Make sure properties are updated after applying a patch.
2010-07-22 16:09:09 +02:00
Michael Stefaniuc
7e037305d6
msi: Remove the ignored common resource attributes.
2010-07-22 11:41:40 +02:00
Alexandre Julliard
b86d515ed6
dlls: Remove explicit imports of kernel32 and ntdll.
2010-07-21 17:38:36 +02:00
Hans Leidekker
d99b6d3934
msi: Properly advance the patch pointer in msi_check_product_patches.
...
Fixes patch enumeration when multiple patches are registered for a given product.
2010-07-21 13:24:01 +02:00
Hans Leidekker
409e2d7105
msi/tests: Double null-terminate a REG_MULTI_SZ string.
2010-07-21 13:24:01 +02:00
Hans Leidekker
3929369611
msi: Remove a fixme that no longer applies.
2010-07-21 13:24:01 +02:00
Hans Leidekker
d10208e863
msi: Improve traces in db_get_raw_stream.
2010-07-21 13:24:00 +02:00