Commit Graph

715 Commits

Author SHA1 Message Date
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
Mike McCormack ca2c8c867f Eliminate yet more fixed length buffers. 2005-09-12 15:28:00 +00:00
Alexandre Julliard b597f99960 Fixed memory leak introduced in previous change. 2005-09-12 14:14:50 +00:00
Mike McCormack efcc1ec5e4 Fix more fixed length buffers. 2005-09-12 12:07:15 +00:00
Alexandre Julliard 92a5149540 Avoid non-portable va_list manipulations. 2005-09-12 11:13:05 +00:00
Mike McCormack cbb5709a04 Make sure not to access invalid components or features. 2005-09-12 11:08:20 +00:00
Mike McCormack a9a3bc7b14 Fix an uninitialized variable problem. 2005-09-12 10:11:23 +00:00
Mike McCormack 1f09af3004 Move a fixed size buffer to the heap. 2005-09-09 14:49:08 +00:00
Mike McCormack f11c8b0098 Reduce the indent level of a function. 2005-09-09 14:48:51 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Mike McCormack 5c1212261f Allocate memory rather than using fixed length buffers. 2005-09-08 12:42:31 +00:00
Mike McCormack 0232c5c45f Convert RunningActions array into a list. 2005-09-08 12:42:07 +00:00
Mike McCormack b3b5ab8977 Improve a fixme message a little. 2005-09-08 11:04:03 +00:00
Mike McCormack 6db7f82539 - fix a bug introduced by the progid list conversion
- make a fixme a little less alarmist
2005-09-08 11:03:55 +00:00
Mike McCormack 41a04cc0de Fix memory leaks. 2005-09-08 11:03:45 +00:00
Mike McCormack 72faac0d2f Remove an unnecessary level of indent. 2005-09-08 11:03:35 +00:00
Mike McCormack 9cbe09be06 Fix memory leaks in custom actions. 2005-09-08 11:03:18 +00:00
Aric Stewart c774bb026d Implement MsiReinstallFeature. 2005-09-07 13:26:06 +00:00
Mike McCormack c50ef541e8 Keep temporary files in a seperate list. 2005-09-07 11:25:18 +00:00
Mike McCormack fec220d321 Don't include the terminating nul in the length in
MsiSummaryInfoGetPropertyW.
2005-09-07 09:24:14 +00:00
Mike McCormack 114d399666 - add test for MsiGetSourcePath
- don't specify drive for package path
2005-09-07 09:23:58 +00:00
Aric Stewart 685aa44b2d Be sure to null terminate the string in MsiGetProductInfoA after the
W->A conversion using MsiGetProductInfoW if there is space.
2005-09-06 14:04:25 +00:00
Alexandre Julliard 14a6d89905 Authors: Mike McCormack <mike@codeweavers.com>, Aric Stewart <aric@codeweavers.com>
Test creating a package.
2005-09-06 11:39:15 +00:00
Mike McCormack 298cdaead1 Avoid fixed length buffers for conditions. 2005-09-06 11:39:01 +00:00
Mike McCormack 68680e9c0c Fixes for MsiGetSourcePath parameter handling. 2005-09-06 11:05:35 +00:00
Aric Stewart d3d5ad6b7a Added stub implementations for MsiEnumPatchesA/W. 2005-09-06 11:05:24 +00:00
Mike McCormack 1228ce2684 Remove an unnecessary level of indent. 2005-09-06 10:23:34 +00:00
Mike McCormack 0867e48d5f - fix MsiSummaryInfoGetProperty to return ERROR_MORE_DATA if the
buffer is too small (based on a patch by Aric Stewart)
- add a test case to show correct behaviour
2005-09-06 10:23:12 +00:00
Mike McCormack 1ceb25ba7b Convert progids to a standard list. 2005-09-06 09:26:18 +00:00
Aric Stewart 27eb7adb92 Add the GUID for Patch files so that they can be opened as well. Looks
like the database structure is pretty much the same.
2005-09-06 09:24:48 +00:00
Mike McCormack 54a2891d33 Make some fixme messages less alarmist. 2005-09-06 09:23:18 +00:00
Saulius Krasuckas a9476d4edf Older platforms choke on a NULL as the third parameter to
MsiViewGetError.
2005-09-06 09:21:08 +00:00
Mike McCormack 4d7b593bd3 - convert verbs into a standard list
- remove limitation of 100 verbs
- use pointers to verbs rather than indexes
2005-09-02 14:39:13 +00:00
Mike McCormack dacea64643 Add objects to lists at the right time. 2005-09-02 11:21:22 +00:00
Mike McCormack 8a8c561cfa - the combination of all table keys must be unique, not each key
- MsiViewExecute may not be called before MsiModifyView
2005-08-29 10:16:12 +00:00
Mike McCormack 0c49c1c41d - build a standard Wine list of extensions instead of using an array
- use extension pointers instead of array indexes
2005-08-29 09:38:39 +00:00
Mike McCormack e18952a921 Add the allocated mime type to the mime type list. 2005-08-27 10:01:03 +00:00
Mike McCormack 9e558d7449 - build a standard Wine list of mime types instead of using an array
- use mime type pointers instead of array indexes
2005-08-26 08:47:31 +00:00
Mike McCormack 8aa1a919bf Make sure to save the result calculated in ACTION_UpdateInstallStates. 2005-08-25 19:19:10 +00:00
Aric Stewart 50a9b78253 The file name used in the ui messages is the target name not the
source name.
2005-08-25 15:20:34 +00:00
Mike McCormack a391a98a9d - build a standard Wine list of classes instead of using an array
- use class pointers instead of array indexes
2005-08-25 10:22:32 +00:00
Mike McCormack 1256a0c323 Don't dereference variables in a trace. 2005-08-25 09:51:03 +00:00
Mike McCormack 876982df8f Fix a small bug introduced when converting appids to a list. 2005-08-25 09:50:19 +00:00
Aric Stewart 43ec0a4d06 Display the correct text string in the action text field for the
dialog boxes. Also the string should be deformatted.
2005-08-25 09:50:08 +00:00
Johan Dahlin b5c02815d0 Implemented MsiSetComponentState*. 2005-08-24 18:13:09 +00:00
Mike McCormack 34247aff40 Test case for MsiModifyView and MsiViewGetError. 2005-08-24 11:10:39 +00:00
Mike McCormack e8d1a167df Implement MsiModifyView (MSIMODIFY_INSERT_TEMPORARY). 2005-08-24 11:10:23 +00:00
Mike McCormack fba5a59c66 Better stub for MsiViewGetError. 2005-08-24 10:57:49 +00:00
Johan Dahlin 0946c42d5a Added a null check for component. 2005-08-24 10:57:27 +00:00
Mike McCormack 10a1394929 Add include guard to header and make functions extern. 2005-08-24 10:57:02 +00:00
Johan Dahlin fe11241cf3 Added stubs for MsiSetComponentStateA and MsiSetComponentStateW. 2005-08-24 10:56:27 +00:00
Mike McCormack febad089ce - build a standard Wine list of appids instead of using an array
- use appid pointers instead of array indexes
2005-08-24 09:45:18 +00:00
Mike McCormack 979511fe6d - build a standard Wine list of folders instead of using an array
- use folder pointers instead of array indexes
2005-08-23 18:15:44 +00:00
Mike McCormack e18f8abee1 - build a standard Wine list of files instead of using an array
- use file pointers instead of array indexes
2005-08-23 10:03:17 +00:00
Aric Stewart d90615bb28 Make index INT not UINT because it can be -1. 2005-08-23 09:30:39 +00:00
Mike McCormack 1da2858caa - build a standard Wine list of features instead of using an array
- use feature pointers instead of array indexes
2005-08-22 14:09:17 +00:00
Mike McCormack 38d67a4537 - build a standard Wine list of components instead of using an array
- use component pointers instead of array indexes
2005-08-22 09:15:23 +00:00