Commit Graph

115 Commits

Author SHA1 Message Date
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
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
187da09b2d Implement RegisterExtensionInfo and RegisterMIMEInfo. 2005-02-09 13:58:20 +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
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 Hearn
e0803f1ac4 Correctly ensure properties set from resolved directory paths are
backslash terminated.
2005-02-08 12:11:54 +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
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
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
Francois Gouget
da8b3dd7f2 Assorted spelling fixes. 2005-01-26 21:09:04 +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
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
Mike McCormack
0c23885654 Move OpenQuery into msiquery.c and make it non-static. 2005-01-21 16:19:11 +00:00
Michael Stefaniuc
b937407ee5 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-20 10:36:35 +00:00
Aric Stewart
2cae30b6cf Quite a few fixes:
- Allow for the queing of custom actions to trigger on the
  InstallExecute or InstallExecuteAgain actions.
- allow for the queing of custom actions to trigger on
  InstallFinalize.
- Properly set the CustomActionData property for said queued actions.
- Implement RegisterProduct.
- Beginning implementation of ForceReboot.
- Don't kill install if an item to be duplicated does not exist.
- Write out SourceList and LastUsedSource for resuming installs.
- Use regsvr32 to register self reg dlls.
2005-01-19 19:07:40 +00:00
Aric Stewart
6269f00c33 Implementations for SelfRegModules and PublishFeatures.
Set default ACTION property for Install.
Deformat more than JUST properties properly. Allows for Files and
Component paths in deformat.
Properly deformat a LaunchCondition failure dialog box.
Resolve and save registry Keypaths.
Write the Features published keys more correctly. Still some
problems.
2005-01-17 13:40:39 +00:00
Marcus Meissner
b7f6781590 Initialize rc in create_component_directory(). 2005-01-14 16:50:39 +00:00
Aric Stewart
516a9c70ed First implementation of the WriteIniValues action. 2005-01-14 15:59:26 +00:00
Aric Stewart
dbb5d2a871 Custom actions can have null in their target parameters, handle that
without crashing. Also enable deformating of lines greater than 256
characters.
2005-01-14 15:12:27 +00:00