Commit Graph

842 Commits

Author SHA1 Message Date
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
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
Mike McCormack
3f2d5d7fbb Store the component information in a standard Wine list. 2005-08-19 10:03:11 +00:00
Aric Stewart
35706b6b4c Fixed a memory overflow and leak identified by Mike McCormack. 2005-08-16 15:57:21 +00:00
Aric Stewart
94d6818c51 Add some body to ResolveSource because it is possible to need it when
an install is begun but the media is not in the drive, such as in
install-on-demand cases.
2005-08-15 20:50:06 +00:00
Francois Gouget
0de0d11357 Change some Dll* functions so they are exported by name like on
Windows.
Update the documentation accordingly.
2005-08-10 13:02:43 +00:00
Vincent Béron
21e3ba8cd1 Correct mismatches between spec files and comments about export
number.
2005-08-10 09:53:47 +00:00
Alexandre Julliard
d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Yuri Kozlov
934c6fa93f Remove duplicate declaration of MSI_SetPropertyW. 2005-08-08 11:07:10 +00:00
Mike McCormack
bcd8fa3c78 Handle loading strings over 64k from the string table. 2005-08-08 11:01:56 +00:00
Steven Edwards
cbec713615 Add real stub for MsiConfigureFeatureW. 2005-08-03 10:56:43 +00:00
Aric Stewart
88837b5d8d Bail out if the reg key is empty. This prevents us from writing
garbage to the property table.
2005-07-22 18:27:41 +00:00
Aric Stewart
2849d3a0a1 Use SOURCEDIR instead of PackagePath. Because the PackagePath may be
local, while SOURCEDIR is more proper and will be a full directory.
2005-07-21 10:32:16 +00:00
Alexandre Julliard
7258914ef6 Use the official names for the Unicode string constants. 2005-07-13 12:07:41 +00:00
Aric Stewart
2e963b89e2 Further testing shows that when CustomActionData needs to be blank it
is an empty string not ' '.
2005-07-12 19:18:48 +00:00
Aric Stewart
27867e2502 Use the SourceList functions to get the source path in
ConfigureProductExW.
2005-07-12 17:56:17 +00:00
Aric Stewart
2d8cb29516 When working toward install on demand support we need to reset all the
constant values so that multiple install process do not get confused
by leftover values from the previous install.
2005-07-12 17:56:03 +00:00
Mike McCormack
8f83234a7a Display icons in buttons that have them. 2005-07-12 17:01:10 +00:00
Aric Stewart
9170cc8225 Properly resize the buffer based on ERROR_MORE_DATA.
Also remember to free the allocated buffer.
2005-07-11 20:36:58 +00:00
Aric Stewart
c6d24d235a Use the strings defined in msi.h. 2005-07-11 18:01:39 +00:00
Aric Stewart
de7a621b06 Correct an error where I was not properly advancing a pointer. 2005-07-11 18:00:36 +00:00
Aric Stewart
639048b99a If MsiGetProperty(A/W) is called with a NULL for the value buffer but
a value in the size for the value buffer, then Msi fills in the size
of the value into the pointer for size.  This is tested and confirmed
with native MSI.
2005-07-11 14:22:13 +00:00
Aric Stewart
c6f155a5fd Add the string constants located in msi.h and make use of them in
files.c and source.c.
2005-07-11 13:22:24 +00:00
Aric Stewart
c58df6c677 Implement MsiGetLanguage. 2005-07-10 17:39:14 +00:00
Aric Stewart
b95beae8f9 InstallShield does a number of actions using DoAction before the
Install starts so the PackageCode needs to be loaded on OpenPackage
instead of the beginning of the install process.
2005-07-08 14:19:00 +00:00
Robert Shearman
199efb74fe In MsiLocateComponent pcchBuf can be NULL so don't try to dereference
it.
2005-07-08 11:29:55 +00:00
Aric Stewart
adaef1112e Fill and use the ProductCode part of the MSIPACKAGE structure. 2005-07-07 20:27:06 +00:00
Mike McCormack
e41ba5ca80 Use LoadImage to load bitmaps and icons. 2005-07-07 17:20:57 +00:00
Mike McCormack
4f634a3b7a Stop the install when cancelling from a modeless dialog. 2005-07-06 15:44:51 +00:00
Mike McCormack
30ddf73954 Don't crash when cancelling out of a modeless dialog. 2005-07-06 11:11:26 +00:00
Mike McCormack
16466af791 gcc 4.0 -Wpointer-sign fixes. 2005-07-06 10:33:30 +00:00
Aric Stewart
b7dc53d462 Add source.c to start handling the various MsiSourceList apis used in
v3 of MSI, and now internally.
Update files.c to use the MsiSourceList apis to make sure our
SourceList keys in the registry are included and correct.
2005-07-05 21:00:06 +00:00
Mike McCormack
a195890bb9 Set the initial focus on the control specified by Control_First in the
Dialog table.
2005-07-05 16:18:46 +00:00
Aric Stewart
c9802931c1 Keep track of what sequence we are in and register unique
actions. This allows us to make sure actions and custom actions
flagged to run only once, actually run only once.
Also clean up some of the numeric constants in custom.c using the
defined values from msidefs.h.
2005-06-30 20:45:43 +00:00
Mike McCormack
832450920d Move to the next mask edit field when the current one becomes full. 2005-06-30 10:59:40 +00:00
Mike McCormack
f7cf32eb4d Make the tab order in msi dialogs right. 2005-06-30 10:20:40 +00:00
Aric Stewart
8de16029f8 Handle installs off multiple volumes and properly pull the prompt
string from the error table.
2005-06-29 19:19:09 +00:00
Aric Stewart
f1b52aef96 Relocate the msi file to prevent cd locking, corrected to properly not
try to relocated #nnnn handles as files.
2005-06-28 19:14:30 +00:00
Mike McCormack
6b68532ccf Repaint the area behind the "transparent" text control when it
changes.
2005-06-27 18:46:22 +00:00
Aric Stewart
25f1e75d43 Perform ExecuteAction at UILevel 2. 2005-06-24 12:14:52 +00:00
Aric Stewart
b9c6b85779 Redo how we extract files from a cabinet in order to dramatically
improve performance, especially if picking and choosing files out of
the cabinet.
2005-06-24 12:14:35 +00:00
Aric Stewart
9adacf6a72 Rework CreateShortcuts to use MSI_IterateRecords. 2005-06-24 11:58:21 +00:00
Aric Stewart
0713f098ec Properly handle -1 as a registry key root. 2005-06-24 11:51:29 +00:00
Mike McCormack
2250fce60f Implement transparency in the text control. 2005-06-24 11:34:43 +00:00
Aric Stewart
854bfc4b0f Rework SelfRegModules to use MSI_IterateRecords. 2005-06-24 11:33:02 +00:00
Mike McCormack
7e3918d53e Make the MSI icon control work. 2005-06-23 16:43:38 +00:00
Aric Stewart
04598248af Rework component, feature and file loading to use MSI_IterateRecords. 2005-06-23 16:43:24 +00:00
Aric Stewart
a9b5052ff9 Rework RegisterFonts to use MSI_IterateRecords. 2005-06-23 11:04:09 +00:00
Aric Stewart
aded32f37b Rework WriteIniValues to use MSI_IterateRecords. 2005-06-23 09:46:31 +00:00
Aric Stewart
916ef94945 Rework PublishProduct to use MSI_IterateRecords. 2005-06-22 18:42:19 +00:00
Aric Stewart
234dc4b2d2 Rework RegisterTypeLibraries to use MSI_IterateRecords. 2005-06-22 18:27:34 +00:00
Aric Stewart
c79f4e2111 Rework LaunchConditions to use MSI_IterateRecords. 2005-06-22 18:03:08 +00:00
Aric Stewart
443ad4d328 Rework CostFinalize to use MSI_IterateRecords. 2005-06-21 20:50:12 +00:00
Aric Stewart
e89f849612 Fix situations where TARGETDIR is set to a non \ terminated
path. Fixes a few installers.
2005-06-21 20:21:30 +00:00
Aric Stewart
92ef78ee04 Rework WriteRegistryValues to use MSI_IterateRecords. 2005-06-21 20:21:18 +00:00
Aric Stewart
2274ff1937 Rework CreateFolders to use MSI_IterateRecords. 2005-06-21 20:03:46 +00:00
Aric Stewart
1e6c09a3f3 Duplicate files should not fail if unable to get Destination
Directory.
2005-06-21 20:03:30 +00:00
Aric Stewart
09b7503f0b Use MSI_IterateRecords for DuplicateFiles. 2005-06-20 15:33:22 +00:00
Aric Stewart
2703d717c6 Use MSI_IterateRecords for processing actions.
Some whitespace cleanup and replace a comment block I did not want to
remove.
2005-06-20 15:33:10 +00:00
Stefan Huehner
ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Mike McCormack
9251b2c6b5 Make tabs work in msi dialogs. 2005-06-20 14:11:43 +00:00
Aric Stewart
71a55e04a3 Allow control events to return codes to halt the processing of event.
Needed for the SetTargetPath Event.
2005-06-17 21:31:06 +00:00
Aric Stewart
3257bcd48c A long overdue fix to MSI_SetTargetPath. This should fix an error with
some installers that where unable to change the target path.
2005-06-17 21:25:51 +00:00
Aric Stewart
e9db87b956 Flesh out the remaining keys in RegisterProduct. 2005-06-17 21:25:41 +00:00
Aric Stewart
c668952023 Break out all the file related actions and helper functions into
files.c
2005-06-17 20:56:55 +00:00
Marcus Meissner
7ac39aa44b Use a simpler expression for the "RichEdit20W" string to workaround
compiler bug.
2005-06-17 20:54:42 +00:00
Marcus Meissner
0d307eb040 Remove cszbs from msi/action.h. 2005-06-17 09:52:13 +00:00
Aric Stewart
4b600b8736 Break out all the top level apis into install.c. 2005-06-16 20:40:34 +00:00
Mike McCormack
a677ac554f Added support for the MSI MaskEdit control. 2005-06-16 20:37:53 +00:00
Aric Stewart
816217e99e A simple cleanup to only track the temp file if we need to have it
laying around because the action is going on asynchronously. Otherwise
clean up the temp file as the action finishes.
2005-06-16 20:33:58 +00:00
Aric Stewart
fd8c175a3c Add UI messages to FindRelatedProducts.
Reduce unneeded includes.
2005-06-16 16:08:58 +00:00
Aric Stewart
db982e2586 Break out all the class registration actions into classes.c. This
includes RegisterClassInfo, RegisterProgIds, RegisterExtensions and
RegisterMIMETypes.
2005-06-16 15:51:44 +00:00
Aric Stewart
118ea90888 Break out all the helper functions into helpers.c. 2005-06-15 19:12:42 +00:00
Aric Stewart
31695b54c9 A "1" is returned not a 1 for AssignmentType. Also as a bit more to
the FIXME message.
2005-06-13 19:04:39 +00:00
Mike McCormack
908308631f Create a stub implementation for MsiViewGetError. 2005-06-10 19:52:13 +00:00