James Hawkins
5e5c4a9809
msi: Don't publish the product for the custom action test.
2008-03-15 11:02:50 +01:00
Marcus Meissner
db71fb15aa
msi: Initialize variables.
2008-03-14 11:21:22 +01:00
James Hawkins
65f99ed91b
msi: Test and fix MsiSourceListAddSource.
2008-03-13 11:36:24 +01:00
Rob Shearman
58130dde08
msi: Passing NULL for szBuffer and NULL for pcchValueBuf into MsiGetProductInfo{A, W} shouldn't crash.
...
Add a test for this.
2008-03-12 19:21:27 +01:00
Rob Shearman
dd31a1eac4
msi: Fix typos which caused joins of three or more tables to not work properly.
...
In JOIN_fetch_int and JOIN_fetch_stream, prev_rows should be multiplied
by the rows encountered in the current table so that prev_rows contains
all of counts of the rows encountered multiplied together, rather than
just the count of the rows in the last table encountered.
2008-03-12 19:21:19 +01:00
James Hawkins
de4cab20a8
msi: Deformat the service name and display name when installing the service.
2008-03-12 12:00:23 +01:00
James Hawkins
2d0ff97406
msi: Ignore the custom action type 51 if the source field is empty.
2008-03-11 12:12:24 +01:00
James Hawkins
776a7d7065
msi: Fix an off-by-one error when applying embedded transforms.
2008-03-11 12:12:14 +01:00
James Hawkins
5871bee8c7
msi: Optimize MsiSourceListAddSourceEx for adding to the end of the list.
2008-03-11 12:12:07 +01:00
Andrew Talbot
6661f43438
msi: Assign to structs instead of using memcpy.
2008-03-07 11:01:07 +01:00
James Hawkins
d52f48fed4
msi: Fix handling of published installer properties.
2008-03-07 10:52:46 +01:00
Ove Kaaven
be874f1a26
msi: Fix bug in handling of multivolume CAB files.
2008-03-07 10:52:11 +01:00
James Hawkins
c8acf21e0c
msi: Break out the publishing tests into their respective actions.
2008-03-06 16:24:39 +01:00
Paul Vriens
2c22e9aeb6
msi/tests: Make tests run on win9x/NT4 again.
2008-03-05 11:21:56 +01:00
Rob Shearman
48000893f9
makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
...
Only specify the root to keep platform-specifics out of the individual
DLL makefiles.
2008-03-04 20:55:01 +01:00
James Hawkins
4609eccd72
msi: Add tests for MsiGetProductInfoEx.
2008-03-04 11:54:21 +01:00
James Hawkins
ad70693539
msi: Implement MsiGetProductInfoEx.
2008-03-04 11:54:21 +01:00
James Hawkins
0c3ecefbc3
msi: Include query.h to pull in the definition of STREAMS_CreateView.
2008-03-01 12:18:54 +01:00
James Hawkins
6febb8fda8
msi: Remove a pointless wrapper of RegCreateKey.
2008-03-01 12:18:43 +01:00
James Hawkins
4439e0b57d
msi: Make local functions static.
2008-03-01 12:18:40 +01:00
James Hawkins
617eb48d5b
msi: Implement the UILevel property of the Installer object.
2008-03-01 12:18:24 +01:00
James Hawkins
724c8da734
msi: Don't bail out if the row to modify is not found as not all modify commands need the row.
2008-03-01 12:17:31 +01:00
James Hawkins
eedfacdfe7
janitorial: Remove links to any microsoft site.
2008-03-01 12:04:03 +01:00
Alexandre Julliard
848383ac82
msi/tests: Replace a printf() by a trace().
2008-02-29 20:55:42 +01:00
James Hawkins
174b7b51ac
msi: Update controls based on a property when that property changes.
2008-02-28 10:59:22 +01:00
James Hawkins
5e2bc5b3fe
msi: If a feature's action is INSTALLSTATE_UNKNOWN, MsiEvaluateCondition should return MSICONDITION_FALSE.
2008-02-28 10:59:16 +01:00
Marcus Meissner
eb836b718f
msi: Initialize type (Coverity).
2008-02-28 10:50:57 +01:00
Rob Shearman
3183ad65d2
msi: Fix buffer size calculation in build_default_format.
2008-02-28 10:44:11 +01:00
Rob Shearman
03e466b837
msi: Fix the buffer size calculation in msi_build_createsql_prelude.
2008-02-28 10:44:06 +01:00
James Hawkins
9101665233
msi: Change the property variant if the types don't match.
2008-02-27 14:52:26 +01:00
Paul Vriens
1bbac341df
msi/tests: Fix test that depends on the order of the files in a directory.
2008-02-27 14:52:25 +01:00
Paul Vriens
6b37543adc
msi/tests: Skip tests that contain functions that are not available.
2008-02-27 14:52:24 +01:00
Paul Vriens
ecf8c5af36
msi/tests: Skip tests for functions that are not available.
2008-02-27 14:52:24 +01:00
Paul Vriens
e7937f3cd5
msi/tests: Make sure tests will run on Win9x and NT.
2008-02-27 14:52:24 +01:00
James Hawkins
bdbb7a0348
msi: Search existing published sources if the media cannot be found.
2008-02-26 11:20:46 +01:00
James Hawkins
cf84e2df5b
msi: Allow setting a media disk as the last used source in the internal msi_set_last_used_source.
2008-02-26 11:20:35 +01:00
James Hawkins
7d10d1d2d0
msi: Store the media type and set the last used source type accordingly.
2008-02-26 11:20:27 +01:00
James Hawkins
6e2048bbc7
msi: Read the source list properties from the user-unmanaged context.
2008-02-26 11:20:18 +01:00
James Hawkins
acfed4cfab
msi: Read the disk prompt source list property from the user-unmanaged context.
2008-02-26 11:20:13 +01:00
James Hawkins
d62bd166dc
msi: Remove setting a source list property that's in the wrong place.
2008-02-26 11:20:07 +01:00
James Hawkins
4d2cf7a44b
msi: Publish source information in the user-unmanaged context.
2008-02-26 11:20:02 +01:00
James Hawkins
7e8cd606a0
msi: Add tests for MsiSourceListEnumMediaDisks.
2008-02-26 11:19:45 +01:00
James Hawkins
1bd49bcf74
msi: Implement MsiSourceListEnumMediaDisks.
2008-02-26 11:19:40 +01:00
James Hawkins
45d7d6a4e1
msi: Fix skipping a NULL record.
2008-02-26 11:19:29 +01:00
Paul Vriens
89c8e795d8
msi/tests: Make tests run on win9x/NT4 again.
2008-02-25 19:49:54 +01:00
James Hawkins
21b4af1b46
msi: Fix and simplify handling of REG_MULTI_SZ strings in the WriteRegistryValues action.
2008-02-25 12:22:16 +01:00
James Hawkins
b532c0c306
msi: Simplify MsiSourceListAddMediaDisk.
2008-02-25 12:22:09 +01:00
James Hawkins
d3b3738567
msi: Remove invalid fixmes.
2008-02-25 12:22:03 +01:00
James Hawkins
08172ad1c4
msi: Return the result of the call to OpenSourceKey.
2008-02-25 12:21:58 +01:00
James Hawkins
34d50c1e3e
msi: Validate the parameters of MsiSourceListAddMediaDisk.
2008-02-25 12:21:51 +01:00
James Hawkins
1fced5cc1d
msi: Add tests for MsiSourceListAddMediaDisk.
2008-02-25 12:21:42 +01:00
James Hawkins
8b540d2670
msi: Fix the INSTALLPROPERTY_LASTUSEDTYPE case.
2008-02-25 12:21:19 +01:00
James Hawkins
737dedfcbb
msi: Fix the INSTALLPROPERTY_LASTUSEDSOURCE case.
2008-02-25 12:20:56 +01:00
James Hawkins
d41cae07d5
msi: Factorize and fix the INSTALLPROPERTY_MEDIAPACKAGEPATH case.
2008-02-25 12:20:48 +01:00
James Hawkins
f178985db3
msi: Simplify the check for a valid product code.
2008-02-25 12:20:39 +01:00
James Hawkins
868de4d56b
msi: Add more tests for MsiSourceListGetInfo.
2008-02-25 12:20:33 +01:00
James Hawkins
88c7c2c7a1
msi: Fix the size of the data sent in to RegSetValueExW.
2008-02-22 12:11:16 +01:00
James Hawkins
e43eee8759
msi: Fix the INSTALLPROPERTY_LASTUSEDSOURCE case of MsiSourceListSetInfo.
2008-02-21 12:53:00 +01:00
James Hawkins
6c7339eea1
msi: Allow enumerating the sources without querying the source name.
2008-02-21 12:53:00 +01:00
James Hawkins
3de0014750
msi: Publish a few SourceList properties.
2008-02-21 12:53:00 +01:00
James Hawkins
2d5ba8d20d
msi: Implement MsiSourceListEnumSources.
2008-02-21 12:53:00 +01:00
James Hawkins
55b470545f
msi: Forward MsiSourceListEnumSourcesA to a stub implementation of MsiSourceListEnumSourcesW.
2008-02-20 12:07:10 +01:00
Gerald Pfeifer
db70edfc82
msi: Remove unused parameter to msi_comp_find_prodcode().
2008-02-19 18:08:38 +01:00
Gerald Pfeifer
6bf0f0e1f6
msi: Adjust the signedness of three variables.
2008-02-19 18:08:28 +01:00
James Hawkins
123602df78
msi: Remove invalid FIXMEs.
2008-02-19 13:39:25 +01:00
James Hawkins
7cf6be8aeb
msi: Return ERROR_INVALID_PARAMETER if the context is machine and szUserSid is non-NULL.
2008-02-19 13:39:25 +01:00
James Hawkins
4ee1745e81
msi: Validate the dwOptions parameter of MsiSourceListSetInfo.
2008-02-19 13:39:25 +01:00
James Hawkins
95ef6a1fbc
msi: Simplify the MEDIAPACKAGEPATH and DISKPROMPT cases.
2008-02-19 13:39:25 +01:00
James Hawkins
fe987103fb
msi: Return the results from OpenSourceKey.
2008-02-19 13:39:25 +01:00
James Hawkins
d37ac289db
msi: Return ERROR_UNKNOWN_PATCH if dwOptions contains MSICODE_PATCH.
2008-02-19 13:39:25 +01:00
James Hawkins
f83d049888
msi: Validate the szProduct parameter of MsiSourceListSetInfo.
2008-02-19 13:39:25 +01:00
James Hawkins
10be16f33a
msi: Add tests for MsiSourceListSetInfo.
2008-02-19 13:39:25 +01:00
Francois Gouget
4a7bedfe75
msi: Use 'HKCU\Software\Microsoft\MS Setup (ACME)' as a source for the default user and company names before falling back to the RegisteredXXX values. Fix the conformance test accordingly.
2008-02-19 13:39:24 +01:00
Rob Shearman
9b5d3677df
msi: Remove some unused functions.
2008-02-19 13:39:24 +01:00
James Hawkins
9d0ae904d0
msi: Add tests for MsiSourceListEnumSources.
2008-02-18 12:41:37 +01:00
James Hawkins
f177dc9f90
msi: Add tests for enumerating the source list after publishing.
2008-02-18 12:41:37 +01:00
James Hawkins
40aa7df344
msi: Implement the MSIMODIFY_REFRESH command of MsiViewModify.
2008-02-18 12:41:37 +01:00
James Hawkins
30e5321867
msi: Add tests for the MSIMODIFY_REFRESH command.
2008-02-18 12:41:37 +01:00
James Hawkins
bbdf79bc8c
msi: Convert REG_DWORD properties to strings in MsiGetProductInfo.
2008-02-18 12:41:37 +01:00
James Hawkins
8412a1363b
msi: Set the UserLanguageID property.
2008-02-18 12:41:37 +01:00
Rob Shearman
85fbdfcc9e
msi: Fix the character count passed into RegSetValueExA in test_MsiQueryFeatureState.
2008-02-18 12:41:36 +01:00
Marcus Meissner
11b25a65ac
msi: Fixed error reporting of add_streams_to_table.
2008-02-16 15:15:26 +01:00
Paul Vriens
4c105b2f5c
msi/tests: Services are not available on win9x.
2008-02-15 11:07:19 +01:00
Rob Shearman
e35bd05082
msi: Add stub implementation of MsiIsProductElevatedA/W.
2008-02-15 09:59:59 +01:00
James Hawkins
050fa6a40c
msi: Add tests for source folder resolution.
2008-02-13 16:41:14 +01:00
James Hawkins
ec086f77e3
msi: Handle carriage returns in MsiDatabaseImport.
2008-02-12 22:59:53 +01:00
James Hawkins
00cfd2899b
msi: Use MsiViewModify instead of building a SQL query when adding rows to the table.
2008-02-12 22:59:46 +01:00
James Hawkins
4cc569cce6
msi: Read the language info from the file.
2008-02-12 22:59:37 +01:00
James Hawkins
1f3d6a9744
msi: Reimplement MsiGetProductInfo.
2008-02-12 22:59:29 +01:00
James Hawkins
f461a8d4c1
msi: Test the remaining installer properties returned by MsiGetProductInfo.
2008-02-11 20:55:03 +01:00
James Hawkins
ff0dc44f2d
msi: Return ERROR_INVALID_PARAMETER if szProduct is invalid.
2008-02-11 20:53:13 +01:00
James Hawkins
33c1e6ef56
msi: Add tests for MsiGetProductInfo.
2008-02-11 20:47:52 +01:00
James Hawkins
0d56df214b
msi: Successfully return an empty string when requesting a record index beyond the record's size.
2008-02-11 20:45:24 +01:00
James Hawkins
2750ed167f
msi: Don't check for the existence of the msi package when running a concurrent install.
2008-02-11 20:45:17 +01:00
James Hawkins
a8d87a86cc
msi: Handle the special table _ForceCodepage in MsiDatabaseExport.
2008-02-11 20:42:29 +01:00
James Hawkins
7d529228d3
msi: Add tests for not using quotes in SQL queries.
2008-02-11 20:42:19 +01:00
Alexandre Julliard
2e6ec39565
msi/tests: Fix test that depends on the order of the files in a directory.
2008-02-11 20:41:40 +01:00
James Hawkins
d89ee5fdd6
msi: Test using carriage returns in SQL queries and imported tables.
2008-02-07 12:09:10 +01:00
Michael Stefaniuc
41848c828b
msi: Fix "type of 'x' defaults to 'int'" warnings.
2008-02-06 11:36:04 +01:00
James Hawkins
2f658cb337
msi: Fix handling of the NULL separator when writing registry values.
2008-02-05 12:21:23 +01:00
James Hawkins
5a0d459cc4
msi: Reimplement MsiFormatRecord.
2008-02-05 12:19:37 +01:00
James Hawkins
e618c6d115
msi: Add more tests for MsiFormatRecord.
2008-02-05 12:19:37 +01:00
James Hawkins
ffc251f5dd
msi: Return ERROR_MORE_DATA if the size is too small.
2008-02-05 12:19:37 +01:00
James Hawkins
dc8f714ade
msi: Return the string length even if the string is NULL.
2008-02-05 12:19:37 +01:00
James Hawkins
40841946f5
msi: Leave room for the NULL terminator.
2008-02-05 12:19:37 +01:00
James Hawkins
d165435048
msi: Return ERROR_FILE_INVALID if the file has no version information.
2008-02-05 12:19:37 +01:00
James Hawkins
03335de8d0
msi: Return ERROR_INVALID_PARAMETER if a string pointer is non-NULL and the size pointer is NULL.
2008-02-05 12:19:37 +01:00
James Hawkins
856800c84b
msi: Translate ERROR_BAD_PATHNAME into ERROR_FILE_NOT_FOUND.
2008-02-05 12:19:37 +01:00
James Hawkins
5d46eeac75
msi: Only convert output strings if the call succeeded.
2008-02-05 12:19:36 +01:00
James Hawkins
8079d9f2ab
msi: Add tests for MsiGetFileVersion.
2008-02-05 12:19:36 +01:00
James Hawkins
146e34e662
msi: Implement the MSIMODIFY_ASSIGN action of MsiViewModify for the streams table.
2008-02-05 12:19:36 +01:00
James Hawkins
56574c7c6e
msi: Add tests for using single quotes in an INSERT query.
2008-02-05 12:19:36 +01:00
Paul Vriens
46f1330e02
msi/tests: Only use functions if they are implemented.
2008-01-24 12:08:44 +01:00
Paul Vriens
3272fef91a
msi/tests: Only use functions if they are implemented.
2008-01-24 12:08:39 +01:00
James Hawkins
1868abda89
msi: Add more MsiFormatRecord tests.
2008-01-21 11:51:20 +01:00
Marcus Meissner
943ac9795b
msi: Replaced msi_free() by LocalAlloc() since ConvertSidToStringSidW uses LocalAlloc().
...
Spotted by Christoph von Wittich <Christoph@ApiViewer.de>.
2008-01-21 11:51:08 +01:00
Christoph von Wittich
007833f130
msi: Fix process token leak.
2008-01-21 11:39:37 +01:00
Francois Gouget
44b52b128c
Assorted spelling fixes.
2008-01-16 12:48:29 +01:00
James Hawkins
ced64861f5
msi: dest_path refers to the directory prefix, not the entire file path.
2008-01-16 12:16:43 +01:00
Francois Gouget
62c59deaa1
msi/tests: Tweaked so it does not look like things are misspelled.
2008-01-11 12:25:44 +01:00
Gerald Pfeifer
388edd1086
msi: Complete initializers.
2008-01-10 13:20:15 +01:00
James Hawkins
4b75f33012
msi: Actually delete the row data instead of blanking it out.
2008-01-09 13:38:02 +01:00
James Hawkins
419a8a2426
msi: Test committing a table with a removed row.
2008-01-09 13:38:02 +01:00
James Hawkins
ce8199a46e
msi: Handle markers in the WHERE section of an UPDATE query, with tests.
2008-01-09 13:38:02 +01:00
Rico Schüller
63c5e152a1
msi: Fix memory leaks (found by Smatch).
2008-01-07 13:46:06 +01:00
James Hawkins
5352d099b4
msi: Create parent directories when duplicating files if they don't exist, with tests.
2008-01-07 12:16:56 +01:00
James Hawkins
837588c6a3
msi: Pad the month and day to two digits.
2008-01-07 12:16:45 +01:00
James Hawkins
d316a94ecb
msi: Remove an erroneous table.
2008-01-07 12:16:30 +01:00
James Hawkins
c37849ad82
msi: Copy the temporary package when storing the installer.
2008-01-07 12:16:15 +01:00
James Hawkins
e28cedf698
msi: Check the local package for existence when resolving the package source.
2008-01-07 12:16:04 +01:00
James Hawkins
b012c3366c
msi: Directly download mi->source now that SourceDir points to the URL.
2008-01-07 12:15:56 +01:00
James Hawkins
186487663a
msi: OriginalDatabase can be a URL so check for a forward slash too.
2008-01-07 12:15:48 +01:00
James Hawkins
062070bfbe
msi: SourceDir is formed from the path of OriginalDatabase.
2008-01-07 12:15:27 +01:00
James Hawkins
781e19aa4c
msi: OriginalDatabase is the fully-expanded path to the original package if the package is local and installed from the command line.
2008-01-07 12:15:16 +01:00
James Hawkins
c777d3095a
msi: Factor out msi_set_sourcedir_props.
2008-01-07 12:15:10 +01:00
James Hawkins
4121c9bbc6
msi: If the package is a URL, the OriginalDatabase property should be the URL and the DATABASE property should be the path to the local temporary package.
2008-01-07 12:15:01 +01:00
James Hawkins
31c461ea5b
msi: WriteEnvironmentStrings should also write to REG_EXPAND_SZ strings.
2008-01-07 12:14:52 +01:00
James Hawkins
4b4f737bfc
msi: Only read an internal package if the file to install is compressed.
2008-01-07 12:14:43 +01:00
Gerald Pfeifer
2b1e487d36
msi: Adjust the types of loop variables.
2008-01-04 12:12:43 +01:00
Gerald Pfeifer
bb8471beac
msi: Remove an extraneous safety check and simplify generate_error_string().
2008-01-03 11:53:45 +01:00
Gerald Pfeifer
739152ce3e
msi: Remove an extraneous safety check and simplify deformat_string().
2008-01-02 13:29:41 +01:00
Austin English
92e7fed80c
msi: Fix several typos.
2008-01-02 13:20:06 +01:00
Lionel Debroux
99ad76c3c1
msi: Correctly handle return value of msi_realloc.
2008-01-02 13:17:52 +01:00
Gerald Pfeifer
f7fea9e9f0
msi: Simplify condition in TABLE_fetch_stream().
2008-01-02 12:38:42 +01:00
Michael Stefaniuc
1f26b146d1
janitorial: Remove superfluous backslashes at end of lines.
2007-12-31 19:23:45 +01:00
Gerald Pfeifer
63655bc1a1
msi: Add missing initializer for delete_ops.
2007-12-31 17:29:24 +01:00
Gerald Pfeifer
05cf0bdf81
msi: Fix error handling in encode_streamname().
2007-12-27 13:43:56 +01:00
Rob Shearman
5b072fbbec
msi: Fix several memory leaks after using IEnumSTATSTG_Next.
...
The pwcsName field of STATSTG must be freed, otherwise the memory will
be leaked.
2007-12-26 14:02:01 +01:00
Andrew Talbot
15d6436295
msi: Remove unneeded cast.
2007-12-24 13:30:24 +01:00
James Hawkins
f0d369ba44
msi: Allow whitespace after the property name when setting a property in the dialog.
2007-12-23 14:17:11 +01:00