Commit Graph

456 Commits

Author SHA1 Message Date
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