Commit Graph

135 Commits

Author SHA1 Message Date
Aric Stewart f9e64e8187 Don't get caught in loops on parent progids. 2005-06-06 15:39:59 +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 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
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 38de6131f1 Remove some unused code. 2005-05-31 13:20:09 +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
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 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 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
Juan Lang 88adb53bf0 Don't fail in RegisterFonts if the Fonts table is missing. 2005-05-19 11:15:24 +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
Aric Stewart fa468e64d5 Fix a few leaking object handles. 2005-05-09 19:33:50 +00:00
Aric Stewart 2b8bf597b5 Correct user component publication.
Implement MsiEnumComponentQualifiers.
2005-04-28 18:28:11 +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
Francois Gouget 3ef8c51c8a Tweak the API documentation to silence winapi_check warnings. 2005-04-20 15:18:42 +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
Steven Edwards 98efef18d4 Avoid using ver.h in favor of winver.h. 2005-04-11 16:10:33 +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
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +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 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 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
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
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
Ulrich Czekalla fa85f0132b Prevent accessing freed memory in failure case. 2005-02-24 10:05:27 +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
Marcus Meissner 30ed10004b Output some more informations.
Mark one global variable static.
2005-02-14 11:07:55 +00:00
Aric Stewart c7e88e0820 Add the RegisterUser action. 2005-02-10 17:09:44 +00:00