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