Commit Graph

823 Commits (7c7f0bb2c18b23003bd7c63cb9e8b9ab90cf9cec)

Author SHA1 Message Date
Mike McCormack 8232e69492 msi: Add some more MsiFormatRecord tests. 2006-04-11 11:25:32 +02:00
Mike McCormack 819815d66c msi: Use a debug channel to turn on transform debugging. 2006-04-07 20:00:45 +02:00
Mike McCormack 604cdff911 msi: Remove broken volume management code. 2006-04-07 12:57:52 +02:00
Mike McCormack ccdd0869a1 msi: Fix a logic error. 2006-04-07 11:45:47 +02:00
Mike McCormack ed580a1d85 msi: Avoid accessing a null pointer. 2006-04-07 11:45:41 +02:00
Mike McCormack ed9745b94f msi: Check the correct pointer after allocating memory. 2006-04-07 11:45:34 +02:00
Mike McCormack 85e8d3adf8 msi: Fix possible free of uninitialized pointer. 2006-04-07 11:45:29 +02:00
Mike McCormack 17e2c3cc61 msi: Avoid a crash if a parameter is NULL. 2006-04-06 11:33:17 +02:00
Mike McCormack f537eb241a msi: Improve the string table hash. 2006-04-03 12:15:24 +02:00
Antonio Codazzi 79f89b9c33 msi: Italian language support. 2006-04-03 11:51:55 +02:00
Antonio Codazzi 5f0a136f28 msi: Esperanto language support. 2006-04-03 11:49:03 +02:00
Mike McCormack 886036696a msi: Add stub for the RegisterComPlus and UnregisterComPlus actions. 2006-03-22 21:36:20 +01:00
Mike McCormack e1fdf3e24c msi: Don't crash when logging a record with only one field. 2006-03-22 21:36:16 +01:00
Mike McCormack 06c84c4a42 msi: Show "hidden dialogs" but hide them initially. 2006-03-22 11:20:19 +01:00
Mike McCormack cf4f79e877 msi: Implement custom action type 17. 2006-03-22 11:20:12 +01:00
Mike McCormack c1513be48c msi: Improve handling of short paths. 2006-03-21 16:19:07 +01:00
Mike McCormack 5052dcccf2 msi: Set the InstallerLocation value when registering msi.dll. 2006-03-20 12:27:18 +01:00
Robert Shearman 9f487ba1de msi: Optimise WHERE operations.
Optimise WHERE operations on matching against strings by adding a new
function find_matching_rows to the views, which eliminates the need to
examine every record when executing a query. Implement this function
in the table using a hash table on the ID stored in the data.
2006-03-20 12:03:04 +01:00
Robert Shearman d62aa01ec0 msi: Add a test for MsiFormatRecord with integer fields. 2006-03-20 12:01:43 +01:00
András Kovács fb7921a1d3 msi: Added Hungarian translation. 2006-03-15 11:32:18 +01:00
Mike McCormack fe8cd38812 msi: Remove some unnecessary indent. 2006-03-09 12:50:59 +01:00
Mike McCormack 0b9960a1f9 msi: Make sure to run tests for MsiEvaluateCondition. 2006-03-09 12:50:48 +01:00
Ulrich Czekalla 2ee5a5bf7c msi: When evaluating conditions, if the condition is empty or none is
provided then treat it as being satisfied.
2006-02-24 11:21:59 +01:00
Robert Shearman 4ac8567497 msi: Fix heap overflow in ITERATE_CreateShortcuts. 2006-02-22 22:15:54 +01:00
Robert Shearman ecc5c18f4e msi: Init size before passing to RegEnumValue. 2006-02-22 22:15:41 +01:00
Robert Shearman e664435f50 msi: Always set a value for intype in ready_volume.
Remove a memory leak.
2006-02-22 22:15:26 +01:00
Robert Shearman 66c9cbbe0f msi: Fix heap overflow in save_string_table.
Fix heap overflow caused by not accounting for the dummy first item,
which contains the codepage.
2006-02-22 22:15:12 +01:00
Ulrich Czekalla 9d389ec03f msi: Implement MsiSourceListAddSource. 2006-02-22 11:32:58 +01:00
Robert Shearman a911ea0fd7 msi: Fix bison warnings by providing precedence rules for expressions
and by removing a redundant expression case.
2006-02-07 16:24:51 +01:00
Fatih Aşıcı 7fca8f6c72 msi: Turkish translation. 2006-02-06 13:04:40 +01:00
Mike McCormack 43b27144f0 msi: Add an implementation of MsiGetDatabaseState. 2006-01-30 14:56:52 +01:00
Dmitry Timoshkov 57a579ffcd Make more arrays const. 2006-01-24 14:00:32 +01:00
Robert Shearman d679bc5ab3 msi: Move the firing of control events to MSI_ProcessMessage.
Move the firing of control events from internal helper functions to
MSI_ProcessMessage so that custom actions can all cause control events
to be fired.
Added the firing of progress events.
2006-01-23 17:30:31 +01:00
Robert Shearman d2e48e01ac msi: Call ui_actiondata for more actions. 2006-01-23 17:29:50 +01:00
Robert Shearman 04f547dc50 msi: Support msidbControlAttributesSunken. 2006-01-23 11:55:33 +01:00
Robert Shearman 33fa9d08dd msi: Only print fixme for progress attribute once.
Since setting the Progress attribute is done quite frequently, don't
flood the user with messages about it being unimplemented.
2006-01-23 11:55:19 +01:00
Mike McCormack 477bce38dc msi: Eliminate a fixed length buffer. 2006-01-16 20:38:28 +01:00
Jeremy White 9d90ef017c msi: gcc 2.95 compatibility fix. 2006-01-13 13:53:16 +01:00
Mike McCormack 848f67e13e msi: Make the MSI SelectionTree control do something useful. 2006-01-11 21:12:06 +01:00
Mike McCormack 891df89ee7 msi: Remove the font when setting a control's text. 2006-01-11 12:12:16 +01:00
Mike McCormack f69d7bf0f3 msi: Count the number of columns requested and allocate that many,
as columns may be select more than once in from a table.
2006-01-10 12:10:19 +01:00
Mike McCormack aa81e4fa68 msi: Don't crash if there's no script present when we try execute one. 2006-01-10 12:09:19 +01:00
Mike McCormack 1acf032a99 msi: Fixed the prototype of MsiDatabaseIsTablePersistent.
Implemented MsiDatabaseIsTablePersistentA via the W function.
2006-01-10 12:09:11 +01:00
Mike McCormack ead00327e9 msi: Unload riched20 after its window is destroyed. 2006-01-06 12:35:09 +01:00
Mike McCormack abbe4b6dd0 msi: Make radio buttons grey out correctly when disabled. 2006-01-06 12:19:33 +01:00
Mike McCormack b9d135a37b msi: Clean trailing and leading spaces from path segments. 2006-01-06 12:19:22 +01:00
Mike McCormack e534e7726b msi: Apply any MSI transforms specified by the TRANSFORMS property. 2006-01-04 14:51:25 +01:00
Mike McCormack 40a76a58e3 msi: Add a stub for MsiGetLastErrorRecord. 2006-01-04 14:51:05 +01:00
Mike McCormack 576b8a5920 msi: Fixes for the MaskedEdit control.
Allow MaskedEdit masks that aren't enclosed with <>.
Allow the MaskedEdit's edit controls to scroll a bit in case things
don't line up.
2006-01-04 14:49:50 +01:00
Marcus Meissner 73b7900b8b msi: Report the commandline that failed to start in ERR()s. 2006-01-03 17:35:41 +01:00
Mike McCormack 00a7faa377 msi: Subclass the Richedit control.
Send a "DoAction" control event when the user scrolls the text.
2006-01-03 12:15:04 +01:00
Mike McCormack a0f88f7a3e MSI: Improve the MsiGetMode stub a little. 2006-01-03 12:12:15 +01:00
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