Commit Graph

771 Commits

Author SHA1 Message Date
Mike McCormack 188365e2f0 msi: Implement the Reset control event. 2006-01-03 12:12:09 +01:00
Francois Gouget 38884e0347 Small documentation tweaks to avoid winapi_check warnings. 2006-01-03 12:10:09 +01:00
Mike McCormack b7270b8c2d msi: Change some FIXME messages to comments. 2005-12-31 13:18:11 +01:00
Mike McCormack 04a086ad65 msi: Define the property "Intel" if we're running on an Intel processor. 2005-12-31 13:14:34 +01:00
Mike McCormack f24a9e2a24 msi: Add stub actions for CCPSearch and RMCCPSearch. 2005-12-31 13:14:23 +01:00
Bill Medland b56ed22277 msi: Prevent array underflow in MsiFormat when measuring with zero-length buffer. 2005-12-21 21:19:47 +01:00
Bill Medland e0d4df6bb7 msi: Use a default dialog font if nothing is specified. 2005-12-20 11:59:23 +01:00
Magnus Olsen a06aa5e996 msi: Fixed deformat_environment to not cut off string. 2005-12-19 18:17:28 +01:00
Christian Gmeiner e02e539c1e msi: Implemented DllCanUnloadNow. 2005-12-05 20:39:33 +01:00
Huw Davies 0d13aeb26e msi: Fix MsiProvideQualifiedComponentW spec file entry. 2005-12-05 20:38:18 +01:00
Robert Shearman 2d5dc32f35 The buffer sizes in the documentation for MsiDecomposeDescriptorW don't
include the NULL terminator, so fix this.
2005-11-30 12:02:06 +01:00
Mike McCormack 2a6d007c65 If a source directory doesn't exist, use the install root instead. 2005-11-28 10:37:08 +01:00
Mike McCormack 6a976373b3 Handle the ^ character in MaskEdit controls. 2005-11-28 10:36:54 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Mike McCormack 9fac484928 Make all source directories at the root of the install. 2005-11-24 19:22:44 +01:00
YunSong Hwang 68baacc859 Update Korean translations. 2005-11-21 12:01:19 +00:00
Mike McCormack 77da201e8f Loop around calling RegQueryValue until we have a big enough string
for both the name and the value.
2005-11-21 11:59:54 +00:00
Mike McCormack 26a6d598bb Convert MsiEnumComponentQualifiers to use msi_strcpy_to_awstring. 2005-11-15 18:12:21 +00:00
Mike McCormack d78dce709e Fix function prototype and spec file entry for
MsiEnumComponentQualifiers.
2005-11-15 16:55:04 +00:00
Mike McCormack dbc8f877fc Only return ERROR_MORE_DATA if there's a buffer to copy a result
into.
2005-11-15 16:53:47 +00:00
Mike McCormack 828280f4fd Set the Installed property if the product is already installed. 2005-11-15 12:00:13 +00:00
Mike McCormack deaae4b8d1 Empty strings are not equal to any number, so all comparisons against
them fail except for tests for non-equalness.
2005-11-14 12:29:10 +00:00
YunSong Hwang 6e20af5dac Add Korean translations. 2005-11-14 11:27:36 +00:00
Mike McCormack fc0cc66b54 Fix comparison of empty properties to numbers and add test cases. 2005-11-14 11:24:14 +00:00
Steven Edwards f5f8cd0846 Partly implement MsiMessageBox[A/W] on top of MessageBoxEx[A/W] 2005-11-11 10:52:53 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Francois Gouget f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +00:00
Aric Stewart 5cbd491b7b Use MsiDecomposeDescriptorW in MsiProvideQualifiedComponentExW. 2005-11-10 11:06:04 +00:00
Mike McCormack 5c63332b4f Fix passing of NULL pointers to MsiDecomposeDescriptor and add a
test.
2005-11-09 10:59:20 +00:00
Mike McCormack 454fa4bea0 Make sure we only CoUninitialize after successfully initializing.
Fix the address of the returned IShellLinkDataList interface.
2005-11-09 10:58:24 +00:00
Saulius Krasuckas 056d96939b Win9x returns MSIDBERROR_NOERROR. 2005-11-05 10:42:57 +00:00
Ivan Leo Puoti 5b22e4d6ef Fix some wrong prototypes. 2005-11-03 11:35:11 +00:00
Mike McCormack a977b2c346 Remove some redundant null pointer checks. 2005-11-03 09:56:29 +00:00
Mike McCormack 1238fda624 Add missing semicolons that caused compile trouble on FreeBSD. 2005-11-03 09:55:30 +00:00
Mike McCormack da20e4d9ca NULL and empty strings are the same in conditions. 2005-11-02 19:58:01 +00:00
Mike McCormack 451ef3a9c3 Stub implementation for MsiAdvertiseScriptA/W. 2005-11-02 19:54:31 +00:00
Mike McCormack 50684c15d5 Create the +msidb debug channel for msi database code. 2005-11-02 14:24:21 +00:00
Aric Stewart d5655f90cf Force files to install if the REINSTALL property is set. 2005-11-02 14:21:17 +00:00
Mike McCormack 76137e55b7 Fix parameter handling in MsiSetTargetPath, and add a test for it. 2005-11-02 11:43:05 +00:00
Mike McCormack fd4a2003db Implement the RemoveFiles action. 2005-11-02 11:42:56 +00:00
Mike McCormack 15e578dfbc Stub implementation for MsiGetFileHashA/W. 2005-11-02 10:56:54 +00:00
Mike McCormack dded8fb7a8 Use an enumeration for file states. 2005-11-02 10:56:42 +00:00
Mike McCormack 4413adf9a9 Define NONAMELESSUNION and NONAMELESSSTRUCT for older compilers. 2005-11-02 10:56:22 +00:00
Mike McCormack 7cd5467377 Make sure to unregister all the classes that were registered when msi
is unloaded, so we can register again cleanly.
2005-10-31 15:43:39 +00:00
Mike McCormack 3e6f31bf0b Fix and test MsiGetProperty and MsiSetProperty. 2005-10-31 14:07:37 +00:00
Mike McCormack 94caa05d07 Improve MsiUseFeatureEx and MsiGetFeatureState a little, add some
simple test cases.
2005-10-31 14:07:20 +00:00
Mike McCormack 559427023f Add a stub for the AllocateRegistrySpace action. 2005-10-30 19:23:28 +00:00
Mike McCormack ec5edeebf4 Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine. 2005-10-30 19:21:51 +00:00
Mike McCormack fa292e4bb2 Add a read-only implementation of the SelectionTree control. 2005-10-30 19:21:24 +00:00
Mike McCormack 7f26cffd6b Simplify register_progid() and remove a fixed length buffer. 2005-10-30 19:17:06 +00:00
Mike McCormack cad9677756 Handle MaskEdit masks containing dashes and other constant
characters.
2005-10-30 19:16:55 +00:00
Mike McCormack 9293f869cc Use msi_get_property_int() in a few more places. 2005-10-30 19:16:45 +00:00
Mike McCormack 06c477fec8 Add a stub implementation of msi.MsiSetMode. 2005-10-30 19:05:13 +00:00
Mike McCormack f8853e4a9f Remove unused package parameter of register_progid_base(). 2005-10-30 19:04:57 +00:00
Mike McCormack 9ba8ba30bb Use "static const" rather than "const static" as gcc -W complains
about the former.
2005-10-30 19:04:26 +00:00
Mike McCormack 991bae1409 Don't change the UI level during ExecuteAction. 2005-10-29 11:40:03 +00:00
Mike McCormack 13fee293ba Implement MsiGetFeatureUsageA and MsiUseFeature(Ex)A using their W
versions.
2005-10-29 11:36:57 +00:00
Mike McCormack d693f461ba Remove the unused 1st parameter of ACTION_VerifyComponentForAction. 2005-10-29 11:36:48 +00:00
Mike McCormack 96e24c1d82 Explicitly check for MSICONDITION_TRUE being returned from
MsiEvaluateCondition.
2005-10-29 11:29:31 +00:00
Mike McCormack 9c8458514c Some installers don't call the CreateFolders action before the
InstallFiles action as MSDN specifies, but it still seems to work, so
make sure that we create component directories in the InstallFiles
action anyway.
2005-10-29 11:29:17 +00:00
Mike McCormack 9d43994ec2 Add a bunch of tests for MsiEvaluateCondition and make them pass. 2005-10-29 11:08:05 +00:00
Mike McCormack 4007d748dc Make enter and escape trigger the default and cancel buttons in
dialogs.
2005-10-29 11:07:46 +00:00
Mike McCormack 29c93e431d Deleted two buggy functions that incorrectly and inefficiently check
whether a row already exists in a table, and replaced them with a call
to an existing working function that does the same thing correctly.
2005-10-29 11:07:29 +00:00
Mike McCormack ab787f9d89 Remove an incorrect comment and check for 0 being an invalid file
handle.
2005-10-29 11:07:11 +00:00
Mike McCormack d730baf3b1 Extract file directly to their target location, bypassing the need to
use temporary files and move files.
2005-10-29 10:31:06 +00:00
Thomas Weidenmueller 561f2f0399 Passing NULL as the last two parameters to ReadFile is illegal and
actually causes a crash on windows. The attached patch fixes this.
2005-10-29 10:29:08 +00:00
Mike McCormack 481bccc8b7 Add an implementation for MsiGetShortcutTargetA/W. 2005-10-29 10:28:30 +00:00
Mike McCormack 7d99f36d03 Fix a memory leak. 2005-10-28 16:41:02 +00:00
Mike McCormack 7bdcc78bcd Put the UI update code for cabinet file into a separate function. 2005-10-28 10:43:50 +00:00
Mike McCormack 8caef535e0 Return an error in MsiGetComponentPathW if passed a null component. 2005-10-28 10:41:20 +00:00
Mike McCormack 029c83d88e Fix error handling in MsiEvaluateCondition. 2005-10-28 10:41:05 +00:00
Mike McCormack 2fa0dbd595 Translate INVALID_HANDLE_VALUE to zero for cabinet handles. 2005-10-28 10:40:54 +00:00
Mike McCormack 923a9e47e7 Fix a memory leak in the cabinet extracting code. 2005-10-28 10:09:59 +00:00
Mike McCormack 0bf9978da2 Fix MsiGetPropertyA/W spec declarations. 2005-10-28 09:39:35 +00:00
Mike McCormack 03b4dbbdc4 Create component folders in the CreateFolders action. 2005-10-28 09:39:29 +00:00
Mike McCormack 558abec8d5 If an action fails, print out its name as well as the error code. Use
%d for error codes so it's easy to match them up to something in
winerror.h.
2005-10-27 12:39:28 +00:00
Mike McCormack 51c6618d8d Rename load_dynamic_stringW to msi_dup_record_field to better describe
what it does, and replace a few instances with MSI_RecordGetString to
avoid allocating memory.
2005-10-27 12:36:12 +00:00
Mike McCormack 1cd26d25fc Implement transforms. This still includes some debugging code which
can be enabled by setting debug_transform to 1 in the relevant
places.
2005-10-27 12:25:04 +00:00
Mike McCormack ba293eef48 Tidy up the RegisterProduct action a little. 2005-10-27 12:08:16 +00:00
Mike McCormack f8fef6ea94 Create a stub function to apply a single table transform and call it
where we need to apply transforms.
2005-10-26 13:56:33 +00:00
Mike McCormack 965a72add0 Enumerate the substorage transforms for any patches that are passed on
the command line with PATCH=.  Need to implement
table_apply_transform() before this will do anything interesting.
2005-10-26 12:06:21 +00:00
Mike McCormack 6d9c80e8a0 Create an internal handle-free api for reading MSI database summary
information.
2005-10-26 10:10:50 +00:00
Mike McCormack 2cb2316557 Switch back to using IPicture to load images. LoadImage did the
resizing for us, but doesn't handle jpeg files and requires us writing
a temp file, whereas IPicture handles jpeg files and can load directly
from a stream.
2005-10-26 10:10:34 +00:00
Mike McCormack 61f24a4ca7 Rename ACTION_DoTopLevelINSTALL to MSI_InstallPackage, remove its
duplicate 4th parameter.
Split the code to copy a package into a separate function.
2005-09-30 10:32:41 +00:00
Mike McCormack 0560ea618e Avoid UpdateWindow, it causes trouble with WS_EX_TRANSPARENT. 2005-09-29 10:48:08 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Mike McCormack 74f0de9638 Create a function to read a property as an integer. 2005-09-29 10:32:39 +00:00
Mike McCormack 3b95515015 Add some more action stubs, remove forward declarations. 2005-09-28 18:10:44 +00:00
Mike McCormack e3452228c6 Split command line parsing from MSI_InstallPackage into a separate
function.
2005-09-28 15:12:32 +00:00
Mike McCormack 41c8ab5bac Add the progress control. 2005-09-28 15:12:10 +00:00
Mike McCormack 8e74308a10 Fix and test MsiViewGetColumnInfo and binary fields. 2005-09-28 11:59:40 +00:00
Mike McCormack 3c37734f96 Don't quote numbers in a query, as it doesn't parse correctly. 2005-09-28 11:59:16 +00:00
Mike McCormack 41c788f5a1 Don't create MSI handles unless we have to pass one through the API. 2005-09-28 10:13:18 +00:00
Mike McCormack fbbb32d6d1 Create a function to determine the table's row size and use it.
Fix a memory leak in the table code.
2005-09-26 13:25:48 +00:00
Mike McCormack 744e22c7df Fix various query related memory leaks. 2005-09-26 10:55:18 +00:00
Mike McCormack 2586a0958e Make a macro function for unimplemented actions.
Add some more unimplemented action stubs.
2005-09-26 09:56:18 +00:00
Mike McCormack 3c62c53d77 Fill out the stubs for MsiApplyTransformA/W a bit more. 2005-09-26 09:55:38 +00:00
Mike McCormack c877a2ef53 Fix handle leaks in the test cases. 2005-09-26 09:55:12 +00:00
Mike McCormack de71dbb2d8 Make sure to set the minimum size before allocating string table
memory.
2005-09-26 09:54:56 +00:00
Mike McCormack 786920b7b6 Handle copying of the install package to a temporary file in one place
only.
2005-09-25 15:14:32 +00:00
Mike McCormack 0c9468d66b Fix another memory leak. 2005-09-25 15:14:16 +00:00
Mike McCormack b9a3a7a1f9 Stub implementation of the IsolateComponents action. 2005-09-25 15:14:03 +00:00
Mike McCormack 362079cfb0 Fix a memory leak. 2005-09-23 17:21:46 +00:00
Mike McCormack 94fbe09c5f Add a stub implementation of the BindImage action. 2005-09-23 17:21:10 +00:00
Mike McCormack 567f0314af Stub implementation of the PatchFiles action. 2005-09-23 11:06:57 +00:00
Mike McCormack 170278dfe0 Implement MsiGetShortcutTargetA. 2005-09-23 10:48:42 +00:00
Mike McCormack 8e22e7d7a9 Stub implementation of the MoveFiles action. 2005-09-23 10:48:17 +00:00
Dmitry Timoshkov 37548987ad COLOR_3DFACE is a better choice for the dialog background. 2005-09-23 10:47:26 +00:00
Mike McCormack 202166c343 Stub implementation of the RemoveIniValues action. 2005-09-23 10:09:18 +00:00
Mike McCormack 67f83ba7e5 Take advantage of the msi_get_deformatted_field function to simplify
some code.
2005-09-23 10:05:23 +00:00
Mike McCormack 216a4427d5 Avoid using static variables in the InstallFiles action. 2005-09-23 10:05:08 +00:00
Mike McCormack 470f23d471 Fix various memory leaks. 2005-09-22 10:56:26 +00:00
Mike McCormack 994382b2ee Skip the first character of a font identifier if it's \ or &. 2005-09-22 10:54:56 +00:00
Mike McCormack af71ce16bf Fix an error introduced when converting dialog lists to standard
lists.
2005-09-22 10:49:26 +00:00
Mike McCormack 566c69e7e4 Simplify the ProcessComponents action a little. 2005-09-22 10:49:17 +00:00
Mike McCormack 1c5967c48c Load a table's column information separately from the table itself. 2005-09-22 10:34:07 +00:00
Mike McCormack 75658d7aaa Make build_icon_path return the path directly. 2005-09-22 10:33:57 +00:00
Mike McCormack d34b1c23a2 Implement MsiSequenceA/W. 2005-09-21 10:55:23 +00:00
Mike McCormack 7d7da60db4 Don't refcount tables. 2005-09-21 10:20:20 +00:00
Mike McCormack f3f12ab56b Simplify the InstallValidate action a little. 2005-09-21 10:20:03 +00:00
Mike McCormack 4407ea632d Make sure not to free a a pointer that has been modified.
Check that the text identifier doesn't contain invalid characters.
2005-09-21 10:19:42 +00:00
Mike McCormack 6dc309187c Fix some simple memory leaks. 2005-09-21 09:43:29 +00:00
Dmitry Timoshkov 12b2cf4c77 Fix the usage of COLOR_xxx constants in the place of the window's
class hbrBackground.
2005-09-20 12:02:45 +00:00
Mike McCormack ee034ba4c2 Added memory allocation inline functions (part 2). 2005-09-20 11:59:14 +00:00
Mike McCormack 8dc28d5306 Added memory allocation inline functions (part 1). 2005-09-20 11:57:19 +00:00
Mike McCormack c621a5801f Fix if's that are followed by semicolons. 2005-09-20 11:37:58 +00:00
Jan Van Buggenhout eebf13a1d8 implement stubs for MsiSequence[AW]. 2005-09-20 11:37:30 +00:00
Milko Krachounov 980f817737 Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
2005-09-19 17:00:58 +00:00
Kimmo Myllyvirta d4dff29081 Added Finnish resources. 2005-09-19 14:29:49 +00:00
Alexander N. Sørnes f9b3edb42e Added Norwegian translations. 2005-09-18 12:26:22 +00:00
Mike McCormack 230e71cc18 Fix memory leaks in the table code. 2005-09-17 14:29:38 +00:00
Mike McCormack dcb0f239fe Read the MaskEdit template from the correct db field. 2005-09-17 14:29:29 +00:00
Mike McCormack b84e29747b Convert the list of dialog controls to a standard list. 2005-09-16 19:40:00 +00:00
Mike McCormack 6b5f290d75 Make load_string_table return the string table. 2005-09-16 19:01:40 +00:00
Mike McCormack 43fece976f Deformat all dialog text strings before using them. 2005-09-16 19:01:18 +00:00
Mike McCormack 978d12d0f6 Load riched20.dll on demand, and unload it after it's used (based on a
patch by Rob Shearman).
2005-09-16 18:45:33 +00:00
Mike McCormack 67189f9d1a Fix a bug in a previous patch spotted by Dieter Komendera. 2005-09-16 18:45:19 +00:00
Mike McCormack 4a202c2112 Fix the stub for MsiConfigureFeature. 2005-09-16 18:45:04 +00:00
Mike McCormack 062ad50510 Rename load_dynamic_property and remove its unused 3rd argument. 2005-09-15 15:04:08 +00:00
Mike McCormack 4db02cdb0b Use the new msi_reg_set* macros where possible. 2005-09-15 14:58:38 +00:00
Mike McCormack 8a61b4ef16 Create a macro to write a value to a subkey. 2005-09-15 09:31:41 +00:00
Mike McCormack fb45042e4d Create a macro function to write registry values. 2005-09-14 15:42:27 +00:00
Mike McCormack ade532a163 Remove some unused values in the object header. 2005-09-14 11:15:22 +00:00
Mike McCormack 5f1b258c9c Convert the list of tables to a standard list. 2005-09-14 10:07:26 +00:00
Alexandre Julliard 903e0b9fc5 Get rid of a couple of non-portable long long constants. 2005-09-13 11:26:36 +00:00
Mike McCormack 1cdffb26c9 Fix the handling of MsiGetTargetPath args (with test case). 2005-09-13 11:25:20 +00:00
Mike McCormack 2acf5086ff Make sure to release the package we grabbed on the error path. 2005-09-13 11:25:07 +00:00
Mike McCormack e17ef695a2 Fix the handling of MsiDoAction args (with test case). 2005-09-13 10:37:46 +00:00
Mike McCormack 79ca56cd6a Eliminate fixed length buffers from the MSIFEATURE structure. 2005-09-13 10:37:37 +00:00
Mike McCormack b2e2b70d06 Skip dash characters in the PIDMask for a MaskedEdit control. 2005-09-13 10:33:04 +00:00