Commit Graph

3278 Commits

Author SHA1 Message Date
Hans Leidekker f08c355e09 msi: Add beginnings of a test module that concentrates on patches. 2010-04-19 14:57:35 +02:00
Hans Leidekker 8f53405544 msi: Remove the string index parameter from msi_addstringW. 2010-04-19 14:57:02 +02:00
Hans Leidekker fc15e565d3 msi: Make the name parameter of create_storage and create_stream constant. 2010-04-19 14:56:58 +02:00
Hans Leidekker 111d33b393 msi: Remove unused and redundant name field from STORAGE structure. 2010-04-19 14:56:53 +02:00
Hans Leidekker 109ffd0f97 msi: Make the string reference count a short.
This is safe because the reference count is stored in 2 bytes on disk.

(This is commit ff2f894888 reapplied
because of incorrect revert in 88214a72ce).
2010-04-14 18:00:39 +02:00
Hans Leidekker 33299faae4 msi: Move application of substorage transforms out of msi_parse_patch_summary. 2010-04-13 11:48:30 +02:00
Hans Leidekker bcc0ad9b07 msi: Release summary information on error in msi_parse_patch_summary. 2010-04-13 11:48:25 +02:00
Hans Leidekker a0ba56b3bd msi/tests: Run the RemoveODBC action to unregister the fake drivers. 2010-04-13 11:48:20 +02:00
Hans Leidekker 88214a72ce msi: Make the string reference count a short.
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:48:14 +02:00
Hans Leidekker ff2f894888 msi: Make the string reference count a short.
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:46:14 +02:00
Detlef Riekenberg d4303865e8 msi: Display a MessageBox in MsiMessageBoxEx. 2010-04-12 11:31:12 +02:00
Paul Vriens 55fbf84d26 msi/tests: Remove temporary files. 2010-04-09 11:53:58 +02:00
Hans Leidekker dd1bef3498 msi: Reset the MsiEnumPatchesExW index on failure. 2010-04-02 15:22:50 +02:00
Hans Leidekker 7aad77ae58 msi: Add tests for registering and unregistering MIME info. 2010-04-02 15:22:49 +02:00
Hans Leidekker 3050cde95e msi: Implement the UnregisterMIMEInfo standard action. 2010-04-02 15:22:49 +02:00
Hans Leidekker a7ef96f97f msi: Add tests for registering and unregistering extension info. 2010-04-02 15:22:49 +02:00
Hans Leidekker 17d7effd2a msi: Implement the UnregisterExtensionInfo standard action. 2010-04-02 15:22:49 +02:00
Hans Leidekker 3bdfa1f624 msi: Implement the UnregisterProgIdInfo standard action. 2010-04-02 15:22:48 +02:00
Hans Leidekker 90158af2dc msi: Add tests for registering and unregistering class info. 2010-04-02 15:22:48 +02:00
Hans Leidekker cf75d40dad msi: Set the action taken in the RegisterExtensionInfo and RegisterClassInfo actions. 2010-04-02 15:22:48 +02:00
Hans Leidekker 843968c056 msi: Implement the UnregisterClassInfo standard action. 2010-04-02 15:22:47 +02:00
Mikhail Maroukhine 86f76d2b48 msi: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:14:44 +02:00
Mikhail Maroukhine f930c87fd6 objbase.h: CLSIDFromString: Add constness to the parameters declaration in accordance with MSDN. 2010-03-29 12:11:02 +02:00
Hans Leidekker 5a08c9ed6f msi: Improve the SetODBCFolders action stub. 2010-03-26 15:35:37 +01:00
Hans Leidekker 2c5e1f686b msi: Implement the Reinstall control event. 2010-03-26 15:35:32 +01:00
Hans Leidekker e5869d5d5c msi: Keep source directory and cabinet file separate. 2010-03-26 15:35:24 +01:00
Hans Leidekker 1407f1ee36 msi: Return the right error when a cabinet cannot be extracted. 2010-03-26 15:35:20 +01:00
Hans Leidekker 129161fec5 msi: Update the UI in the StartServices and StopServices actions. 2010-03-26 15:35:17 +01:00
Alexandre Julliard 4a88562ec7 msi: Reset the MsiEnumProductsW index on failure. 2010-03-26 15:34:48 +01:00
Paul Vriens d495fa1e68 msi/tests: Fix test failures on W2K with Windows Installer 3.0. 2010-03-25 13:01:29 +01:00
Paul Vriens 114aa43a54 msi/tests: Fix test failures on W2K with Windows Installer 2.x. 2010-03-25 13:01:24 +01:00
Paul Vriens 05d0787d08 msi/tests: Fix test failures on W2K with Windows Installer 2.x. 2010-03-24 21:53:05 +01:00
Hans Leidekker 1d453a1ff0 msi: Search network sources in addition to disk sources. 2010-03-23 13:24:27 +01:00
Hans Leidekker faf750f2f7 msi: Remove stream from streams cache before destroying it. 2010-03-23 13:24:27 +01:00
Hans Leidekker 367c2048a1 msi: Don't crash on null last parameter in MsiDecomposeDescriptor. 2010-03-23 13:24:27 +01:00
Hans Leidekker d0856c0ac5 msi: Display REG_EXPAND_SZ values too in the WriteRegistryValues action. 2010-03-23 13:24:26 +01:00
Hans Leidekker 18a85caa3c msi: Update the UI in the UnpublishFeatures action. 2010-03-23 13:24:26 +01:00
Hans Leidekker 706c4f77e8 msi: Implement a second cabinet extractor on top of IStream and use it to extract embedded cabinets.
Currently a cabinet stream is read into memory and then written to a file,
which is then extracted like an external cabinet file. This uses more time
and disk space than necessary and fails if the cabinet is too large to fit
into memory.
2010-03-23 13:24:26 +01:00
Hans Leidekker 27e90274b5 msi: Set the action taken in the ProcessComponents and InstallFiles actions. 2010-03-23 13:24:26 +01:00
Hans Leidekker 8722d0c44a msi: The AppSearch and CCPSearch actions must be run only once. 2010-03-23 13:24:26 +01:00
Hans Leidekker a4be941df9 msi: Display the file identifier instead of the filename in the SelfRegModules and SelfUnregModules actions. 2010-03-23 13:24:26 +01:00
Paul Vriens ba51763f4a msi/tests: Remove temporary files. 2010-03-22 10:42:48 +01:00
Alexandre Julliard fbef7217b9 makefiles: Remove the no longer needed explicit dependencies for bison files. 2010-03-16 13:28:24 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Nikolay Sivov 5c6de7957e msi: Convert IWineMsiRemoteDatabase BSTR parameters to LPCWSTR to avoid typecast. 2010-03-15 14:18:06 +01:00
Paul Vriens e5c182f0df msi/tests: Remove a key after running tests. 2010-03-15 13:17:38 +01:00
Hans Leidekker 73d316c58d msi: Also update the UI when removing files listed in the RemoveFiles table. 2010-03-05 13:14:46 +01:00
Hans Leidekker ab9a181326 msi: Update the UI in the RegisterUser action. 2010-03-05 13:14:41 +01:00
Hans Leidekker 4341f18c7e msi: Update the UI in the RegisterProduct action. 2010-03-05 13:14:36 +01:00
Hans Leidekker c547fb3629 msi: Display the product code in the PublishProduct action. 2010-03-05 13:14:32 +01:00
Hans Leidekker e90fbf09c7 msi: Update the UI in the MsiPublishAssemblies action. 2010-03-05 13:14:27 +01:00
Hans Leidekker a358c7f6d4 msi: Update the UI in the MoveFiles action. 2010-03-05 13:14:23 +01:00
Hans Leidekker aba6afc85e msi: Move the implementation of the MoveFiles action to files.c. 2010-03-05 13:14:19 +01:00
Hans Leidekker a5549305de msi: Update the UI in the RemoveODBC action. 2010-03-05 13:14:11 +01:00
Hans Leidekker eff0503f64 msi: Update the UI in the InstallODBC action. 2010-03-05 13:14:06 +01:00
Hans Leidekker bb9451adae msi: Display the product code in the FindRelatedProducts action. 2010-03-05 13:14:01 +01:00
Hans Leidekker 2666294f64 msi: Properly update the UI in the DuplicateFiles and RemoveDuplicateFiles actions. 2010-03-05 13:13:57 +01:00
Hans Leidekker 3c36d9d1f9 msi: Update the UI in the DeleteServices action. 2010-03-05 13:13:52 +01:00
Hans Leidekker a70d86d3c9 msi: Display directory identifier instead of the full path in the CreateFolders action. 2010-03-05 13:13:47 +01:00
Hans Leidekker 868e6f2bc8 msi: Update the UI in the AppSearch action. 2010-03-05 13:13:42 +01:00
Hans Leidekker 31d0664ebd msi: Update the UI in the AllocateRegistrySpace action. 2010-03-05 13:13:37 +01:00
Hans Leidekker 353035fadd msi: Initialize a couple of variables.
Found by Valgrind.
2010-03-04 12:30:29 +01:00
Hans Leidekker aaf5ffb2b5 msi: Add tests for removing environment strings. 2010-03-03 15:23:28 +01:00
Hans Leidekker f62211198a msi: Implement the RemoveEnvironmentStrings standard action. 2010-03-03 15:23:23 +01:00
Hans Leidekker 7b6858546c msi: Strip leading text style label from control text before lookup in binary table. 2010-03-03 15:23:15 +01:00
Andrew Nguyen 0270f18e11 msi: Correctly set the process working directory in custom action type 34. 2010-03-03 11:52:37 +01:00
Hans Leidekker 75ec82bbaf msi: Add tests for removing values from .ini files. 2010-03-02 16:12:23 +01:00
Hans Leidekker b891d0888a msi: Implement the RemoveIniValues standard action. 2010-03-02 16:12:17 +01:00
Hans Leidekker 1fe30e0015 msi: Skip the FindRelatedProducts action when product is already installed. 2010-03-02 16:12:08 +01:00
Hans Leidekker e637839a83 msi: Improve a trace. 2010-03-02 16:11:57 +01:00
Hans Leidekker 6c6b2a7a18 msi: Look at the requested action when publishing assemblies, not the action taken. 2010-03-02 16:11:53 +01:00
Hans Leidekker ff3ed5f051 msi: Look at the requested action when moving files, not the action taken. 2010-03-02 16:11:49 +01:00
Hans Leidekker c13d84fffc msi: Look at the requested action when deleting services, not the action taken. 2010-03-02 16:11:44 +01:00
Hans Leidekker 2d3676d912 msi: Look at the requested action when stopping services, not the action taken. 2010-03-02 16:11:40 +01:00
Hans Leidekker 87448dcaeb msi: Look at the requested action when installing services, not the action taken. 2010-03-02 16:11:36 +01:00
Hans Leidekker c8308ef99d msi: Only create environment strings when the component is set to be installed. 2010-03-02 16:11:31 +01:00
Hans Leidekker a64372ca44 msi: Improve a trace. 2010-03-02 16:11:24 +01:00
Hans Leidekker 930b5e1c68 msi: The table for isolated components is called IsolatedComponent. 2010-02-26 14:20:53 +01:00
Hans Leidekker fd5887e5a9 msi: Remove empty directories as part of the RemoveFiles action. 2010-02-26 14:20:48 +01:00
Hans Leidekker b2c8f35107 msi: Add tests for removing registry values. 2010-02-25 16:00:58 +01:00
Hans Leidekker 342f866044 msi: Implement the RemoveRegistryValues standard action. 2010-02-25 16:00:51 +01:00
Hans Leidekker 5c59617121 msi: Add tests for creating and removing duplicate files. 2010-02-23 13:31:04 +01:00
Hans Leidekker 253a7fa73c msi: Implement the RemoveDuplicateFiles standard action. 2010-02-23 13:31:01 +01:00
Hans Leidekker 587e107398 msi: Allocate sufficient memory in ITERATE_InstallODBCDriver and ITERATE_InstallODBCTranslator.
Found by Valgrind.
2010-02-22 13:15:22 +01:00
Hans Leidekker a620a84f4c msi/tests: Free exception information.
Found by Valgrind.
2010-02-22 13:15:16 +01:00
Hans Leidekker ba090ede7b msi: All stream names starting with 0x0005 are unencoded.
Fixes a regression caused by 1ff9923148.
2010-02-22 13:15:09 +01:00
Hans Leidekker ec5ae81c8d msi: Make msi_reset_folders static. 2010-02-22 13:14:35 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Hans Leidekker 1ff9923148 msi: Add summary information stream to the streams table. 2010-02-19 13:06:53 +01:00
Hans Leidekker ddb2091623 msi: Fix a memory leak. 2010-02-19 13:06:46 +01:00
Hans Leidekker 9f68142118 msi: Encode stream name in the callers of db_get_raw_stream. 2010-02-19 13:06:41 +01:00
Hans Leidekker d9e40b8219 msi: Destroy streams cache when applying a transform. 2010-02-19 13:06:36 +01:00
Hans Leidekker f80f1cc2db msi: Accept '\5' and '-' in SQL identifiers. 2010-02-19 13:06:32 +01:00
Hans Leidekker f4bcb105d2 msi: Include run mode in fixmes. 2010-02-19 13:06:27 +01:00
Hans Leidekker 65c68efc8d msi: Implement MSIRUNMODE_MAINTENANCE and MSIRUNMODE_REBOOTATEND for MsiGetMode. 2010-02-18 14:39:11 +01:00
Hans Leidekker a11882fc0f msi: Implement MsiSetMode. 2010-02-18 14:39:06 +01:00
Hans Leidekker 7b660bb3d8 msi: Add tests for publishing and unpublishing components. 2010-02-17 10:57:45 +01:00
Hans Leidekker 0f0e81d14a msi: Implement the UnpublishComponents standard action. 2010-02-17 10:57:40 +01:00
Hans Leidekker d95e3eb4d2 msi: PublishComponents must look at the requested install state of the feature, not the component. 2010-02-17 10:57:35 +01:00
Hans Leidekker 9cbb80d984 msi: Only run the CreateFolder and RemoveFolder actions when the component is set to be installed or removed, respectively. 2010-02-16 12:29:08 +01:00
Hans Leidekker c32d9d7004 msi: Get rid of ACTION_VerifyFeatureForAction. 2010-02-16 12:29:01 +01:00
Hans Leidekker 598c542607 msi: Get rid of ACTION_VerifyComponentForAction. 2010-02-16 12:28:56 +01:00
Hans Leidekker 54391a11c0 msi: Update the UI when registering or unregistering type libraries. 2010-02-16 12:28:48 +01:00
Hans Leidekker 438ad93b22 msi: Implement and test MsiGetPatchInfoA/W. 2010-02-15 16:36:39 +01:00
Hans Leidekker b4bdfe6746 msi: Add tests for creating and removing shortcuts. 2010-02-15 12:20:02 +01:00
Hans Leidekker 2276c291fc msi: Implement the RemoveShortcuts standard action. 2010-02-15 12:20:02 +01:00
Paul Vriens 983cff23fa msi/tests: Fix a test failure on Win9x/WinMe. 2010-02-12 16:39:39 +01:00
Hans Leidekker f7879b43d5 msi: Fix a memory leak in ITERATE_StartService.
Found by Valgrind.
2010-02-12 14:49:38 +01:00
Hans Leidekker 82d50fa675 msi: Return the right error from ITERATE_RegisterTypeLibraries. 2010-02-12 14:49:38 +01:00
Hans Leidekker 98761037ab msi: Implement the UnregisterTypeLibraries standard action. 2010-02-12 14:49:38 +01:00
Hans Leidekker bbfaf6af75 msi: Add tests for installing and removing ODBC drivers. 2010-02-11 14:38:45 +01:00
Hans Leidekker 28bf8e1f0d msi: Implement the RemoveODBC standard action. 2010-02-11 14:38:45 +01:00
Hans Leidekker 2568e5ec65 msi: Make sure attrs variable is properly double nul-terminated in ITERATE_InstallODBCDataSource. 2010-02-11 14:38:45 +01:00
Hans Leidekker 4742dfba98 msi: The File_Setup field in the ODBCDriver and ODBCTranslator tables is optional. 2010-02-11 14:38:45 +01:00
Paul Vriens 312e4f6b23 msi/tests: Run the 'in_use' tests again. 2010-02-10 17:31:28 +01:00
Hans Leidekker 068cb1291b msi: Add a partial implementation of the ValidateProductID standard action. 2010-02-10 14:31:49 +01:00
Hans Leidekker 7331b3ca98 msi: Implement the UnregisterFonts standard action. 2010-02-10 14:31:15 +01:00
Hans Leidekker 5df62d0c42 msi: Add stub implementations of the DisableRollback and InstallAdminPackage standard actions. 2010-02-10 14:31:05 +01:00
Alexandre Julliard 9644d1dcd7 makefiles: Generate a general catch-all dependency on .tab.h files to replace the manually maintained ones. 2010-02-08 20:58:00 +01:00
Hans Leidekker f5af1ca399 msi: Implement the SelfUnregModules standard action. 2010-02-05 15:33:11 +01:00
Hans Leidekker 3864ddf9f2 msi: Implement the RemoveFolders standard action. 2010-02-05 15:33:05 +01:00
Marcus Meissner 5c4a3bd61b msi: Handle some error returns (Coverity). 2010-02-04 17:27:34 +01:00
Marcus Meissner 9fab263d39 msi: Call Custom function via wrapper. 2010-02-04 14:06:34 +01:00
Hans Leidekker b9da31f112 msi: Implement the DeleteServices standard action. 2010-02-04 13:39:29 +01:00
Hans Leidekker 3d38c07706 msi: Add tests for the _Streams table implementation. 2010-02-04 13:39:29 +01:00
Hans Leidekker 19b50cff34 msi: Fix an off-by-one error in STREAMS_find_matching_rows. 2010-02-04 13:39:29 +01:00
Hans Leidekker 95a21c27da msi: Give the Name field from the _Streams table a valid type. 2010-02-04 13:39:29 +01:00
Hans Leidekker 24dd10c6b0 msi: Make room for the new row in STREAMS_insert_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker c1940c1c5f msi: Allow overwriting an existing stream in STREAMS_set_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker dcbe0fdff2 msi: Encode the stream name before trying to open it. 2010-02-04 13:39:28 +01:00
Hans Leidekker b833ae0263 msi: Improve error handling in STREAMS_set_row and add_streams_to_table. 2010-02-04 13:39:28 +01:00
Hans Leidekker 5741df2e58 msi: Implement STREAMS_get_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker 74d6fe35a2 msi: Remove unused and redundant name field from STREAM structure. 2010-02-04 13:39:28 +01:00
Juan Lang aafcf1a536 msi: Remove function name from fixme. 2010-02-04 13:39:28 +01:00
Michael Stefaniuc 643f55abab msi: Don't print the function name twice in a WARN. 2010-02-04 13:39:28 +01:00
André Hentschel 06e15ee9e6 msi: Copy InstallerImpl_LastErrorRecord to use it for DatabaseImpl. 2010-02-04 13:39:26 +01:00
Hans Leidekker 9a0020ade9 msi: Move some helpers to the module where they are used. 2010-02-03 11:31:48 +01:00
Hans Leidekker 29f47299c2 msi: Implement the ScheduleReboot standard action. 2010-02-03 11:31:48 +01:00
Hans Leidekker 552a9c9b85 msi: Add a stub implementation of the SetODBCFolders standard action. 2010-02-03 11:31:48 +01:00
Hans Leidekker 743ead45c8 msi: Test duplicating files from a nonexistent component. 2010-02-02 11:47:19 +01:00
André Hentschel 3299bfd471 msi: Fix crash with access to component. 2010-02-02 11:47:19 +01:00
Paul Vriens 086711818b msi/tests: Fix some test failures on Win9x up to W2K. 2010-02-02 11:47:19 +01:00
Luca Bennati 2197da7770 msi: Fix Italian translation. 2010-02-01 12:48:13 +01:00
Hans Leidekker 246f9305e9 msi: Don't fail if the service to start is already running. 2010-02-01 12:11:18 +01:00
Michael Stefaniuc a0774cabab msi: Avoid using HIWORD() on string pointers. 2010-01-29 17:25:49 +01:00
Igor Paliychuk 0ee3836844 msi: Add Ukrainian translations. 2010-01-29 13:30:04 +01:00
Hans Leidekker 1d0db2b19b msi: Don't create all directories in the CreateFolders action.
The CreatFolders action should create only the directories listed in the
CreateFolder table, the rest will be created during the InstallFiles action.
Fixes the EndNote 8 installer.
2010-01-28 15:30:26 +01:00
Hans Leidekker aa19638cb9 msi: Improve some traces. 2010-01-28 15:30:25 +01:00
Hans Leidekker 7c9cb1e1be msi: Name and arguments in the service control table are formatted strings. 2010-01-28 15:30:25 +01:00
Hans Leidekker 4d14ea47f7 msi: Add a test for MsiSetTargetPath. 2010-01-28 15:30:25 +01:00
Hans Leidekker 0d770c96fe msi: Don't evaluate the condition table when there are overrides. 2010-01-27 18:46:08 +01:00
Hans Leidekker 36b654e695 msi: Add tests for updating rows in join tables. 2010-01-22 13:09:15 +01:00
Hans Leidekker 882e4fb233 msi: Add support for updating rows in join tables. 2010-01-22 13:09:11 +01:00
Alexandre Julliard de3fa09cb2 msi: Add a partial stub for the ValidateProductID control event. 2010-01-20 15:36:00 +01:00
Jason Edmeades 06c45a8d59 msi: Correct the setting of environment variables.
Contrary to the MSDN, you can 'create only' whilst using a previous value
(ie +-variable and [~];value). This breaks the install of an application
I was debugging who uses that throughout for all their variables. In
addition whilst adding some tests I've also cleaned up invalid prefix
syntax handling and semicolon removal if the original string is empty.
2010-01-20 15:34:19 +01:00
Hans Leidekker 72393c55e9 msi: Add a test to exersize the code to retrieve rows from join tables. 2010-01-19 16:50:56 +01:00
Hans Leidekker 2bfce6cfdc msi: Fix parsing of feature overrides. 2010-01-18 14:39:23 +01:00
Hans Leidekker 1423ef9923 msi: Support retrieving rows from join tables. 2010-01-18 14:39:17 +01:00
Nathan Gallaher 0c437f558c msi: Queue dynamically allocated strings in cond.y. 2010-01-08 17:03:15 +01:00
André Hentschel 2e339c471e msi/tests: Remove dead url. 2010-01-06 09:52:52 +01:00
Andrew Eikum d1a916a614 msi: Implement recursive INSTALLSTATE updates for msi treeview selector. 2010-01-06 09:51:17 +01:00
Alexandre Julliard dcf1a0c891 msi: Fix some pointer cast warnings on 64-bit. 2009-12-31 12:12:15 +01:00
Marcus Meissner e2f7946bbc msi: Removed unnecessary NULL check. 2009-12-22 13:48:26 +01:00
Paul Vriens 4749b079b5 msi/tests: Fix test failures on Win9x/WinMe. 2009-12-21 15:01:24 +01:00
Hans Leidekker 839e487c84 msi: Propagate errors from IStorage_OpenStream again in db_get_raw_stream.
Fixes a regression introduced by ef522c5ef0.
2009-12-18 11:47:46 +01:00
Hans Leidekker 699cfc915a msi: Avoid a crash in STREAMS_delete. 2009-12-18 11:47:39 +01:00
James Hawkins d9c52bfa70 msi: Free the current filename if we choose to not extract the file. 2009-12-18 11:45:30 +01:00
Hans Leidekker 178ebae4c0 msi: Reset the ALLUSERS property from to 2 to 1. 2009-12-17 14:21:39 +01:00
Hans Leidekker ff2aa7e3a6 msi: Fix download of installer packages. Return errors from msi_download_file and copy_package_to_temp. 2009-12-17 14:21:32 +01:00
James Hawkins 26d541b2a9 msi: Initialize type. If the value did not exist, type was uninitialized and passed to RegSetValueExW. 2009-12-17 13:09:46 +01:00
James Hawkins 6b403d1a31 msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods. 2009-12-17 12:53:34 +01:00
James Hawkins a2f5d0e270 msi: Free the cached streams when closing the database. 2009-12-17 12:53:27 +01:00
Henri Verbeet 2102dbe854 msi: Remove an unused field from the string table. 2009-12-17 12:43:25 +01:00
Hans Leidekker 2c526b7fe7 msi: Replace the string table hash with a sorted index. 2009-12-16 13:04:35 +01:00
Hans Leidekker ef522c5ef0 msi: Clone the open stream instead of trying to open a stream again. 2009-12-16 13:04:35 +01:00
James Hawkins 8ed06175a0 msi: Free the temp buffer if we haven't assigned it to *appValue. 2009-12-16 12:42:39 +01:00
James Hawkins b530f38baa msi: Refactor freeing the import sql strings. 2009-12-16 12:42:33 +01:00
James Hawkins 1b7238a969 msi: Simplify ITERATE_WriteEnvironmentString.
Now we only allocate enough memory to exactly match the size of the
constructed string. Before, we were leaving some memory uninitialized
and overwriting the allocated memory in certain circum.
2009-12-16 12:27:11 +01:00
James Hawkins be1b1605f9 msi: Free the columns view if check_column_exists fails. 2009-12-16 12:26:59 +01:00
James Hawkins 1a4a112d76 msi: Fix a leaking record handle. 2009-12-16 12:26:51 +01:00
James Hawkins b93c2c3544 msi: Free the join view if we fail to create the table view. 2009-12-16 12:26:45 +01:00
James Hawkins 1692e1fe67 msi: Keep track of the current view in the sql parser.
This allows us to free said view in the case of a syntax error. This
also allows us to get rid of a few places where we tried to clean up
the view ourselves in the parsing code.
2009-12-16 12:26:38 +01:00
Hans Leidekker 6df6332198 msi: Reject greater than and less than string comparisons in WHERE clauses. 2009-12-15 11:45:04 +01:00
James Hawkins 8fe8a100c8 msi: Free the enumeration data returned by IEnumSTATSTG_Next. 2009-12-14 12:20:48 +01:00
James Hawkins 7abb42a994 msi: Free each table object when deleting the join view. 2009-12-14 12:20:43 +01:00
James Hawkins ee2cf9a597 msi: Free the Streams and Storages view object in their respective delete methods. 2009-12-14 12:20:39 +01:00
James Hawkins f45db6eee7 msi: Implement DROP_delete that deletes the drop view. We were leaking the view before. 2009-12-14 12:20:33 +01:00
James Hawkins 37a058208d msi: Fix a record handle leak. 2009-12-14 12:20:25 +01:00
James Hawkins d2fe01aa32 msi: Free each storage name when deleting the storages view. 2009-12-14 12:20:20 +01:00
James Hawkins 3188792a30 msi: Store the number of types we queried. We were leaking these types because we didn't have the correct count.
This change also fixes weird 8-space indenting in free_merge_tables.
2009-12-14 12:20:14 +01:00
James Hawkins 12134243c3 msi: Free each stream name when deleting the streams view. 2009-12-14 12:20:03 +01:00
James Hawkins a7fe36b327 msi: Don't free str until the last instance of its use. 2009-12-14 12:19:58 +01:00
James Hawkins f4829063bc msi: Make sure we don't access pcchValueBuf when szBuffer is NULL, as pcchValueBuf is not required to be initialized in this case. 2009-12-14 12:19:52 +01:00
Alexandre Julliard 8b50188f57 msi/tests: Fix a handle leak. 2009-12-11 20:20:30 +01:00
Chris Schafer 350cdd2fe5 msi/tests: Remove some barriers to running msi tests in parallel. 2009-12-11 17:47:30 +01:00
James Hawkins 50833f0780 msi: Wine fails the test and passes us a Session object back, so free it in this case. 2009-12-11 12:16:27 +01:00
James Hawkins e38c36a1f9 msi: Refactor the Installer.RelatedProducts method into InstallerImpl_RelatedProducts. 2009-12-11 12:16:27 +01:00
James Hawkins 105933f202 msi: Refactor the Installer.Products method into InstallerImpl_Products. 2009-12-11 12:16:27 +01:00
James Hawkins 9f09d47be3 msi: Refactor the Installer.ProductInfo method into InstallerImpl_ProductInfo. 2009-12-11 12:16:27 +01:00
James Hawkins fd2884a155 msi: Refactor the Installer.ProductState method into InstallerImpl_ProductState. 2009-12-11 12:16:27 +01:00
James Hawkins 11b4fe743a msi: Refactor the Installer.RegistryValue method into InstallerImpl_RegistryValue. 2009-12-11 12:16:27 +01:00
James Hawkins 138d5f1f6c msi: Refactor the Installer.Version method into InstallerImpl_Version. 2009-12-11 12:16:27 +01:00
James Hawkins 96c480b880 msi: Refactor the Installer.InstallProduct method into InstallerImpl_InstallProduct. 2009-12-11 12:16:27 +01:00
James Hawkins 851e4779be msi: Refactor the remaining Installer object stub methods into respective functions. 2009-12-11 12:16:27 +01:00
James Hawkins dc0889752a msi: Refactor the Installer.UILevel method into InstallerImpl_UILevel. 2009-12-11 12:16:27 +01:00
James Hawkins 18ba830ff8 msi: Refactor the Installer.SummaryInformation method to InstallerImpl_SummaryInformation. 2009-12-11 12:16:27 +01:00
James Hawkins 554e1318c0 msi: Refactor Installer.OpenProduct and Installer.OpenDatabase into respective functions. 2009-12-11 12:16:27 +01:00
James Hawkins b33d47e773 msi: Refactor the Installer.OpenPackage method into InstallerImpl_OpenPackage. 2009-12-11 12:16:26 +01:00
James Hawkins b73389b6bf msi: Refactor the Installer.CreateRecord method into InstallerImpl_CreateRecord. 2009-12-11 12:16:26 +01:00
James Hawkins ae58e29e5e msi: Stub out a few more Installer object methods. 2009-12-11 12:16:26 +01:00
James Hawkins 9ab7d9e21a msi: Close the original record before copying new data into it. 2009-12-11 12:16:26 +01:00
James Hawkins a44b653d53 msi: Fix a handle leak in the record tests. 2009-12-11 12:16:26 +01:00
James Hawkins d90aca35c4 msi: Add a NULL terminator to file->dest after reallocation. 2009-12-08 12:36:51 +01:00
James Hawkins b13803ea40 msi: Free the column info data when updating the table column info. 2009-12-08 12:36:36 +01:00
James Hawkins c20902314b msi: Make sure to free the extra row data when deleting a row. 2009-12-08 12:36:28 +01:00
Hans Leidekker 3840de5b1e msi/tests: Loosen check on kernel32 language version. 2009-12-07 14:18:29 +01:00
James Hawkins 25ab693008 msi: The second parameter to Installer.OpenPackage is optional, so set a default value of 0 if the parameter is not provided. 2009-12-07 09:49:06 +01:00
James Hawkins 1ff6c08621 msi: Verify that the first parameter to Installer.OpenPackage is a VT_BSTR.
It seems ugly to open up the parameters in pDispParams, but
DispGetParam will happily convert a VT_EMPTY to a VT_BSTR and not
return an error.
2009-12-07 09:49:06 +01:00
James Hawkins 4687604356 msi: It's possible to send in more than two parameters to Installer.OpenPackage, but sending in zero parameters should return DISP_E_TYPEMISMATCH. 2009-12-07 09:49:06 +01:00
James Hawkins b614052895 msi: Add more tests for the Installer.OpenPackage method.
The following series fixes a few leaks reported by valgrind.  We were
leaking exception info caused by Installer.OpenPackage failing when we
didn't expected it.
2009-12-07 09:49:06 +01:00
James Hawkins 7d3e664312 msi: MsiSetMode returns a UINT system error code, not a BOOL. 2009-12-04 14:34:57 +01:00
James Hawkins 6b8b82ef13 msi: ExpandEnvironmentStringsW returns the required size in characters, so multiply the required size by sizeof(WCHAR) when allocating the buffer. 2009-12-03 10:22:40 +01:00
Hans Leidekker fd8620f6c0 msi/tests: Don't check more bytes than written to the file. 2009-12-01 13:16:30 +01:00
Nathan Gallaher abb23d8bd5 msi: Support _Streams, _Storages tablename prefixes in SELECT. 2009-11-24 15:54:06 +01:00
Nathan Gallaher f7ba4b2ec0 msi/tests: Test for SELECT table.column FROM table.
Make sure that mixing table columns returns the expected
data. eg:  SELECT t1.action, t2.action FROM t1, t2
should return distinct data.
2009-11-24 15:54:00 +01:00
Nathan Gallaher 5c56e1f440 msi: Add support for table names in select statements.
Propagate tablename from 'SELECT tablename.column from tablename' queries
into VIEW_find_column(). Previously, the tablename had been dropped.
2009-11-24 15:53:53 +01:00
Michael Martin d28eabda5c msi: Shedule rename operation also for ERROR_USER_MAPPED_FILE. 2009-11-20 14:37:09 +01:00
Hans Leidekker 83e7a1214a msi: Sign extend the value when converting from a small integer. 2009-11-19 11:50:36 +01:00
Piotr Caban 1f7a07ebe3 oleaut32: Ignore milliseconds in VarDateFromUdate implementation. 2009-11-19 11:35:40 +01:00
Hans Leidekker bd4bc16147 msi: Don't set the ALLUSERS property. 2009-11-17 16:05:27 +01:00
Hans Leidekker fd549aa25d msi: Set the LogonUser property. 2009-11-17 16:05:15 +01:00
Hans Leidekker 84ddfd8739 msi: Test more variations of environment string prefixes. 2009-11-13 13:35:58 +01:00
Hans Leidekker e52531ab1d msi: Handle environment strings without a value. 2009-11-13 12:21:46 +01:00
Rob Shearman b960b967c9 msi: Improve stub for MsiGetFeatureCost{A, W} and hook the stub into the VolumeCostList dialog control. 2009-11-09 19:43:23 +01:00
Francois Gouget 97619affe5 msi/tests: Make the handler_xxx() functions static.
Also remove extraneous semi-colons.
2009-11-09 19:40:44 +01:00
Detlef Riekenberg 0839ae88ca msi/tests: MsiSetExternalUIRecord not present before Installer 3.1. 2009-11-05 11:57:21 +01:00
Hans Leidekker 808343fb5b msi: Implement MsiSetExternalUIRecord. 2009-11-03 22:23:08 +01:00
Hans Leidekker 90fa4fe155 msi: Unicode and ANSI global UI handlers are mutually exclusive. 2009-11-03 22:23:01 +01:00
Hans Leidekker 4b5248c9e0 msi: Add support for the Unicode version of the global UI handler. 2009-11-03 22:22:54 +01:00
Dmitry Timoshkov 0513f3c4e6 msi: Add support for msidbControlAttributesProgress95. 2009-10-29 15:48:38 +01:00
Dmitry Timoshkov df8780356b msi: Limit the progress to its maximal value, use MulDiv for better results. 2009-10-29 15:48:27 +01:00
Nate Gallaher 07c321ba73 msi: Test that a query on a join of two tables returns data from the correct table. 2009-10-27 14:01:50 +01:00
Nate Gallaher cc366e1282 msi: Add tablename tracking to VIEW_find_column.
This fixes the bug where multiple columns of the same name, but
different tables are members of a join. Any attempt to refer to these
columns will resolve to the first available column with that name,
irregardless of any tablename modifier.
2009-10-27 14:01:23 +01:00
Hans Leidekker 2eb33f5bcb msi: Avoid accessing uninitialized memory in ACTION_AppSearchReg.
Found by valgrind.
2009-10-27 10:53:56 +01:00
Hans Leidekker 3f70b07870 msi/tests: Fix a couple of user SID string leaks.
Found by valgrind.
2009-10-27 10:53:42 +01:00
Hans Leidekker e58ebbf3e0 msi: Fix calculation of required buffer size in MsiSummaryInfoGetPropertyW. 2009-10-23 12:04:38 +02:00
Hans Leidekker 394a437723 msi/tests: Free the string returned from ConvertSidToStringSid.
Found by valgrind.
2009-10-23 12:04:06 +02:00
Hans Leidekker 483590a3c5 msi/tests: Avoid accessing uninitialized memory.
Found by valgrind.
2009-10-23 12:04:00 +02:00
Hans Leidekker a15e6cbb1a msi: Avoid accessing uninitialized memory.
Found by valgrind.
2009-10-21 17:05:54 +02:00
Hib Eris 47ec8ab0f3 msi: Remove table_find_insert_idx().
The function table_find_insert_idx() is replaced by the more generic
function find_insert_index().
2009-10-20 15:57:25 +02:00
Hib Eris f6ae2507ef msi: Fix table rows order. 2009-10-20 15:57:09 +02:00
Hib Eris efacff81d6 msi: Add function get_table_value_from_record. 2009-10-20 15:57:01 +02:00
Hib Eris 9dddb94b99 msi: Fix merging string type checks. 2009-10-20 15:55:43 +02:00
Hib Eris 925fb3b408 msi/tests: Add tests for rows order. 2009-10-20 15:07:07 +02:00
Hib Eris 8d49633275 msi/tests: Add test for merging string types. 2009-10-20 15:03:39 +02:00
Hib Eris a3214c978d msi: Fix a failure with merging existing tables. 2009-10-20 15:03:33 +02:00
Hib Eris 6aad5cb307 msi/tests: Add tests for merging existing tables. 2009-10-20 15:03:24 +02:00
Hans Leidekker afcd2c5358 msi: Open the database read/write in MSI_OpenPackageW.
Fixes transforms that add binary streams.
2009-10-20 14:40:01 +02:00
Hans Leidekker 8dd3d389b0 msi: Create the local copy before opening the database. 2009-10-20 14:39:55 +02:00
Hans Leidekker 33d9f37f4a msi: Always create a temporary copy of the package. 2009-10-20 14:39:47 +02:00
Hans Leidekker 534f20bc49 msi: Get rid of some redundant initializations. 2009-10-19 15:02:42 +02:00
Hans Leidekker b7a81df452 msi: Allocate MSISCRIPT structure at package creation time. 2009-10-19 15:02:36 +02:00
Hans Leidekker a187b43ddd msi: Eliminate the last parameter from ACTION_PerformActionSequence. 2009-10-15 14:17:24 +02:00
Hans Leidekker e3aa2f33d9 msi: Use a function to test the UI level instead of passing a boolean around. 2009-10-15 14:17:18 +02:00
Hans Leidekker 796eed1dc7 msi: Reorder functions to avoid forward declarations. 2009-10-15 14:17:06 +02:00
Hans Leidekker 55b89f4a66 msi: Add some tests for MsiGetTargetPathW. 2009-10-15 14:16:57 +02:00
Hans Leidekker 843382f284 msi: Define common strings only once. 2009-10-15 14:16:50 +02:00
Francois Gouget fe935e8d50 Assorted spelling fixes. 2009-10-08 12:17:31 +02:00
Alexandre Julliard fa6ffb4d5d Fix empty function prototypes. 2009-10-07 12:24:53 +02:00
Paul Vriens 35df8f2d69 msi/tests: Skip some tests on Win9x/WinMe. 2009-10-02 11:51:23 +02:00
Hans Leidekker 9c8b83ce01 msi: Schedule a rename operation when the file to overwrite is in use. 2009-10-01 12:04:02 +02:00
Michael Stefaniuc f8ec47d5c6 msi/tests: Remove trailing '\'. 2009-09-29 18:08:30 +02:00
Hans Leidekker c0c6daeb5a msi: Test installing over in-use files. 2009-09-29 16:06:23 +02:00
Hans Leidekker 46ac59f988 msi: Don't set the Installed property twice. 2009-09-29 16:06:23 +02:00
Hans Leidekker 2beee126a7 msi: Test the Installed property. 2009-09-29 16:06:22 +02:00
Hans Leidekker 1b7d1d4c87 msi: Respect UI level in custom action type 19. 2009-09-29 16:06:22 +02:00
Hans Leidekker 4086ff6248 msi: Add tests to show that the condition table is ignored when there are overrides. 2009-09-22 16:20:51 +02:00
Hans Leidekker ae3418fdd9 msi: Test last used source property in combination with cabinet storage. 2009-09-22 16:20:48 +02:00
Paul Vriens c6e7558cda msi/tests: Fix some test failures on Vista/W2K8. 2009-09-22 16:15:36 +02:00
Paul Vriens 6867de0714 msi/tests: Skip some tests on Win9x/WinMe. 2009-09-18 08:56:16 -05:00
Hans Leidekker 659768e203 msi: Set or override a user environment string when there is no prefix. 2009-09-16 12:57:33 -05:00
Hans Leidekker 86e08ea4e4 msi: Don't append the cabinet file name in find_published_source. 2009-09-16 12:56:57 -05:00
Hans Leidekker 60d0cf41b3 msi: GetDriveType and GetVolumeInformation require a path terminated by a slash. 2009-09-16 12:56:50 -05:00
Hans Leidekker fc15d6d5ad msi: Downgrade two ERRs to WARNs. 2009-09-16 12:56:44 -05:00
Hans Leidekker 90d283f0eb msi: Improve a trace. 2009-09-16 12:56:38 -05:00
Hans Leidekker 5669e67d48 msi: Set ProductState property. 2009-09-11 16:19:54 +02:00
Hans Leidekker dd1ca6ca5e msi: Ignore CoInitialize failure in ACTION_CreateShortcuts. 2009-09-10 22:32:13 +02:00
Hans Leidekker 3a7c2d005c msi: Open the database read/write when the update count is greater than zero in MsiGetSummaryInformation. 2009-09-10 10:50:28 +02:00
Hans Leidekker 92cd7a8fa0 msi: Add a test to show that creating shortcuts works regardless of COM initialization state. 2009-09-09 16:25:00 +02:00
Alexandre Julliard e98a52e585 msi: Force overwriting of read-only files when extracting a cabinet, with tests. 2009-09-09 12:19:28 +02:00
Hans Leidekker 05e9a1fce8 msi: Add a partial implementation of MsiDetermineApplicablePatchesW. 2009-09-02 14:41:31 +02:00
Hans Leidekker 1169aa9a58 msi: Set REINSTALL property when the product is already installed and the command line is empty. 2009-09-02 14:41:24 +02:00
Ge van Geldorp 167ef04727 msi/tests: Create only a single restore point. 2009-08-28 16:48:27 +02:00
Hans Leidekker eb101df687 msi: Fix column width calculation.
The iTunes 8 installer database has an integer column of size 1 which
takes up two bytes at storage level, so adjust the column size calculation
to account for this difference.
2009-08-04 13:05:45 +02:00
Hans Leidekker 0b60ed8ff1 msi: Fix parsing of integer column width specifiers. 2009-08-04 13:05:30 +02:00
Vladimir Pankratov 04deb6d7d1 msi: Convert the Russian resources to UTF-8. 2009-08-03 14:56:39 +02:00
Alexandre Julliard 2c5bd49297 msi: Build a proper tab chain by walking through the controls list.
Simply changing Z-order as we encounter windows is not sufficient to
ensure correct ordering, we have to rebuild the list from scratch.
2009-07-15 14:22:14 +02:00
Hib Eris ec4edbfd6c msi: Implement ASSIGN mode in MsiViewModify. 2009-07-06 15:25:39 +02:00
Hib Eris eaea537f0f msi/tests: Add tests for MsiViewModify ASSIGN mode. 2009-07-06 15:25:36 +02:00
Frédéric Delanoy e801cae520 msi: Update French translation. 2009-07-03 13:11:24 +02:00
Michael Stefaniuc 5234f1fd0a msi: Build language resource files separately.
Do not include them from an other rc file.
2009-07-02 11:44:15 +02:00
Hans Leidekker 60b7604aa1 msi: Support opening transform databases. 2009-06-30 13:46:39 +02:00
Alexandre Julliard 3271362a26 msi: The dialog units are based on a 12-point font size, despite the documentation. 2009-06-25 12:09:45 +02:00
Hib Eris 5392014e29 msi: Release more msi_custom_action_info when no longer needed. 2009-06-22 13:09:03 +02:00
Hib Eris e86ebd75b0 msi: Release msi_custom_action_info when no longer needed. 2009-06-22 13:08:55 +02:00
Hib Eris 65ac206194 msi: Insert new tables in correct _Tables location. 2009-06-22 13:08:36 +02:00
Hib Eris 19d783d34d msi/tests: Add tests for order of tables. 2009-06-22 13:08:28 +02:00
Aurimas Fišeras a66dc8f981 msi: Add Lithuanian translation. 2009-06-22 11:28:00 +02:00
Paul Vriens 9a1b829923 msi/tests: Fix some test failures on Win95 by using more A-functions. 2009-06-19 13:52:38 +02:00
Paul Vriens 44b53ef35e msi/tests: Fix test (logical || with non-zero constant). 2009-06-19 13:52:26 +02:00
Hans Leidekker e3a7ae8a30 msi: Add some reinstall tests. 2009-06-12 17:33:15 +02:00
Mike Kaplinskiy 9e5d07bb53 msi: Add a test to insert a null primary key temporary row and check its order. 2009-06-11 13:23:25 +02:00
Mike Kaplinskiy 2cc9a710b1 msi: Store temporary rows in the same place as persistent rows, just with a flag. 2009-06-11 13:23:25 +02:00
Hib Eris 8fb7fdd029 msi: Fix a crash when freeing memory. 2009-06-11 11:45:48 +02:00
Paul Vriens 9b6cf22607 msi/tests: Make sure we only create one logfile. 2009-06-09 17:01:13 +02:00
Marcus Meissner 890b5dafb6 msi: Check the correct pointers for allocation failure (Coverity). 2009-06-05 15:19:57 +02:00
Hans Leidekker f9e33e9af6 msi/tests: Ignore case when comparing file names. 2009-06-04 12:18:20 +02:00
Hans Leidekker 761736e6aa msi: Add more tests for MsiGetSourcePath. 2009-06-04 12:18:15 +02:00
Hans Leidekker a0b9315dff msi: Add tests for importing a _SummaryInformation table. 2009-06-04 12:18:09 +02:00
Hans Leidekker d02dbf4492 msi: Initialize some variables. 2009-06-04 12:18:04 +02:00
Hans Leidekker c1670fb353 msi: Don't trace an out parameter. 2009-06-04 12:17:59 +02:00
Hans Leidekker 7d837b9f82 msi: The assembly file version field is optional. 2009-05-29 15:35:59 +02:00
Hans Leidekker 22a277cc2e msi: Fix some memory leaks. 2009-05-28 15:29:09 +02:00
Hans Leidekker a4b76ceee7 msi: Consistently use the parser allocator when parsing a query. 2009-05-28 15:29:02 +02:00
Hans Leidekker 5922de46de msi: Don't duplicate the table name in CREATE_CreateView.
The table name is tracked in the list attached to the parent query object,
which is destroyed after the view object.

This plugs a leak since the duplicated table name was never freed.
2009-05-28 15:28:53 +02:00
Hans Leidekker 2018de00e1 msi: Constify some parameters. 2009-05-28 15:28:45 +02:00
Paul Vriens db355b4903 msi/tests: Remove unused variable. 2009-05-28 12:42:17 +02:00
Paul Vriens 45c00da496 msi/tests: Prevent crash when ConvertSidToStringSidA is not available. 2009-05-27 15:40:30 +02:00
Hib Eris ff5b29e5eb msi: Add support for merging tables that are not in target database. 2009-05-27 12:51:51 +02:00
Hib Eris 97200b0b31 msi/tests: Add test for merging tables that are not in target database. 2009-05-27 12:51:36 +02:00
Hib Eris 987d17dc6f msi: Fix merging tables with string primary keys. 2009-05-27 12:51:31 +02:00
Hib Eris a807e86dd7 msi/tests: Add test for merging tables with string primary keys. 2009-05-27 12:51:22 +02:00
Hib Eris 086fcfc1f4 msi: Initialize a variable. 2009-05-27 12:51:15 +02:00
Hib Eris cad837c999 msi: Add support for importing binary OBJECTS. 2009-05-27 12:51:10 +02:00
Hib Eris e7ebbbe62e msi/tests: Add test for importing binary OBJECTS. 2009-05-26 15:27:27 +02:00
Hib Eris d9568722aa msi: Support transforms with binary OBJECTS. 2009-05-26 15:18:09 +02:00
Hib Eris f6dd90de5e msi: Add support for binary OBJECTS. 2009-05-26 15:18:02 +02:00
Hib Eris 8356484c9f msi/tests: Add tests for binary OBJECTS. 2009-05-26 15:17:52 +02:00
Francois Gouget 623dad0963 msi/tests: Tweak the get_user_sid() functions to simplify their use.
Now the function deals with all errors and win_skips() itself.
2009-05-26 14:10:27 +02:00
Ilya Shpigor 6c64da8b7c msi: Subscribe to SetProgress event on adding progress bar control to dialog. 2009-05-21 16:17:52 +02:00
Francois Gouget d9ffbe4e82 msi/tests: Use win_skip() to skip over unimplemented functionality. 2009-05-19 12:01:20 +02:00
Gerald Pfeifer aea6418ff0 msi: Initialize variable in MSI_ApplyPatchW. 2009-05-14 17:39:29 +02:00
Hans Leidekker 0d8a826ef5 msi: Reject NULL or empty patch package parameter in MsiApplyPatch. 2009-05-06 16:09:55 +02:00
Marcus Meissner 1cfc88a500 msi: Initialize info and patch variables (Coverity 923). 2009-05-05 11:35:22 +02:00
Detlef Riekenberg a31e9a1bfa msi/tests: Run tests again with older msi versions (MsiApplyMultiplePatchesA). 2009-05-05 11:33:52 +02:00
Nicolas Le Cam 2f37672225 msi/tests: Fix MsiApplyMultiplePatches tests on Windows. 2009-05-04 12:51:01 +02:00
Hans Leidekker b4b8bc830f msi: Implement MsiApplyMultiplePatchesA/W. 2009-05-01 16:19:39 +02:00
Hib Eris 0a81fbfa39 msi: Fix LONGCHAR column data type. 2009-04-28 13:10:04 +02:00
Hib Eris 508028ae03 msi/tests: Test type for LONGCHAR columns. 2009-04-28 13:10:03 +02:00
Hib Eris 5e829d1323 msi: Fix SHORT column data type. 2009-04-28 13:10:03 +02:00
Hib Eris 407866186c msi/tests: Test type for INTEGER, SHORT, LONG columns. 2009-04-28 13:10:03 +02:00
Hib Eris 15cb7290ee msi: Fix INT column data type. 2009-04-28 13:10:03 +02:00
Hib Eris fa8f8a3efc msi/tests: Test type for INT column. 2009-04-28 13:10:03 +02:00
Nikolay Sivov 7daf9b6ef5 msi: Fix wrong calling convention. 2009-04-27 13:24:51 +02:00
Nicolas Le Cam 8b348fca27 msi/tests: Fix package test when run on a different drive than C:\. 2009-04-23 18:14:25 +02:00
Nicolas Le Cam b91fc465ff msi: Fix ACTION_AppSearchDr on empty path. 2009-04-23 18:14:25 +02:00
Nicolas Le Cam 34202629c9 msi/tests: Add empty dir test for the DrLocator part of the AppSearch action. 2009-04-23 18:14:25 +02:00
Nicolas Le Cam 03afdb0217 msi: Enfore use of GetFileAttributes return value. 2009-04-23 18:14:25 +02:00
Hans Leidekker 55ad3fdda2 msi: Fix another double free.
parser_alloc() allocates memory and puts it on a list attached the to query object.
EXPR_sval() frees memory allocated via parser_alloc() on error but does not remove
the pointer from the list, which means that when the query destructor is called it
will be freed again.
2009-04-20 17:40:43 +02:00
Hans Leidekker 91ac47b84b msi: Fix a double free.
TABLE_drop() calls TABLE_remove_column() which calls msi_update_table_columns()
which frees column info and possibly returns without reallocating. When that
happens it will be freed again when TABLE_drop() finally calls free_table().
2009-04-20 17:40:38 +02:00
Nicolas Le Cam e00d864a35 msi: Fix buffer length value returned by MSI_RecordGetStringW on null and empty strings. 2009-04-20 17:26:13 +02:00
Nicolas Le Cam edac581d6a msi/tests: Test MsiRecordGetString on null and empty strings. 2009-04-20 17:26:10 +02:00
Detlef Riekenberg a26da7b7a3 msi/tests: Replace lstrcatW with memcpy to fix failures on win95. 2009-04-20 17:20:01 +02:00
Michael Stefaniuc cf6ec333a5 msi/tests: Replace long with LONG. 2009-04-20 14:12:37 +02:00
Michael Stefaniuc f3a1660181 msi: Remove superfluous cast of a MSIHANDLE in a TRACE(). 2009-04-20 14:12:34 +02:00
Hans Leidekker 184474ea66 msi: Support setting summary information by importing a _SummaryInformation table. 2009-04-14 15:20:58 -05:00
Nicolas Le Cam 112bb084f1 msi/tests: Fix test when content indexing is disabled. 2009-04-10 14:43:57 +02:00
Nicolas Le Cam 7b2a44f257 msi/tests: Fix format test when run on root drive directory. 2009-04-10 11:14:21 +02:00
Ge van Geldorp 215fd0b813 msi/tests: Handle running the tests as a domain user. 2009-04-07 14:21:25 +02:00
Hans Leidekker e3b558887d msi: Build a proper source path in MsiConfigureProductExW.
We were passing uninitialized data which would ultimately end up in the
registry.
2009-03-31 12:41:42 +02:00
Hans Leidekker 965698cd28 msi: Don't publish package name as part of product properties.
This value does not exist directly under the product key on Windows.
2009-03-31 12:41:36 +02:00
Detlef Riekenberg 03ff6ba641 msi/tests: Fix a copy & paste typo in a test message. 2009-03-30 17:51:03 +02:00
Detlef Riekenberg 36dbb69b66 msi/tests: Verify path names case insensitively. 2009-03-30 15:09:00 +02:00
Hans Leidekker 4365b34838 msi: Allocate token information buffer dynamically. 2009-03-27 15:51:26 +01:00
Hans Leidekker f0d1d61d3b msi: Add tests for MsiEnumProducts. 2009-03-27 15:51:26 +01:00
Hans Leidekker 9163b0d0a3 msi: Enumerate products from all contexts.
Fix for office 2007 proofing tools installer.
2009-03-27 15:51:26 +01:00
Alexandre Julliard 836d9af1be msi/tests: Avoid size_t in traces. 2009-03-26 14:01:26 +01:00
Michael Stefaniuc 6fa69c3f2b msi: Remove redundant NULL check before msi_free (Smatch). 2009-03-26 11:51:08 +01:00
Hans Leidekker 9c6e6efa32 msi: Detect privately installed assemblies.
Another fix for the office 2007 sp1 installer.
2009-03-25 15:02:45 +01:00
Hans Leidekker c2221f325f msi: Add some tests for MsiQueryFeatureState.
These tests confirm that a feature is reported as advertised if only
one of its components is missing.
2009-03-25 15:02:37 +01:00
Aric Stewart 28bc76b5d3 msi: Verify the existence of fusion.dll before reporting the .Net version.
Fixes an issue with .Net 3.0 where it does not install a new
fusion.dll but does add a key to the registery. The fact that a new
dll is not installed has been verified on windows.
2009-03-25 12:39:27 +01:00
Hans Leidekker 86af876987 msi: Only apply a transform when its language id matches the system language id.
Fix for office 2007 sp1 installer.
2009-03-24 13:32:11 +01:00
Hans Leidekker b8965ee7c9 msi: Don't initialize COM for custom action threads. 2009-03-24 13:31:59 +01:00
Hans Leidekker c844582177 msi: Add stub implementations of MsiSourceListClearAllExA/W. 2009-03-24 13:31:36 +01:00
Hans Leidekker 7590a3f335 msi: Implement MsiReinstallProductA/W. 2009-03-24 13:31:24 +01:00
Hans Leidekker 201e291e5d msi: Add stub implementations of MsiDeterminePatchSequenceA/W. 2009-03-24 13:31:12 +01:00
Michael Stefaniuc 6789fa8544 msi: Add the Romanian translation. 2009-03-24 13:00:02 +01:00
James Hawkins 5e62686a0f msi: Handle a NULL and empty szPackagePath in MsiInstallProduct (Coverity 181). 2009-03-23 15:52:18 +01:00
James Hawkins fb8db0ac13 msi: Don't try to release a NULL record, with tests (Coverity 536). 2009-03-23 15:52:17 +01:00
James Hawkins baf86bd5bb msi: MsiCollectUserInfo cannot be called from a custom action (Coverity 565, 566). 2009-03-23 15:52:17 +01:00
James Hawkins cb958cd773 msi: Test and handle the case where the SourceList key does not exist and the PackageName value does not exist in MsiGetProductInfo. 2009-03-23 15:52:17 +01:00
James Hawkins dc50773c28 msi: Factor out the MsiEnumPatchesEx tests and test the NULL szUserSid and an szUserSid that is different from the current user. 2009-03-23 15:52:17 +01:00
James Hawkins c965d839f9 msi: Allow the enumeration of other users' patches. 2009-03-23 15:52:17 +01:00
James Hawkins f7c615b188 msi: Enumerate the current user's patches if szUserSid is NULL. 2009-03-23 15:52:17 +01:00
James Hawkins 3956bb5b0e msi: Fix a typo (Coverity 910). 2009-03-23 15:52:17 +01:00
Michael Stefaniuc fccdccc378 msi: Update the German translation. 2009-03-23 15:52:17 +01:00
Michael Stefaniuc b4cb8562ae msi: Convert the German translation to UTF8 encoding. 2009-03-23 15:52:17 +01:00
Aric Stewart 39600d9d2e msi: Reorder the condition operators so that longer strings are matched first.
This allows ~<< to be properly matched.
2009-03-23 15:26:02 +01:00
Hans Leidekker ba50d15060 msi: Set concurrency model to multi-threaded for custom action threads.
A custom action in the office 2007 sp1 installer fails right after calling
CoInitializeEx(NULL, COINIT_MULTITHREADED). This is because our code calls
CoInitialize(NULL) first, which sets a different concurrency model, and a
subsequent call with a different model will return RPC_E_CHANGED_MODE.

Ergo, we should set the model to multi-threaded too.
2009-03-13 14:52:48 +01:00
Hans Leidekker 4da865f324 msi: Handle ADVERTISE overrides. 2009-03-13 13:21:07 +01:00
Hans Leidekker 804d66039d msi: Correct spec entry for MsiGetProductInfoA/W. 2009-03-13 13:21:07 +01:00
Paul Vriens 7a8000d4e8 msi/tests: Fix a test for systems with %TEMP% being less than 2 levels deep. 2009-03-12 14:29:56 +01:00
Hans Leidekker 40cfbaf023 msi: Fix handling of REINSTALL overrides.
We were forcing features with a REINSTALL override to be reinstalled
locally, which is only correct if the original install state is local.

This causes problems with the office 2007 sp1 installer, which applies
a REINSTALL override to an advertised feature.
2009-03-12 14:29:56 +01:00
Paul Vriens fca2626768 msi/tests: Fix a test failure on Win95. 2009-03-03 12:36:25 +01:00
James Hawkins 9540d762ad msi: Handle reading from a NULL stream. 2009-03-02 12:06:37 +01:00
James Hawkins 2f1eacfcad msi: Don't treat carriage returns as spaces. 2009-03-02 12:06:30 +01:00
James Hawkins 7f3faffc3b msi: Don't allow nested quotes in SQL queries. 2009-03-02 12:06:24 +01:00
James Hawkins e821f9d724 msi: Add missing calls to MsiViewClose. 2009-03-02 12:06:18 +01:00
James Hawkins 293bdffa29 msi: Use a SQL marker to query the _Property table when fetching a property. 2009-03-02 12:06:10 +01:00
James Hawkins f36e13fd81 msi: Delete the view on error. 2009-03-02 12:06:02 +01:00
James Hawkins 046bcc918c msi: The PATH environment variable can be longer than MAX_PATH, so dynamically allocate strings to deal with that. 2009-03-02 12:05:57 +01:00
James Hawkins 37c5e04010 msi: The _Streams and _Storages table are special and always exist. 2009-03-02 12:05:45 +01:00
James Hawkins c9b3bc1165 msi: Column attributes for temporary string and int columns should be g and j respectively. 2009-03-02 12:05:28 +01:00
James Hawkins c07b554edc msi: Order primary keys to be first in the column list when creating a table. 2009-03-02 12:05:09 +01:00
James Hawkins b3c9875cf7 msi: Correctly order transposed column values in the INSERT query. 2009-03-02 12:04:57 +01:00
Hans Leidekker 148ef5f485 msi: Add reinstall tests.
Based on a patch by Aric Stewart.
2009-02-26 15:13:25 +01:00
James Hawkins b55c031032 msi: Fix a failing test on win9x. 2009-02-26 12:14:19 +01:00
James Hawkins a7d5adc91f msi: Trace the username to help debug test failures on certain machines. 2009-02-26 12:14:13 +01:00
James Hawkins 5735e2fafd msi: Fix a failing test on win9x. 2009-02-26 12:14:08 +01:00
James Hawkins ea28915133 msi: Don't create a temporary table that is not held. 2009-02-26 12:14:01 +01:00
James Hawkins 241933e13c msi: A non-temporary table cannot have a temporary primary key. 2009-02-26 12:13:57 +01:00
James Hawkins 74aa053485 msi: The _Tables and _Columns tables have no persistence attribute. 2009-02-26 12:13:52 +01:00
James Hawkins 2f8c2a8d41 msi: Make sure the view being updated is the same view the record was fetched from. 2009-02-26 12:13:49 +01:00
James Hawkins e872681af7 msi: Set field zero to the name of the table containing the primary keys. 2009-02-26 12:13:44 +01:00
James Hawkins 7d7f14c101 msi: Add tests for field zero of a record. 2009-02-26 12:13:10 +01:00
James Hawkins 60ad75eade msi: Make sure a constant string's quotes match up. 2009-02-26 12:13:02 +01:00
Alexandre Julliard b5ac29a73d msi/tests: Add some tests for MsiEnumPatchesW, fix a few failures on XP. 2009-02-25 16:06:21 +01:00
Alexandre Julliard b4d81f8517 msi: Fix handling of buffer sizes in MsiEnumPatchesA and avoid a redundant call to MsiEnumPatchesW. 2009-02-25 16:06:21 +01:00
Hans Leidekker 18cd216e80 msi: Don't release view object twice in check_assembly_installed. 2009-02-19 16:17:17 +01:00
Hans Leidekker 43094e4a3e msi: Make comparison of assembly field names case insensistive. 2009-02-19 16:17:17 +01:00
Alexandre Julliard fb04bcf638 Fix position of CDECL qualifier for functions that return pointers. 2009-02-06 14:54:01 +01:00
Andrew Talbot c0ad988e67 msi: Remove unused functions. 2009-02-06 13:04:03 +01:00
Alexandre Julliard 4e29ceeb77 include: Define LANGID in wtypes.idl. 2009-02-04 15:06:25 +01:00
Jacek Caban 0194b8f08c jscript: Add IActiveScriptParse64 declaration and use it on Win64. 2009-02-03 12:39:23 +01:00
Alexandre Julliard 8ca2aa3da9 msi: Fix compiler warning on older gcc. 2009-01-30 13:44:06 +01:00
Alasdair Sinclair 0bd6da81c5 msi/tests: Fix missing void in empty parameter list. 2009-01-29 12:19:44 +01:00
Hans Leidekker 8fec17b5ad msi: Add stub implementations of MsiSourceListClearSourceA/W. 2009-01-27 14:27:00 +01:00
Marcus Meissner 76b08f3aa7 msi: Initialize row (Coverity). 2009-01-26 16:08:25 +01:00
Nikolay Sivov 2fbe8d23eb msi: Fix potential NULL pointer dereference in ILockBytes_Release (Coverity). 2009-01-26 15:49:01 +01:00
Nikolay Sivov 9598a50916 msi: Fix NULL dereference in MsiQueryComponentStateW (Coverity). 2009-01-26 15:48:57 +01:00
Nikolay Sivov c3e2cb00d5 msi: Remove redundant pointer check (Coverity). 2009-01-26 14:30:34 +01:00
Ge van Geldorp 78457300aa msi/tests: EstimatedSize is not set consistently between Windows Installer versions. 2009-01-20 14:02:43 +01:00
Ge van Geldorp 3355f3d66f msi/tests: Double nul-terminate REG_MULTI_SZ values. 2009-01-19 14:18:04 +01:00
Ge van Geldorp 349d8bd1a1 msi/tests: Windows Installer 3.0 often returns ERROR_INVALID_PARAMETER. 2009-01-19 14:17:57 +01:00
Andrew Nguyen 6d75522fb4 msi/tests: Fix a few handle leaks.
This was pointed out by Christoph von Wittich.
2009-01-19 13:36:27 +01:00
Michael Stefaniuc 5f3ac30b3c msi: Remove superfluous pointer casts. 2009-01-15 12:43:03 +01:00
Michael Stefaniuc 9975dcd19e msi/tests: Remove superfluous pointer casts. 2009-01-15 12:42:57 +01:00
Michael Stefaniuc f516cab017 include: Change to LONG/ULONG in fdi.h for Win64 compatibility. 2009-01-14 12:21:20 +01:00
Michael Stefaniuc 602f42c25f include: Change to LONG/ULONG in fci.h for Win64 compatibility. 2009-01-14 12:21:13 +01:00
Ge van Geldorp f9f2e91198 msi/tests: Opening package with relative filename sometimes succeeds on Windows. 2009-01-12 14:34:51 +01:00
Andrew Talbot 668197a898 msi: Declare some functions static. 2009-01-12 13:10:53 +01:00
Alexandre Julliard 81ecd7041a msi: Fix pointer cast warnings on 64-bit. 2009-01-08 17:26:44 +01:00
Alexandre Julliard 35811a9078 msi/tests: Use CreateFile instead of OpenFile to avoid handle casts. 2009-01-08 13:05:27 +01:00
Paul Vriens bb7efb1deb msi/tests: Skip some tests if we don't have enough rights. 2009-01-08 12:40:26 +01:00
Michael Stefaniuc 6bd893a960 msi: Change MSIHANDLE to ULONG for Win64 compatibility.
Also fix the compiler warnings produced by this change.
2009-01-05 12:34:12 +01:00
Alexandre Julliard ddc34141cd msi/tests: Fix pointer casting warnings on 64-bit. 2009-01-03 20:13:45 +01:00
Alexandre Julliard 3e7ac7ea2e msi/tests: Add CDECL to the cabinet callback functions. 2009-01-03 20:12:49 +01:00
Maarten Lankhorst 49abc9878f msi: Add missing CDECL to cabinet functions. 2008-12-23 18:50:57 +01:00
Alexandre Julliard 2a5cf54f05 msi/tests: Avoid sizeof in traces. 2008-12-20 13:32:59 +01:00
Aric Stewart 17ffb562aa msi: Fix some NULL checking in MSI_RecordGetStringA.
Includes a few record tests with a NULL buffer.
2008-12-18 14:19:40 +01:00
Aric Stewart f10eb0bfa2 msi: EndDialog with Ignore should not be an error. 2008-12-17 11:38:52 +01:00
Hans Leidekker 8bd9a3aa09 janitorial: Don't depend on user32 for the self registration functions. 2008-12-17 11:38:32 +01:00
Paul Vriens 017fee4aa0 msi/tests: Run tests again on Win9x and NT4. 2008-12-16 12:51:20 +01:00
James Hawkins 0ccb714470 msi: Add tests for MsiGetPatchInfo. 2008-12-15 12:36:00 +01:00
James Hawkins c059ceb5b0 msi: Set the property specified by the Source attribute of the Media table when applying a patch. 2008-12-15 12:34:56 +01:00
James Hawkins 01eb930005 msi: Publish the patch information. 2008-12-15 12:34:52 +01:00
James Hawkins 5aac1ec6e5 msi: Implement MsiGetPatchInfoExW. 2008-12-15 12:34:35 +01:00
James Hawkins b5e3e19a19 msi: Add the ability to query a specific context for install properties. 2008-12-15 12:34:18 +01:00
James Hawkins 880b9199a9 msi: Add the ability to query a specific context for a patch. 2008-12-15 12:34:12 +01:00
James Hawkins 4a9f6995aa msi: Add the ability to query a specific context for a product key. 2008-12-15 12:34:06 +01:00
James Hawkins d195ee3cc4 msi: Forward MsiGetPatchInfoExA to MsiGetPatchInfoExW. 2008-12-15 12:34:00 +01:00
James Hawkins 199a26c81a msi: Add a stub implementation of MsiGetPatchInfoEx. 2008-12-15 12:33:56 +01:00
Francois Gouget 0d7cb11fdf msi/tests: Make enum_stream_names() and package_RegDeleteTreeW() static. 2008-12-15 12:25:48 +01:00
Alexandre Julliard 0b99af82b2 msi: Don't include msvcrt headers. 2008-12-12 10:19:54 +01:00
ByeongSik Jeon 5f3287d79f *Ko.rc: Update Korean resource.
Fix the unnecessary SUBLANG_NATURAL.
Change the font size from 8 to 9.
2008-12-11 12:21:07 +01:00
Paul Vriens 194c053021 msi/tests: Skip tests on win9x due to different registry keys. 2008-12-11 11:50:12 +01:00
Paul Vriens 732c1e8d31 msi/tests: Run tests again on Win9x and NT4. 2008-12-10 10:48:05 +01:00
James Hawkins dfb8b664d6 msi: Add tests for MsiGetProductProperty. 2008-12-09 11:24:19 +01:00
James Hawkins da783c3888 msi: Implement MsiGetProductPropertyW. 2008-12-09 11:24:13 +01:00
James Hawkins 06a438152c msi: Forward MsiGetProductPropertyA to MsiGetProductPropertyW. 2008-12-09 11:24:09 +01:00
James Hawkins 61c94d281a msi: Add tests for MsiEnumPatches. 2008-12-09 11:24:04 +01:00
James Hawkins e07ed1a2eb msi: Implement MsiEnumPatchesW. 2008-12-09 11:23:56 +01:00
James Hawkins c46f2102c9 msi: Forward MsiEnumPatchesA to MsiEnumPatchesW. 2008-12-09 11:23:49 +01:00
James Hawkins a9e0290934 msi: Add the ability to delete multiple users' component keys. 2008-12-09 10:28:14 +01:00
James Hawkins bdf7da9bdc msi: Remove a duplicated function. 2008-12-09 10:28:04 +01:00
James Hawkins 8438d21127 msi: Remove a duplicated function. 2008-12-09 10:27:58 +01:00
James Hawkins 98c703ab87 msi: Add the ability to open multiple users' install properties key. 2008-12-09 10:27:52 +01:00
James Hawkins b198f4f23f msi: Add the ability to open multiple users' component keys. 2008-12-09 10:27:45 +01:00
James Hawkins 930b429d1e msi: Add the ability to open multiple users product keys. 2008-12-09 10:27:37 +01:00
James Hawkins 947c4c312a msi: Add tests for MsiEnumPatchesEx. 2008-12-09 10:25:47 +01:00
James Hawkins ff87f354c4 msi: Fix an uninitialized variable. 2008-12-09 10:25:44 +01:00
Andrew Talbot 94d22682c1 msi: Remove an unused declaration. 2008-12-08 22:02:53 +01:00
James Hawkins 87fef9fd22 msi: Implement MsiEnumPatchesExW. 2008-12-08 12:18:49 +01:00
James Hawkins a32fcfa9b1 msi: Forward MsiEnumPatchesExA to MsiEnumPatchesExW. 2008-12-08 12:06:42 +01:00
James Hawkins 7df94f3b04 msi: Fix the type of the last parameter of MsiEnumPatchesEx. 2008-12-08 12:06:06 +01:00
Lei Zhang 4153fc1904 msi: Set DllVersion registry key for CLSID_IMsiServerMessage. 2008-11-28 13:41:00 +01:00
Francois Gouget d7119f2b73 msi: Remove WINAPI on static functions where not needed. 2008-11-28 12:54:37 +01:00
Michael Stefaniuc b1a54bf7a3 msi: Remove casts of void pointers. 2008-11-25 11:55:56 +01:00
Paul Vriens 3c533397e9 msi/tests: Skip tests on win9x by checking functionality instead of registry keys. 2008-11-17 13:16:08 +01:00
Paul Vriens 1dba41b104 msi/tests: Skip some tests on Win9x and WinMe. 2008-11-13 15:41:30 +01:00
Paul Vriens b4874a8921 msi/tests: Fix some test failures on Win9x and WinMe. 2008-11-11 14:06:49 +01:00
James Hawkins 7051bf5e22 msi: Remove an unused registry function. 2008-11-04 11:24:16 +01:00
James Hawkins e3074348fc msi: Factor out the code to open the UserData features key. 2008-11-04 11:24:11 +01:00
James Hawkins 0c01c586c7 msi: Factor out the code to open the features key. 2008-11-04 11:24:04 +01:00
James Hawkins 70be1e7746 msi: Factor out the code to open a product key. 2008-11-04 11:23:51 +01:00
James Hawkins f12b9cea99 msi: Factor out the table insertion code. 2008-11-04 11:23:30 +01:00
James Hawkins 2abb8bba13 msi: Factor out the table insertion code. 2008-11-04 11:23:07 +01:00
James Hawkins 88f39d95f2 msi: Factor out the table insertion code. 2008-11-04 11:22:45 +01:00
Michael Stefaniuc 4f199a10ad Remove the remaining casts of NULL. 2008-11-03 13:42:09 +01:00
James Hawkins ca71e5aff0 msi: Allow private properties from the AdminProperties property list. 2008-10-30 11:47:10 +01:00
James Hawkins 019f4af1c2 msi: Do not reinstall an assembly that already exists in the global assembly cache. 2008-10-29 13:29:32 +01:00
Nicolas Le Cam cec5d3f514 msi/tests: Fix a failing test on all platforms up to and including win2k. 2008-10-28 12:13:53 +01:00
James Hawkins c261030d21 msi: Skip the leading period of the extension to be registered. 2008-10-27 12:02:19 +01:00
James Hawkins 2ffa433f80 msi: Convert command line property names to uppercase. 2008-10-27 12:02:13 +01:00
James Hawkins bf9538f383 msi: Use the long file name in the WriteIniValues action. 2008-10-27 12:02:04 +01:00
James Hawkins 7616a750ba msi: Set the source path tests to "interactive" to avoid timing out on some machines. 2008-10-27 12:01:57 +01:00
James Hawkins cd4b952863 msi: Fix several test failures. 2008-10-24 14:25:01 +02:00
James Hawkins acfc915914 msi: Fix a failing test in win9x. 2008-10-24 14:25:01 +02:00
James Hawkins f18c6ba28d msi: Only compare the file version if a version was specified. 2008-10-22 13:54:53 +02:00
Andrew Talbot 1c9886d6e7 msi: Sign-compare warnings fix. 2008-10-21 11:45:44 +02:00
Andrew Talbot 40db5bdb16 msi: Sign-compare warnings fix. 2008-10-21 11:45:39 +02:00
James Hawkins 03282df13d msi: Use the quoted part of the registry value when searching for a file or directory. 2008-10-20 13:16:24 +02:00
James Hawkins 6df69c6aaa msi: Fix a copy and paste error. 2008-10-20 13:16:09 +02:00
James Hawkins 7eba78dc7e msi: Strip the file off the parent path if it's not a directory. 2008-10-20 13:16:04 +02:00
James Hawkins 0ed516908b msi: Only check the file signature if the candidate file is not a directory. 2008-10-20 13:15:36 +02:00
James Hawkins 1fb22654e4 msi: Append the next directory to search to the current directory when recursing. 2008-10-20 13:11:14 +02:00
James Hawkins 4aca381ff7 msi: Only append a backslash to directories. 2008-10-20 13:10:59 +02:00
James Hawkins 7497f1ab5c msi: Don't get rid of the file signature when searching the DrLocator table. 2008-10-20 13:10:54 +02:00
James Hawkins 2e17638dc4 msi: Simplify and clean up ACTION_RecurseSearchDirectory. 2008-10-20 13:10:50 +02:00
James Hawkins 29c0836fcc msi: Handle searching for directories in the IniLocator part of the AppSearch action. 2008-10-20 13:10:44 +02:00
James Hawkins c48497d0e6 msi: Handle searching for a file with no signature. 2008-10-20 13:10:39 +02:00
James Hawkins 326a1b6c47 msi: Add more tests for the RegLocator part of the AppSearch action. 2008-10-20 13:10:34 +02:00
James Hawkins 859bd01b5e msi: Check the file version when a version is provided in the signature. 2008-10-20 13:10:28 +02:00
James Hawkins fbba2e8b93 msi: Add more tests for the AppSearch action. 2008-10-20 13:10:19 +02:00
James Hawkins 642cddf180 msi: Return the requested ini field. 2008-10-20 13:10:08 +02:00
James Hawkins f1e2041bf4 msi: Pass the correct view to get_row. 2008-10-20 13:09:59 +02:00
James Hawkins f80b5f6e66 msi: All files are uncompressed in an administrative image. 2008-10-17 11:44:21 +02:00
James Hawkins 7620bb367f msi: Append a backslash to the AppSearch registry path. 2008-10-16 11:22:43 +02:00
James Hawkins 3adf1e4e0e msi: Append a backslash to the AppSearch directory path. 2008-10-16 11:22:40 +02:00
James Hawkins 47ac325f82 msi: Fix the returned format of REG_BINARY data. 2008-10-13 13:04:30 +02:00
James Hawkins 6d02194a46 msi: Expand REG_EXPAND_SZ registry values in the RegLocator table. 2008-10-13 13:00:47 +02:00
James Hawkins 65915af1ae msi: Append the file signature to the component's directory when searching for the component's key path. 2008-10-13 13:00:42 +02:00
James Hawkins 701c2a2728 msi: Add tests for the DrLocator part of the AppSearch action. 2008-10-13 13:00:37 +02:00
James Hawkins 33c9e80be5 msi: Add tests for the RegLocator part of the AppSearch action. 2008-10-13 13:00:32 +02:00
James Hawkins 3e76ade6c8 msi: Add tests for the IniLocator part of the AppSearch action. 2008-10-13 13:00:25 +02:00
James Hawkins 41c8bc8ae6 msi: Add more tests for the CompLocator part of the AppSearch action. 2008-10-13 13:00:06 +02:00
Alexandre Julliard 87e21fe585 msi/tests: Clean up the binary.dat file. 2008-10-09 14:27:21 +02:00
James Hawkins 68268dc3df msi: Initialize the count variable to zero. 2008-10-09 13:01:31 +02:00
James Hawkins 451aff9ae5 msi: Add extra constraints on the formatting string of edit path text. 2008-10-09 13:01:25 +02:00
James Hawkins 1484c6272d msi: Add a stub implementation of MsiDetermineApplicablePatches. 2008-10-09 13:01:18 +02:00
James Hawkins 8128d97fd4 msi: Replace lengthy calls to MSI_DatabaseOpenView with MSI_OpenQuery. 2008-10-09 12:58:47 +02:00
James Hawkins f03889ae82 msi: Add initial implementation of MsiDatabaseMerge, with tests. 2008-10-09 12:58:25 +02:00
James Hawkins c9ec69db02 msi: Add tests for converting record fields between strings and ints. 2008-10-09 12:58:12 +02:00
James Hawkins b187008345 msi: Remove a part of a debugging statement that was accidentally left in. 2008-10-09 12:58:09 +02:00
Michael Stefaniuc 704ebf280e msi: Use the right FAILED/SUCCEEDED macro instead of negating the opposite. 2008-10-08 13:43:17 +02:00
James Hawkins e88b09a342 msi: Don't update the table columns if there are no more columns.
This should fix the heap corruption that caused intermittent crashes
for patchwatcher.
2008-10-07 12:14:03 +02:00
James Hawkins 7cd6736886 msi: Add tests for dropping tables with multiple columns. 2008-10-07 12:13:52 +02:00
James Hawkins 374c042880 msi: Remove the columns in reverse order. 2008-10-07 12:13:46 +02:00
James Hawkins aa230a6267 msi: Remove a break that kept other columns from getting the table name. 2008-10-07 12:13:39 +02:00
James Hawkins d15fddf6f5 msi: Resolve file source paths dynamically, as the source directory can be changed. 2008-10-07 12:13:33 +02:00
Jacek Caban 417134709d msi: Added MsiInstallMissingComponentW stub implementation. 2008-10-07 12:12:54 +02:00
James Hawkins 62c544cf4f msi: Implement the DROP TABLE sql command. 2008-10-06 13:05:52 +02:00
James Hawkins 48e6e584d3 msi: Fix a test that fails in win95. 2008-10-01 11:41:34 -05:00
James Hawkins 4749ee2662 msi: Forward MsiDatabaseMergeA to MsiDatabaseMergeW. 2008-10-01 11:41:29 -05:00
James Hawkins 525865447e msi: Add a stub implementation of MsiDatabaseMerge. 2008-10-01 11:41:23 -05:00
Marcus Meissner 628b8e7630 msi: Fix potential uninitialized use of substg. 2008-09-30 11:33:38 -05:00
James Hawkins 3713720351 msi: Fix several test failures in win9x. 2008-09-29 17:24:17 -05:00
Marcus Meissner dd142bf5a7 msi/tests: Fix explicit C:\\Program Files\\ references. 2008-09-29 17:23:42 -05:00
Louis Lenders e16e15bf0c msi: Add stub for MsiSetExternalUIRecord. 2008-09-25 13:27:38 +02:00
Detlef Riekenberg 88a5bdb858 msi: Remove redundant NULL check before SysFreeString. 2008-09-23 12:12:35 +02:00
Marcus Meissner 67b06ecba5 msi/tests: Reduce buffer to size of string written. 2008-09-15 11:43:53 +02:00
Paul Vriens 2dfcb94211 msi/tests: Prevent a crash on NT4. 2008-09-15 11:23:42 +02:00
Paul Vriens 58ddb6f564 msi/tests: Create only one log file and delete it afterwards. 2008-09-11 11:43:09 +02:00
Rob Shearman ef1b0cacfa msi: Reduce destination file name used in the MoveFiles action to the long file name.
Add a test for this behaviour.
2008-09-10 12:08:52 +02:00
Andrew Talbot be759dddb8 msi: Uninitialized variable fix (Coverity). 2008-09-10 10:41:54 +02:00
James Hawkins d11968cade msi: Fix a few file access discrepancies between platforms. 2008-09-09 11:46:17 +02:00
James Hawkins 765275a306 msi: Make sure read-only source files are set writable after being copied. 2008-09-08 12:47:22 +02:00
James Hawkins 8a9ba8f73f msi: Actions should be run even if the installed state is the same as the requested state. 2008-09-08 12:47:22 +02:00
Marcus Meissner 96412ee564 Annotate with allocation size attribute. 2008-09-05 11:22:26 +02:00
James Hawkins 3f00006f1f msi: Source for new patch files can only be compressed. 2008-09-04 11:52:21 +02:00
Hongbo Ni 9eb3a9c157 msi: Add simplified and traditional Chinese resources. 2008-09-04 11:41:53 +02:00
James Hawkins e5fd83da6d msi: Fix a failing test in Vista. 2008-09-03 13:14:51 +02:00
Paul Vriens c559895ce9 msi/tests: Create a system restore point when needed. 2008-09-02 13:28:23 +02:00
Paul Vriens 4bc832c29a msi/tests: Add a missing CoUninitialize. 2008-09-02 13:27:46 +02:00
James Hawkins f40890c940 msi: Add tests for opening an empty package. 2008-08-29 13:26:33 +02:00
James Hawkins d880470dbf msi: Handle converting a value of REG_DWORD in MsiSourceListEnumMediaDisks. 2008-08-29 13:26:25 +02:00
Paul Vriens dd0ec9f811 msi/tests: Remove service tests. 2008-08-28 11:03:42 +02:00
James Hawkins 4b9fd1d5e2 msi: Store the _Columns and _Tables tables in the database structure. 2008-08-25 11:40:46 +02:00
James Hawkins 3bec162d51 msi: Skip the component action detection logic if there is no product code. 2008-08-25 11:40:38 +02:00
James Hawkins d596ae29d8 msi: Skip the feature action detection logic if there is no product code. 2008-08-25 11:40:30 +02:00
James Hawkins c855fbfcd8 msi: Don't install a feature that is disabled. 2008-08-25 11:40:22 +02:00
James Hawkins 9288055beb msi: Only set the action to source if the component has a local feature. 2008-08-25 11:40:15 +02:00
James Hawkins 3807a91739 msi: Fix the logic to determine the appropriate action of the feature. 2008-08-25 11:40:09 +02:00
James Hawkins 63064f7a45 msi: Handle features installed as source in MsiQueryFeatureState. 2008-08-25 11:40:02 +02:00
James Hawkins 472b991958 msi: Don't remove a misc file if the action is unknown. 2008-08-21 11:44:39 +02:00
James Hawkins 7c9873e471 msi: Fix the logic to determine the appropriate action of the component. 2008-08-21 11:44:27 +02:00
James Hawkins f909e1c06e msi: Don't remove a file that is installed as source. 2008-08-21 11:44:19 +02:00
James Hawkins 4553d0fd47 msi: Remove an invalid setting of the install state. 2008-08-21 11:44:13 +02:00
James Hawkins 39b874706c msi: Handle components installed as source in MsiQueryComponentState. 2008-08-21 11:44:05 +02:00
James Hawkins b965a74ef2 msi: Downgrade an ERR to a TRACE. 2008-08-21 11:43:58 +02:00
James Hawkins 7b858882ac msi: If the filename is empty or NULL, remove the directory. 2008-08-21 11:43:51 +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 10a2a5effe msi: Base removal of a file on the component's action, not the file's state. 2008-08-19 13:56:01 +02:00
James Hawkins 7fbce31ef7 msi: Add more tests for feature and component states. 2008-08-19 13:55:58 +02:00
James Hawkins 5ea0d9d807 ole32: Storage sharing should be implemented in ole32, not the lower-level file API. 2008-08-19 13:55:53 +02:00
James Hawkins 0e6bfb3b43 msi: Test the file access and share modes of MsiOpenDatabase. 2008-08-19 13:39:51 +02:00
James Hawkins e64a699b07 msi: Remove misc files from the RemoveFile table. 2008-08-19 13:39:40 +02:00
James Hawkins a00bdc1178 msi: A file's component's state does not determine file removal. 2008-08-19 13:39:30 +02:00
James Hawkins f33ef6ac3b msi: Don't remove a file if the old file is strictly newer than the version to be installed. 2008-08-19 13:39:19 +02:00
James Hawkins ca4b17efe8 msi: Don't check for a NULL component, as the component is guaranteed to exist. 2008-08-19 13:39:11 +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
James Hawkins d9f2120f14 msi: Ignore all non-stream elements when filling the _Streams table. 2008-08-19 13:36:25 +02:00
Rob Shearman cda469c890 msi: Fix handle leak in ITERATE_SelfRegModules. 2008-08-18 17:34:12 +02:00
James Hawkins 6e63953b4c msi: Also check the LocalPackage install property when searching for the product package. 2008-08-18 17:15:46 +02:00
James Hawkins d500dc4f31 msi: Test how MsiConfigureProductEx locates the source package. 2008-08-18 17:04:53 +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 8782fdba1b msi: Add a stub implementation of MsiEnumPatchesEx. 2008-08-04 13:04:30 +02:00
James Hawkins 68e6be45e1 msi: Add tests for MsiOpenProduct. 2008-07-31 13:04:44 +02:00
James Hawkins 9b426be0ee msi: Reimplement MsiOpenProduct. 2008-07-31 13:04:36 +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 dfec94c157 msi: Add tests for MsiConfigureProductEx. 2008-07-29 12:20:11 +02:00
James Hawkins cbf32ff28a msi: Set the ALLUSERS property for the machine context. 2008-07-29 12:20:03 +02:00
James Hawkins 0b240c7aa3 msi: Handle the INSTALLSTATE_ABSENT state in MsiConfigureProductEx. 2008-07-29 12:19:57 +02:00
James Hawkins 9518d7f8c7 msi: Properly locate the published product in MsiConfigureProductEx. 2008-07-29 12:19:51 +02:00
James Hawkins ac976c94c8 msi: Validate the szProduct parameter of MsiConfigureProductEx. 2008-07-29 12:19:44 +02:00
James Hawkins 38106ac230 msi: Handle the package context when unpublishing the product. 2008-07-29 12:19:37 +02:00
James Hawkins 396eea6006 msi: Determine the source path based on the short/long file names bit of the Word Count summary property. 2008-07-22 13:10:56 +02:00
James Hawkins ede4a3b598 msi: Set all folders' source paths to the root directory if the source type is compressed. 2008-07-22 13:10:45 +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 36f282b0b1 msi: Test mixing short and long source paths when installing a file. 2008-07-22 13:10:31 +02:00
James Hawkins 64a9e0f750 msi: msidbFileAttributesVital has no effect on the installation of files. 2008-07-22 13:10:21 +02:00
James Hawkins 4e467ad729 msi: Halt the installation with an error if a source file is missing. 2008-07-22 13:10:12 +02:00
James Hawkins 27ce47a263 msi: Test getting the source path from a package with short file names. 2008-07-22 13:10:00 +02:00
James Hawkins e806a285ef msi: Test getting the source path from a package with compressed files. 2008-07-22 13:09:51 +02:00
James Hawkins 45f9cb4d62 msi: Add more tests for MsiGetSourcePath. 2008-07-22 13:09:44 +02:00
James Hawkins 4cacdc7dba msi: Initialize the update function pointer when creating the control. 2008-07-18 11:15:38 +02:00
Jacek Caban 014b96ef15 msi: Added Session::Message implementation. 2008-07-17 11:36:22 +02:00
Andrew Talbot 0f75796a28 msi: Remove unneeded address-of operators from array names. 2008-07-11 14:06:19 +02:00
James Hawkins 1fed032a43 msi: Only copy the resulting string if the RegistryValue call succeeded. 2008-07-09 10:44:59 +02:00
James Hawkins 1ed12b76e1 msi: Add tests for opening a package from a database. 2008-07-09 10:44:54 +02:00
Alexandre Julliard 79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
James Hawkins e59b3fa864 msi: Consolidate and add more SourceDir tests. 2008-07-08 10:55:05 +02:00
James Hawkins 26ae658986 msi: Only use the long filename when resolving the source path. 2008-07-08 10:55:01 +02:00
James Hawkins 44bfb9911b msi: Consolidate the MsiGetSourcePath tests and add more tests. 2008-07-08 10:54:58 +02:00
James Hawkins ca4758201d msi: Parse the MSIDBOPEN_PATCHFILE flag. 2008-07-08 10:50:11 +02:00
James Hawkins ccd030c7d3 msi: Add handling for the special _Storages table. 2008-07-08 10:50:04 +02:00
James Hawkins ae9b579135 msi: Properly add a storage to the database and verify its contents. 2008-07-08 10:48:33 +02:00
James Hawkins d9ac95be5b msi: Test the special _Storages table. 2008-07-02 12:04:08 +02:00
Hans Leidekker c9969780bc msi: Correct spec file entry for MsiGetFileVersion{A, W}. 2008-06-30 15:09:12 +02:00
James Hawkins 89a8cfdb53 msi: Don't overwrite a file that has a greater or equal version to the source file. 2008-06-25 20:28:52 +02:00
James Hawkins 6056fd1b05 msi: Add another MsiGetFileVersionTest. 2008-06-25 10:43:02 +02:00
James Hawkins 0097275f3f msi: Add tests for MsiGetUserInfo. 2008-06-24 12:16:01 +02:00
James Hawkins 41fe12f149 msi: Reimplement MsiGetUserInfo. 2008-06-24 12:15:48 +02:00
James Hawkins 72fedf7d88 msi: Handle the machine context in MsiQueryFeatureState. 2008-06-24 12:15:38 +02:00
James Hawkins 200eba3b94 msi: Handle the user managed context in MsiQueryFeatureState. 2008-06-24 12:15:31 +02:00
James Hawkins aefd63dc4e msi: Add more tests for MsiQueryFeatureState. 2008-06-24 12:15:23 +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 e6d126cd49 msi: Test the PublishProduct action with the machine context. 2008-06-24 12:14:56 +02:00
James Hawkins cdb33f8a39 msi: Publish the UpgradeCode in PublishProduct. 2008-06-24 12:14:49 +02:00
James Hawkins 5538fa0290 msi: Publish media disks whether the drive type is removable or not. 2008-06-24 12:14:42 +02:00
James Hawkins ef640a6cd5 msi: Publish a few more product properties. 2008-06-24 12:14:36 +02:00
James Hawkins c7ab4fad08 msi: Allow checking a REG_MULTI_SZ string. 2008-06-24 12:14:30 +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 bb8d253ecc msi: Rewrite the PublishProduct test to only check the registry changes. 2008-06-19 12:34:36 +02:00
James Hawkins c0f8bfd2dd msi: Test the RegisterProduct action with the machine context. 2008-06-19 12:34:29 +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 2194889d5d msi: Rewrite the RegisterProduct test to only check the registry changes. 2008-06-19 12:34:04 +02:00
James Hawkins 2a180e060a msi: Fix the PublishFeatures action to handle the package context. 2008-06-19 12:33:55 +02:00
Paul Vriens 61daa613dd msi/tests: Fix some test failures.
Results on test.winehq.org show failures for at least Vista as new
DISPID's are known there.
2008-06-19 11:55:05 +02:00
James Hawkins af56e28f7e msi: Don't publish features to an invalid location. 2008-06-18 16:24:09 +02:00
James Hawkins d8e4258d08 msi: Rewrite the PublishFeatures test to only check the registry changes. 2008-06-18 16:24:05 +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 79d0c3719f msi: Rewrite the RegisterUser test to only check the registry changes. 2008-06-18 16:23:57 +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 073d55e73b msi: Rewrite the ProcessComponents test to only check the registry changes. 2008-06-18 16:17:56 +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
Paul Vriens ad2c9211bc msi/tests: Cleanup registry after test. 2008-06-11 11:26:22 +02:00
Dan Kegel a302ec645c msi/tests: Initialize buffer lengths before calling MsiSourceListEnumMediaDisks. 2008-06-06 10:28:35 +02:00
Dan Kegel ecfa0fbcea msi: MsiSourceListEnumMediaDisksW: free original string, not substring. 2008-06-04 12:53:25 +02:00
Dmitry Timoshkov 76d6b76737 msi: Mark some data as constant. 2008-05-26 19:46:09 +02:00
James Hawkins 77d259f46c msi: Search the last used source if the cabinet to extract cannot be found. 2008-05-22 11:30:54 +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
Mikołaj Zalewski 14a42f802d Make Swedish use SUBLANG_NEUTRAL. 2008-05-19 16:09:13 +02:00
James Hawkins 95282bdeaa msi: Reset the hasLocalFeature flag when updating components. 2008-05-19 13:36:45 +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