Mike McCormack
470f23d471
Fix various memory leaks.
2005-09-22 10:56:26 +00:00
Mike McCormack
566c69e7e4
Simplify the ProcessComponents action a little.
2005-09-22 10:49:17 +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
f3f12ab56b
Simplify the InstallValidate action a little.
2005-09-21 10:20:03 +00:00
Mike McCormack
ee034ba4c2
Added memory allocation inline functions (part 2).
2005-09-20 11:59:14 +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
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
79ca56cd6a
Eliminate fixed length buffers from the MSIFEATURE structure.
2005-09-13 10:37:37 +00:00
Mike McCormack
efcc1ec5e4
Fix more fixed length buffers.
2005-09-12 12:07:15 +00:00
Mike McCormack
f11c8b0098
Reduce the indent level of a function.
2005-09-09 14:48:51 +00:00
Mike McCormack
5c1212261f
Allocate memory rather than using fixed length buffers.
2005-09-08 12:42:31 +00:00
Mike McCormack
72faac0d2f
Remove an unnecessary level of indent.
2005-09-08 11:03:35 +00:00
Mike McCormack
c50ef541e8
Keep temporary files in a seperate list.
2005-09-07 11:25:18 +00:00
Mike McCormack
298cdaead1
Avoid fixed length buffers for conditions.
2005-09-06 11:39:01 +00:00
Mike McCormack
54a2891d33
Make some fixme messages less alarmist.
2005-09-06 09:23:18 +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
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
0946c42d5a
Added a null check for component.
2005-08-24 10:57:27 +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
Alexandre Julliard
7258914ef6
Use the official names for the Unicode string constants.
2005-07-13 12:07:41 +00:00
Aric Stewart
c6d24d235a
Use the strings defined in msi.h.
2005-07-11 18:01:39 +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
Aric Stewart
adaef1112e
Fill and use the ProductCode part of the MSIPACKAGE structure.
2005-07-07 20:27:06 +00:00
Mike McCormack
4f634a3b7a
Stop the install when cancelling from a modeless dialog.
2005-07-06 15:44:51 +00:00
Mike McCormack
16466af791
gcc 4.0 -Wpointer-sign fixes.
2005-07-06 10:33:30 +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
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
Aric Stewart
25f1e75d43
Perform ExecuteAction at UILevel 2.
2005-06-24 12:14:52 +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
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
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