Commit Graph

76 Commits

Author SHA1 Message Date
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
Francois Gouget 87b0906789 Assorted spelling fixes. 2005-01-10 13:29:24 +00:00
Aric Stewart 2b2fecf88a Make all custom type 1 actions happen in a seperate thread and close
all handles for that thread when it exits. Honors the concept of
temporary MSI handles for custom actions.
2005-01-07 17:08:35 +00:00
Aric Stewart 1416b10119 - Properly deformat keys written to the registry.
- Because directory mappings can change between the CostFinalize step
  and the InstallFiles step we need to do a final resolution of the
  target file name before installing.
2005-01-06 19:34:16 +00:00
Aric Stewart 00e1ecdce8 When checking for an existing .lnk shortcut extension on the filename
do not just search for '.' but actually verify it is '.lnk'.
2005-01-05 17:13:12 +00:00
Aric Stewart 4e55343064 - CustomAction 35 should call SetTargetPath not just set the property.
- TARGETDIR and SOURCEDIR may not be entries 0 in the directory
  tables. So when resolving the folder we need to seek them out.
- When we handle SetTargetPath we need to be sure to recalculate the
  resulting paths as things with the now set Directory as the parent
  will change.
2005-01-04 20:47:20 +00:00
Aric Stewart def5cbfc0b Change how we install files so that we extract files as we need them,
cuts down on extraction time and unused files.
2005-01-04 20:42:58 +00:00
Mike McCormack ac6a413bf5 Remove unneeded whitespace, indent correctly. 2005-01-04 20:36:12 +00:00
Aric Stewart bd1bbc1768 Improve progress bar tracking. 2005-01-03 20:00:13 +00:00
Aric Stewart 6296de389a Be sure that set paths are terminated with a backslash. 2005-01-03 16:06:44 +00:00
Aric Stewart 51cf7d13c0 Free allocated buffers. 2005-01-03 14:29:09 +00:00
Aric Stewart d900b5392d Parse out the full features by using the ',' character and do
comparisons based on the full feature names.
2004-12-27 19:12:35 +00:00
Aric Stewart ea32fb93a1 Continue when a duplicate component is found and loaded. 2004-12-27 19:09:16 +00:00
Aric Stewart fbdd70968d - Rework how we handle Feature and Component States. I have confirmed
from testing that, although documented nowhere, having ADDLOCAL on
  the install line overrides INSTALLLEVEL.
- Track all files extracted from cabinents as tempfiles so they can be
  removed at the end of the install to not leave uninstalled but
  uncabbed files laying around.
2004-12-27 19:06:22 +00:00
Aric Stewart ae1aa32c77 Move Install Features selection and evaluation into CostFinalize. 2004-12-27 19:02:59 +00:00
Aric Stewart 09d35c3c91 Allow for end of install actions. 2004-12-27 19:00:26 +00:00
Aric Stewart 8cc14a93a1 - Create the shortcut directory if it does not exist.
- Set the INSTALLLEVEL in CostFinalize if it is not set.
2004-12-27 18:56:30 +00:00
Aric Stewart 2ad3ff880f Eliminate some fixed length buffers. 2004-12-27 18:50:00 +00:00
Aric Stewart 3c949ef412 Enable asynchronous dll custom action calls. 2004-12-27 17:09:40 +00:00
Aric Stewart 454422d605 Make sure to include trailing backslash in path. 2004-12-23 11:20:50 +00:00
Aric Stewart fa384f6b10 Move around and rename some functions. 2004-12-22 18:46:17 +00:00
Aric Stewart d0c971a62c Fix incorrect return code check. 2004-12-22 18:15:50 +00:00
Aric Stewart 259557038c Fix folder resolution. 2004-12-22 17:13:26 +00:00
Mike McCormack ba8200bf49 Remove more fixed length buffers, rewrite functions to return
malloc'ed memory.
2004-12-22 15:25:30 +00:00
Mike McCormack 9db0e072b1 Remove a lot of fixed length buffers. 2004-12-22 15:05:07 +00:00
Vitaly Lipatov 5c4116bc66 Add description for MsiGetMode, MSIRUNMODE constants. 2004-12-16 14:29:25 +00:00
Aric Stewart 1282d7ad44 Handle 3 more custom action types 2004-11-03 22:16:53 +00:00
Aric Stewart d906ef03ff Don't reregister ProgIds over and over, also write out the main key
before trying to register the Parent. This avoids loops if a ProgId
has itself as a parent or there is a loop in dependencies.
2004-10-22 22:06:31 +00:00
Aric Stewart 120009e9b4 Properly compare file versions when upgrading files so that new
versions get properly installed.
2004-10-08 23:35:35 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Robert Shearman dce07c4040 Make sure paths end with a slash before concatenating file names. 2004-09-17 18:11:14 +00:00
Robert Shearman 3d7299b7a4 - Use FDI functions like native instead of advpack.ExtractFiles and
cabinet.Extract (which doesn't work with native cabinet)
- If MoveFile fails the message now displayes the correct last error
  and bails rather than silently breaking the install.
2004-09-10 22:29:49 +00:00
Mike McCormack 4604e66094 Fix warnings found with -Wsign-compare. 2004-08-06 17:30:20 +00:00
Aric Stewart 6a787c7c40 Use correct calling convention for the custom action handlers. 2004-07-30 00:00:25 +00:00
Aric Stewart 84837d96a6 If the data table for a called action does not exist (for example
CreateFolders wants a CreateFolder table to read the data from) do not
fail, instead just do not perform the action.
2004-07-20 01:22:37 +00:00
Mike McCormack f3c8b83055 Fix the return code of MsiDatabaseOpenView. 2004-07-19 19:35:05 +00:00
Francois Gouget 817c520909 Assorted spelling fixes. 2004-07-16 19:15:40 +00:00
Hans Leidekker ba848ac195 Fix command line parsing. 2004-07-12 20:43:09 +00:00
Mike McCormack c90c781a32 Implement MsiVerifyPackage, cosmetic fixes. 2004-07-09 22:58:27 +00:00
Alexandre Julliard a7a6f5f31c Authors: Mike McCormack <mike@codeweavers.com>, Aric Stewart <aric@codeweavers.com>
Refcount all objects, and use pointers internally.
2004-07-09 22:25:34 +00:00