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
Aric Stewart
09b0abaa1c
Extending upon Mike McCormack's cleanup to use MSI_RecordGetString.
2005-06-09 20:30:59 +00:00
Aric Stewart
c28bb54f7a
Register the Product Version also.
...
Also help plug some memory leaks pointed out by Mike McCormack.
2005-06-09 15:49:11 +00:00
Aric Stewart
d1a7f070d4
Avoid a loop where a parent's parent refers to itself as its parent.
2005-06-09 15:35:48 +00:00
Aric Stewart
00337b9a51
Added module upgrade.c and implemented FindRelatedProducts.
2005-06-09 12:05:27 +00:00
Aric Stewart
6999a04278
Set the Preselected property if appropriate (relevant to
...
MigrateFeatureStates when implemented).
2005-06-08 19:20:02 +00:00
Aric Stewart
6957e4a0c2
Write out Product Language and Product Icon to the registry.
2005-06-08 19:16:45 +00:00
Aric Stewart
36a01505dc
Write out UpgradeCodes to the registry to allow for future upgrades.
2005-06-08 19:07:52 +00:00
Aric Stewart
36bc29769b
Add Language to the values we can query with MsiGetProductInfo.
2005-06-08 18:35:43 +00:00
Mike McCormack
ad6a6be88d
Use MSI_RecordGetString in more actions.
2005-06-08 18:34:04 +00:00
Mike McCormack
20806c730b
Use MSI_RecordGetString where possible.
2005-06-07 21:34:05 +00:00
Mike McCormack
f5ae644fc2
Use a richedit control for license text.
2005-06-07 20:30:02 +00:00
Mike McCormack
f9acfe635a
Fixes for -Wmissing-declarations and -Wwrite-strings warnings.
2005-06-07 20:29:51 +00:00
Mike McCormack
454dff6fb4
Fix radio button groups. Don't add the WS_GROUP style to every
...
window.
2005-06-07 20:04:21 +00:00
Aric Stewart
19ba432b2b
Add functions to add the User UpgradeCodes.
2005-06-07 20:02:27 +00:00
Aric Stewart
90bc168c87
Correct a crash if the length buffer is NULL.
2005-06-07 20:02:07 +00:00
Mike McCormack
b402f04851
Use standard lists in the event subscription code.
2005-06-06 15:40:15 +00:00
Aric Stewart
f9e64e8187
Don't get caught in loops on parent progids.
2005-06-06 15:39:59 +00:00
Alexandre Julliard
4ca26536a9
Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
...
Allow dialog controls to subscribe to installer events.
2005-06-04 09:48:47 +00:00
Aric Stewart
cb72f7fb0a
Make sure the TRACE statements do not spew garbage by using
...
debugstr_wn.
2005-06-04 09:36:44 +00:00
Mike McCormack
a6c8e4e498
Take the dialog frame into account when calculating the dialog size.
2005-06-04 09:35:37 +00:00
Aric Stewart
873c0726e9
Since multiple progids can refer to 1 class we need to check if that
...
class is isntalled instead of just relying on having it set the
InstallMe variable.
2005-06-04 09:35:22 +00:00
Aric Stewart
4d1ce166ce
Locate where a buffer size is not being set and correctly handle the
...
buffer size conversion from W to A (with help from Robert Shearman).
2005-06-03 11:24:57 +00:00
Aric Stewart
ee72fb2817
Add install_on_demand for Extension servers also. currently defaulting
...
to TRUE.
Extension need to have 1 verb to mark the given progid to be
installed.
2005-06-03 11:24:04 +00:00
Aric Stewart
a96e1cef9f
Do not loop if a ProgId's Parent Index it itself.
...
Add a VersionIndIndex for tracking version independent fields for the
ProgIds properly.
2005-06-02 20:06:11 +00:00
Mike McCormack
07b19112e5
Use MSI_QueryGetRecord in one more place.
2005-06-02 19:40:45 +00:00
Aric Stewart
f1104125b1
Print a message for skipped actions in ProcessExecSequence like in the
...
UISequence.
2005-06-02 19:39:49 +00:00
Aric Stewart
54ba7b9338
Do not change a features state to Advertise if it explicitly disallows
...
it.
2005-06-02 15:16:31 +00:00
Aric Stewart
ca8c4e4105
For typelibs index 1 do not add \\1 to the path. This cleans up
...
registry diffs with native MSI.
2005-06-02 15:13:57 +00:00
Aric Stewart
44816cebd6
Register the FileType and correct short vs long path problems with
...
InprocServer32. Also add install_on_demand boolean for future
expansion.
2005-06-02 15:09:57 +00:00
Mike McCormack
0b352c7f7f
Use the new helper function MSI_QueryGetRecord.
2005-06-02 10:29:57 +00:00
Mike McCormack
6309892499
Create a helper function to fetch a single record from a query.
2005-06-02 10:29:28 +00:00
Dmitry Timoshkov
b67da5b946
Make more of the OLE interface vtables const.
2005-06-01 19:57:42 +00:00
Alexandre Julliard
955e589ed0
Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
...
Fix handling of checkbox properties.
2005-06-01 19:48:48 +00:00
Mike McCormack
9ca5717a2f
Clean up headers and make some functions static.
2005-06-01 11:02:48 +00:00
Mike McCormack
e8b21c3eed
- avoid unicode.h
...
- add a missing function prototype
2005-06-01 11:02:19 +00:00
Mike McCormack
38de6131f1
Remove some unused code.
2005-05-31 13:20:09 +00:00
Mike McCormack
64de949cdd
More -Wmissing-declarations and -Wwrite-strings warning fixes.
2005-05-31 09:30:28 +00:00
Mike McCormack
b15c264de4
Improve number parsing and avoid unicode.h.
2005-05-31 09:30:01 +00:00
Mike McCormack
b075f03acb
Remove more types from the parser.
2005-05-30 11:32:18 +00:00
Mike McCormack
cac6387ca3
Add and correct some function declarations.
2005-05-30 11:12:24 +00:00
Francois Gouget
62253b752f
Assorted spelling fixes.
2005-05-30 09:56:56 +00:00
Mike McCormack
d1a55eb3f8
Get rid of some redundant parser types.
2005-05-29 20:17:16 +00:00
Mike McCormack
b58a098a11
-Wmissing-declarations and -Wwrite-strings warning fixes.
2005-05-29 20:08:12 +00:00
Alexandre Julliard
f271224f44
Authors: Mike McCormack <mike@codeweavers.com>, Aric Stewart <aric@codeweavers.com>
...
Add format record tests.
2005-05-27 19:25:42 +00:00
Aric Stewart
9cd707da3f
Introduce really basic scripting of actions. This is primarily to get
...
the order of execution of the action correct since some custom actions
can be scripted and others are run during the script building phase.
2005-05-27 19:24:22 +00:00
Aric Stewart
aa95731d6f
Restrict deformating of nested index keys [[1]].
...
Introduce the beginning of group deformating {}.
2005-05-27 19:23:29 +00:00
Mike McCormack
018bc9a0cd
Test and fix the size of stream fields in a record.
2005-05-27 09:26:13 +00:00
Alexandre Julliard
d757bfeeaf
Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
...
Implement dialog events and hook up the dialog code.
2005-05-27 09:11:18 +00:00
Aric Stewart
3594e45ab6
First pass at writing out CurVer keys for ProgIds. Also print a
...
message for the actions we skip. Lines up with native MSI output logs
for ease of comparison.
2005-05-26 16:08:58 +00:00
Aric Stewart
6f43c18fe7
A big rewrite of the whole RegisterClass, RegisterProgId,
...
RegisterExtension and RegisterMIME actions. We now handle verbs
properly, handle dependancies and such properly and keep track of what
we need to register and what we do not properly.
2005-05-26 12:24:28 +00:00
Aric Stewart
825920a090
Implement the [!file] format to produce the short filename.
2005-05-25 17:49:49 +00:00
Mike McCormack
3244265855
Simplify parsing of the FROM keyword.
2005-05-24 09:49:01 +00:00
Aric Stewart
bec5549da6
Double terminate SZ_MULTI properly.
...
ClassInfo and ExtensionInfo are also written for ADVERTISED
components.
2005-05-23 16:24:20 +00:00
Aric Stewart
fefad8fcf2
Fix a leaking handle.
...
Make MsiCollectUserInfo more internally consistent.
Thanks to Mike McCormack.
2005-05-23 16:23:54 +00:00
Mike McCormack
b18c262d57
Improve parser error checking.
2005-05-23 16:23:11 +00:00
Mike McCormack
0093007b32
Track memory allocations in the SQL parser.
2005-05-23 12:08:17 +00:00
Mike McCormack
f50e9aadea
Simplify parsing of select query.
2005-05-23 11:49:49 +00:00
Mike McCormack
0d1c3a14fc
Create the ORDER BY view in a single call.
2005-05-23 10:27:00 +00:00
Mike McCormack
7153c8fa65
- remove the unused utf8 field of an expression
...
- make the parse result a single assignment at top level of parsing
- abort parsing on a memory allocation failure
2005-05-23 09:53:43 +00:00
Stefan Leichter
f23029f647
Update version resource of msi.dll to current version shipped from
...
windows update.
2005-05-23 09:49:50 +00:00
Juan Lang
806be361d0
Turn handled errors from ERRs to WARNs or TRACEs.
2005-05-20 19:16:50 +00:00
Aric Stewart
d97e2c3058
We have a stub for MsiGetUserInfoA we should use it.
2005-05-20 18:59:20 +00:00
Aric Stewart
8a6d5e5847
Fix a leaking handle in MsiConfigureProductExW.
...
Implement MsiGetProductCodeW.
Implement MsiGetUserInfoW.
Implement MsiCollectUserInfoA/W.
2005-05-20 18:59:11 +00:00
Aric Stewart
ec4df18833
Write the RegOwner and RegCompany keys as blank if they do not exist
...
when doing the RegisterUser action.
2005-05-20 18:59:01 +00:00
Aric Stewart
98e3808261
Fix quoting on queries.
...
Respect '+' and '*' in WriteRegistryValues to only create the key if
it does not already exist. Prevents overwriting values with NULL.
2005-05-20 09:40:42 +00:00
Aric Stewart
16b667ab01
Quoting fixes.
2005-05-20 09:40:14 +00:00
Aric Stewart
721c11a52a
Correct query quoting based on Mike's patch.
...
Also more error messages about return codes from custom actions and
ignore an error that we should be ignoring.
2005-05-20 09:40:02 +00:00
Mike McCormack
d31f12964b
Only tables can be backquoted, strings must be single quoted.
2005-05-19 11:15:37 +00:00
Juan Lang
88adb53bf0
Don't fail in RegisterFonts if the Fonts table is missing.
2005-05-19 11:15:24 +00:00
Aric Stewart
d5bfaf7897
A few small fixes.
2005-05-18 17:46:38 +00:00
Aric Stewart
c5a1443fd9
We cannot internally load the files in FileCost because that action
...
may be skipped or not called. So do it in CostInitialize.
Quote the file path in SelfRegModules.
Do not write squished null guids to the feature registration.
2005-05-18 17:46:12 +00:00
Aric Stewart
98d9cec74c
Correctly use short filenames from uncompressed file sources. Also
...
default feature and component install states to ABSENT instead of
UNKNOWN.
2005-05-18 13:23:52 +00:00
Aric Stewart
8a6a9a6659
Some error messages and strcmp changes suggested by Dmitry.
2005-05-18 09:44:38 +00:00
Aric Stewart
6186b2beaf
Correct a problem with parse_data if binary data was not in full bytes.
...
More properly handle uncompressed file sources, fix the creating and
parsing of Source Directories.
2005-05-16 21:37:35 +00:00
Aric Stewart
b39d8fc2a6
- ExecuteAction runs the whole Execute table and not just from
...
InstallValidate onward. To do this make sure we do not do the
costing initialization work again if it is already done (by checking
the CostingComplete Property).
- A lot of work to refine feature states, setting the state affects
the state of all child features and also respect features that want
to default to something other than LOCAL.
2005-05-13 13:56:39 +00:00
Mike McCormack
bd07966c8f
Avoid some non-standard str functions.
2005-05-11 12:58:22 +00:00
Stefan Leichter
f483ca611e
Added minimal implementation of MsiCreateAndVerifyInstallerDirectory.
2005-05-11 12:01:12 +00:00
Mike McCormack
c1f2cf1fba
- make sure to free the string table when closing the database
...
- don't free szPersist in MsiOpenDatabase if it's not a string
2005-05-10 16:00:19 +00:00
Juan Lang
ac0ba1a241
Partially implement AppSearch for RegLocator-type searches.
2005-05-10 08:27:00 +00:00
Aric Stewart
fa468e64d5
Fix a few leaking object handles.
2005-05-09 19:33:50 +00:00
Alexandre Julliard
34fa35dc99
Added rules for building import libraries in the individual dll
...
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard
d62356aa1e
Added rules to build import libraries in the individual dll makefiles.
...
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Aric Stewart
2494e4a52a
Add a missing msiobj_release that was resulting in a leaked object
...
with each MsiCreateRecord call.
2005-05-07 12:13:08 +00:00
Aric Stewart
41fbee0e83
Correct a missing MsiCloseHandle().
2005-05-07 12:12:56 +00:00
Francois Gouget
63b596d7ea
Tweak the documentation to make winapi_check happy.
2005-05-06 14:33:02 +00:00
Marcus Meissner
1fa2da0756
Set PhysicalMemory property from system data.
2005-05-04 10:37:05 +00:00
Vincent Béron
0fa5e855fb
Use SUBLANG_NEUTRAL for French resources.
2005-05-04 09:52:47 +00:00
Aric Stewart
2b8bf597b5
Correct user component publication.
...
Implement MsiEnumComponentQualifiers.
2005-04-28 18:28:11 +00:00
Aric Stewart
ece85e0cf0
Implement MsiQueryFeatureStateW.
2005-04-28 12:01:06 +00:00
Mike McCormack
07c74d07f3
Make sure that dialogs are only created and destroyed in a single
...
thread.
2005-04-27 10:16:57 +00:00
Aric Stewart
afcaf83ed7
Correct a leaking hkey handle.
2005-04-27 08:11:52 +00:00
Aric Stewart
1b54881209
Expand some handling of special properties in MsiGetProductInfo.
2005-04-26 14:30:31 +00:00
Mike McCormack
f47c0b2e29
Declare MsiExportDatabase* in the spec file, and fix a typo.
2005-04-26 14:30:15 +00:00
Francois Gouget
5ffd9888cd
Tweak the API documentation to silence winapi_check warnings.
2005-04-22 19:04:41 +00:00
Aric Stewart
7e181f49a8
Fix for the return codes for the Qualified component calls. They are
...
not INSTALLSTATEs but rather success values.
2005-04-21 17:24:27 +00:00
Francois Gouget
3ef8c51c8a
Tweak the API documentation to silence winapi_check warnings.
2005-04-20 15:18:42 +00:00
Mike McCormack
ae8c0ab55b
Test MsiSummaryInfoGetProperty reading an empty property.
2005-04-20 14:24:30 +00:00
Mike McCormack
7932d76a1d
Fix loading of the summary information.
2005-04-20 14:24:14 +00:00
Aric Stewart
072c5e56a2
Implement Publish Components in order for MsiGetQualifiedComponent
...
apis to work. Also implement MsiGetQualifiedComponent, or at least some
of the functionality as it is supposed to install stuff if it is
absent, which it does not do yet.
2005-04-20 12:50:05 +00:00
Francois Gouget
3b36eee083
Add trailing '\n's to ok() calls.
2005-04-19 09:48:44 +00:00
Peter Berg Larsen
407409f27f
Remove 2 identicals calls to strlenW.
2005-04-18 15:36:59 +00:00
Peter Berg Larsen
6e3bcb5a54
Replace strncpy with memcpy or lstrcpyn.
2005-04-18 10:30:55 +00:00
Juan Lang
c33d2621eb
Log missing environment vars for easier debugging.
2005-04-12 10:15:09 +00:00
Steven Edwards
98efef18d4
Avoid using ver.h in favor of winver.h.
2005-04-11 16:10:33 +00:00
José Manuel Ferrer Ortiz
4f50a2c0dc
Spanish translations updated.
2005-04-11 13:01:46 +00:00
Mike McCormack
499a887d0f
Load and display bitmaps in the dialogs.
2005-04-11 12:47:20 +00:00
Francois Gouget
6b10c324c5
Assorted spelling fixes.
2005-03-30 17:08:31 +00:00
Aric Stewart
6e821739f2
Make sure the GUID of the typelib we are registering matches the guid
...
requested from MSI. If not search the given typelib file to find the
typelib requested to register.
2005-03-30 10:19:08 +00:00
Mike McCormack
180f04059b
Split out database functions, remove dependence on wine/unicode.h.
2005-03-29 11:28:57 +00:00
Peter Berg Larsen
e732fc023d
Janitorial: Get rid of strncpy/strncpyW.
2005-03-28 14:17:51 +00:00
Mike McCormack
30e388af51
Use strdup, implement MsiDatabaseImportA.
2005-03-25 16:38:26 +00:00
Jakob Eriksson
9ed61de9a2
Get rid of HeapAlloc casts.
2005-03-24 21:01:35 +00:00
Mike McCormack
77a19ed8e6
Replace instances of HeapAlloc/MultiByteToWideChar with the internally
...
defined strdupAtoW.
2005-03-24 19:04:06 +00:00
Aric Stewart
f8f64406fc
If running in UI mode, then display the UI mode dialogs at the end of
...
the installs.
2005-03-24 19:03:45 +00:00
Mike McCormack
bf0f6a22d2
Make sure there's only one place we allocate dialog controls.
2005-03-24 15:09:31 +00:00
Mike McCormack
c3ab871ff9
Clean up registry functions.
2005-03-24 15:09:18 +00:00
Francois Gouget
93416cdaf7
Assorted spelling fixes.
2005-03-23 13:15:18 +00:00
Marcus Meissner
6d32d63979
Fixed MsiDatabaseImportA, MsiDatabaseImportW, and
...
MsiCreateAndVerifyInstallerDirectory stub parameter counts.
2005-03-23 10:24:53 +00:00
Jakob Eriksson
4364d06821
Windows 98 doesn't like it when we delete the tempfile.
2005-03-22 18:16:53 +00:00
Aric Stewart
8760ed97f2
Test package creation.
2005-03-22 16:45:55 +00:00
Hans Leidekker
8cf1389409
Dutch resource translation.
2005-03-22 16:39:25 +00:00
Mike McCormack
4c20cc6f0f
- test cases for summary information
...
- fix memory leaks
2005-03-19 17:08:34 +00:00
Mike McCormack
758a69515b
Implement summary information loading and saving.
2005-03-18 14:01:39 +00:00
Mike McCormack
95dea4969a
- Rename dupstrW to strdupW, and remove duplicate definition.
...
- Move definition of string manipulation functions to msipriv.h.
2005-03-16 11:31:35 +00:00
Juan Lang
35c65cf731
Fix a regression in AppSearch.
2005-03-10 17:24:20 +00:00
Juan Lang
3d4ce5c2c1
Implement MsiEnumRelatedProducts.
2005-03-10 17:24:05 +00:00
Juan Lang
5ebd4e938e
- make sure msihandle2msiinfo is correctly matched with msiobj_release
...
- don't do redundant NULL checks
2005-03-10 11:15:40 +00:00
Ulrich Czekalla
e15e5179c2
Allocate space for terminating null.
2005-03-08 16:44:51 +00:00
Ulrich Czekalla
5f08b9f7b0
Fix a memory leak.
2005-03-08 16:23:36 +00:00
Ulrich Czekalla
64db533173
Add support for radio buttons.
2005-03-04 12:32:08 +00:00
Francois Gouget
fbb3343547
Assorted spelling fixes.
2005-03-02 13:53:50 +00:00
Alexandre Julliard
d0ee9f9309
Avoid spaces before preprocessor directives, that's not portable.
2005-03-02 12:23:20 +00:00
Aric Stewart
8e233e9b9f
Text reformatting patch to clean up all the static strings.
2005-03-01 11:45:19 +00:00
Juan Lang
014ad3ba21
Don't hardcode windows or system directories, correct a typo.
2005-03-01 10:41:52 +00:00
Dmitry Timoshkov
dd1ba8a7d8
Remove a temporary msi database file.
2005-02-26 17:41:36 +00:00
Jon Griffiths
eb5bf7dd38
Documentation spelling fixes.
2005-02-25 14:07:56 +00:00
Aric Stewart
0af2487a51
Implement the action RegisterFonts.
2005-02-25 14:00:09 +00:00
Aric Stewart
b6bc6aa6f8
Add the ExecuteAction handler.
...
Store the keypath, and do refcounting and registration of SharedDLLs.
Fix a bug with handing dword values in the registry.
Fix bugs with writing registry keys where value == NULL.
Make use of msidefs.h.
Lay some groundwork for uninstalls.
2005-02-24 12:47:43 +00:00
Aric Stewart
af812605fb
Do some basic work with registry component paths.
2005-02-24 10:05:53 +00:00
Ulrich Czekalla
fa85f0132b
Prevent accessing freed memory in failure case.
2005-02-24 10:05:27 +00:00
Aric Stewart
713dc8f60c
Make sure formats like [\\]] and [\\[] work properly.
2005-02-23 12:44:25 +00:00
José Manuel Ferrer Ortiz
f151e9b174
Added MSI Spanish resources.
2005-02-23 12:41:09 +00:00
Mike McCormack
09b8264f1d
Make sure strings are null terminated.
2005-02-22 19:31:45 +00:00
Aric Stewart
78a04e39db
Update the installed state for components during CostFinalize. Laying
...
groundwork to be able to start processing uninstall logic as well.
2005-02-22 15:47:00 +00:00
Steven Edwards
5f8797f1fd
Correct typo.
2005-02-22 14:53:05 +00:00
Aric Stewart
7e7b8cf4ef
Fixed problems with my code for finding the PackageCode.
2005-02-18 20:00:34 +00:00
Jonathan Ernst
a37a4f6ce6
Add French resources.
2005-02-16 21:10:02 +00:00
Mike McCormack
0b1b703fdd
Move product, feature and component enumeration functions to
...
registry.c.
2005-02-16 17:52:53 +00:00
Mike McCormack
3988d9c53b
Add a border to the edit control, add some more controls.
2005-02-16 16:25:36 +00:00
Mike McCormack
9bef4830a5
Fix up the summary information code a little.
2005-02-16 16:25:09 +00:00
Aric Stewart
2e24400cc9
Stubs for MsiUseFeature.
2005-02-16 16:24:38 +00:00
Mike McCormack
10e5c9e834
Remove const declaration from non-const function.
2005-02-16 16:07:11 +00:00
Mike McCormack
e2df8814ea
Allow MsiViewExecute to be called twice on the same query.
2005-02-16 16:06:05 +00:00
Mike McCormack
64623067c3
Implement MsiDatabaseGetPrimaryKeys.
2005-02-16 16:05:11 +00:00
Mike McCormack
fa5cbb5a0f
MsiGetComponentPath should allow null pointers for pcchBuf and
...
lpPathBuf.
2005-02-16 16:04:36 +00:00
Henning Gerhardt
d0cc21f45f
Add/updated German resources.
2005-02-15 20:46:19 +00:00
Marcelo Duarte
574c0edabb
Update the resources for Portuguese.
2005-02-14 11:12:30 +00:00
Marcus Meissner
30ed10004b
Output some more informations.
...
Mark one global variable static.
2005-02-14 11:07:55 +00:00
Mike McCormack
1afddb3cd3
Implement SQL delete query.
2005-02-14 11:07:13 +00:00
Francois Gouget
4d801b66e6
Assorted spelling fixes.
2005-02-10 19:19:35 +00:00
Mike McCormack
d42081f8c9
Update headers, add MsiGetUserInfoA stub implementation.
2005-02-10 18:57:42 +00:00
Aric Stewart
fccb667f0e
Added stubs for MsiGetShortcutTargetA/W.
2005-02-10 17:10:14 +00:00
Aric Stewart
c7e88e0820
Add the RegisterUser action.
2005-02-10 17:09:44 +00:00
Ulrich Czekalla
3440035341
Handle 0 length buffers in MSI_FormatRecordW.
...
Remove unused buffer in deformat_string.
2005-02-09 22:22:25 +00:00
Aric Stewart
c2abd83079
Do not track the temp files for custom actions based on the name from
...
the table because then we get conflicts and files not tracked or
cleaned up.
2005-02-09 14:05:24 +00:00
Aric Stewart
187da09b2d
Implement RegisterExtensionInfo and RegisterMIMEInfo.
2005-02-09 13:58:20 +00:00
Mike McCormack
f51ad46a7a
Handle a number as a parameter for custom action 19.
2005-02-09 13:57:54 +00:00
Aric Stewart
0f65057aed
Do not limit properties to 256 characters when evaluating them.
2005-02-09 13:26:16 +00:00
Mike McCormack
34d4a02bc5
- add support for Edit boxes in MSI dialogs
...
- run the message loop when waiting for threads or processes
2005-02-09 13:24:31 +00:00
Mike McCormack
17cfa28216
Fix a memory leak in MsiConfigureProductExW.
2005-02-09 13:22:49 +00:00
Aric Stewart
6ed10c8013
Make a temp file for each dll saved for custom actions. This prevents
...
name collisions from causing custom actions to fail.
2005-02-08 14:27:06 +00:00
Aric Stewart
c1e5c4a907
Add logic to be able to resolve the SourceDir based on
...
CurrentPath. Also add logic to get the source locations of a file if
it is not in a cabinet.
2005-02-08 14:26:49 +00:00
Mike McCormack
ef1d367bcc
Fix MsiModifyView and MsiViewGetColumnInfo to use MSIRECORD* not MSIHANDLE.
2005-02-08 13:44:25 +00:00
Mike McCormack
e7488b8f79
- fix the dialog font
...
- allow waiting on a handle while running the message loop
2005-02-08 12:55:47 +00:00
Juan Lang
5f35a32f60
Identifiers evaluate to true if they are non-empty, regardless of
...
value.
2005-02-08 12:13:49 +00:00
Mike McCormack
65fb09183b
Implement and document MsiLoadString.
2005-02-08 12:12:29 +00:00
Mike Hearn
e0803f1ac4
Correctly ensure properties set from resolved directory paths are
...
backslash terminated.
2005-02-08 12:11:54 +00:00
Juan Lang
1d936f45ae
If a full path isn't specified, search across all fixed drives.
2005-02-08 12:08:49 +00:00
Mike McCormack
fe0f128d06
- implement checkboxes in dialogs
...
- use TextStyle enumeration instead of numbers
- fix MSI_IterateRecords to return the correct count
2005-02-03 10:41:59 +00:00
Juan Lang
c33efbeb7d
Simplify AppSearch error checking.
2005-02-03 10:41:41 +00:00
Mike McCormack
fd91013b46
Add more dialog controls, do something when they're clicked on.
2005-02-02 09:55:51 +00:00
Aric Stewart
3b38dc6864
Cleanup processing a bit more.
...
Allow for nested keys to work properly.
2005-02-02 09:30:22 +00:00
Aric Stewart
a905217b3e
Fix a copy and paste error, check for a null value and discard
...
unneeded errors.
2005-02-02 09:30:05 +00:00
Mike McCormack
79a6626b64
MsiEvaluateCondition returns an error when passed NULL as a
...
condition.
2005-02-02 09:29:46 +00:00
Aric Stewart
d6ecf58e2f
Finish up the framework by stubbing out all the remaining Standard
...
actions.
A fix to deformat_string so it only returns a null return if you
provided a null buffer.
2005-02-02 09:29:30 +00:00
Aric Stewart
3f3186091e
Continued work to simplify the ProcessAction call, also split it into
...
a ProcessAction and ProcessUIAction for future dialog box work.
Also fix a bug in deformat_string where i was not freeing the created
record.
2005-02-01 18:46:26 +00:00
Juan Lang
df9d01409b
Partially implement AppSearch action.
2005-02-01 14:22:31 +00:00
Aric Stewart
5eaf9cec86
Added some more suminfo stubs.
2005-02-01 14:21:03 +00:00
Aric Stewart
4590c7ddee
A reworking of format.c to remove the recursion, clean things up and
...
stabilize behavior to match windows.
2005-01-31 20:41:11 +00:00
Aric Stewart
90c57396f4
Eliminate the giant if.. else if block from ACTION_ProcessAction in
...
favor of a table of handlers.
Return code of the install should not depend on the return code of the
final action.
Update component installed states as they are installed so that
conditions based on component states are at least a little more
correct.
Add icon and argument when regestering clsids.
Add a stub for ResolveSource because we do that work just not in
ResolveSource like we should.
When quering a Component state return the correct state.
2005-01-31 16:23:12 +00:00
Aric Stewart
e495e7e34c
Setting a record to an empty string is the same as making it null.
2005-01-31 11:30:59 +00:00
Mike McCormack
479213c455
Implement MsiPreviewDialog.
2005-01-28 12:39:57 +00:00
Aric Stewart
6b16f29fc0
Enable the updating of Feature and thus the resulting component
...
states.
Run the end of install actions for suspend and user exit states as
well.
Start putting in place a currently running state for future ui use.
2005-01-27 11:12:56 +00:00
Mike McCormack
279ef15646
- implement MsiOpenPackageEx, and forward MsiOpenPackage there
...
- make a MSI_CreatePackage function and use it in MSI_OpenPackage
- move MsiOpenPackageA down with the rest of the API functions
2005-01-27 11:12:16 +00:00
Mike McCormack
c04ce10bdd
Test different types of dodgy queries.
2005-01-27 10:43:27 +00:00
Aric Stewart
c169f717ee
Implement custom action type 19, Halt install and display error
...
message.
2005-01-27 10:43:12 +00:00
Aric Stewart
409d3f62cd
MsiGetProperty does not return any error on missing properties.
2005-01-27 10:42:45 +00:00
Francois Gouget
da8b3dd7f2
Assorted spelling fixes.
2005-01-26 21:09:04 +00:00
Mike McCormack
e5f2ed4c66
Fix MsiRecordSetString for NULL strings and update test case.
2005-01-26 20:39:54 +00:00
Aric Stewart
475a81a818
Added a few more stub implementations.
2005-01-26 19:41:13 +00:00
Aric Stewart
54c67dd1b1
- action.c is getting too big, so split out all the handling of
...
CustomActions into custom.c. Cleaned up a lot of the handling of
custom actions including scripting actions and processing return
codes.
- Mike McCormack pointed out that MsiFormatRecord is basically the
same as internal function deformat_string. So broke deformat_string
out and updated it to function as MsiFormatRecord and implemented
MsiFormatRecord.
- A number of random fixes to action.c including properly calculating
the length for the LocalPackage name, not forcing a reboot when
really we should just return ERROR_INSTALL_SUSPEND and handling
REG_MULTI_SZ now that we can deformat the properly.
2005-01-25 20:17:09 +00:00
Mike McCormack
5af66fef43
Implement, test and document MsiDecomposeDescriptor.
2005-01-25 16:41:33 +00:00
Aric Stewart
68b0749471
Use the new registry functions in registry.c.
...
Do not force a reboot, just return ERROR_INSTALL_SUSPEND and write
some keys to the registry.
2005-01-25 11:05:37 +00:00
Aric Stewart
a26aa0af4c
Move the guid squishing functions out of msi.c and make a new
...
registry.c file. Also clean up all the various registry keys we need
to open and create to this module and modify the functions for msi.c
to call these functions.
2005-01-25 10:58:36 +00:00
Alexandre Julliard
ee4f4a05c5
Avoid unnecessary run-time initializations.
2005-01-24 12:55:31 +00:00
Aric Stewart
0252761c0b
The new Insert fixes now properly require ?,? instead of just ? for
...
the Insert call. This fix modifies the MSI_SetProperty query to be
correct.
2005-01-24 11:25:02 +00:00
Aric Stewart
9999e6ccdf
An implementation of MsiSummaryInfoGetPropertyW based off of
...
MsiSummaryInfoGetPropertyA.
2005-01-24 11:24:35 +00:00
Mike McCormack
609f5514ac
Indentation and style cleanup.
2005-01-24 11:22:00 +00:00