Commit Graph

162 Commits

Author SHA1 Message Date
Aric Stewart
854bfc4b0f Rework SelfRegModules to use MSI_IterateRecords. 2005-06-24 11:33:02 +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
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
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
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
Aric Stewart
4b600b8736 Break out all the top level apis into install.c. 2005-06-16 20:40:34 +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
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
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
f9acfe635a Fixes for -Wmissing-declarations and -Wwrite-strings warnings. 2005-06-07 20:29:51 +00:00
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