Commit Graph

183 Commits

Author SHA1 Message Date
Mike McCormack eb23257b7d Added stub implementations for MsiPreviewDialog and
MsiPreviewBillboard.
2005-01-21 10:17:01 +00:00
Mike McCormack cce387d1a6 Lock record in MsiViewExecute, move stubs to end. 2005-01-21 10:16:30 +00:00
Mike McCormack 5007de8b05 Fix and test inserting records. 2005-01-20 20:39:15 +00:00
Mike McCormack b3a7f37aaf Fix refcounting, use Interlocked functions. 2005-01-20 20:34:29 +00:00
Mike McCormack 48df747150 Fix a bug caused by freeing memory too soon in the table code. 2005-01-20 19:57:22 +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 2c0e46d9df Do a very basic first implementation of MsiConfigureProductExW for
msiexec /@  when run as a reboot.
Also add a number of new stubs for the office xp and 2k3 install and
startup process.
2005-01-19 16:58:03 +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
Aric Stewart 82a6a3b826 First pass implement ion of MsiQueryProductState[A/W] as well as a few
fixes for MsiGetComponentPath.
2005-01-17 13:39:57 +00:00
Aric Stewart 0de5671ee9 Actually start on an implemention for MsiGetComponentPathW that should
handle all keypaths that are files.
2005-01-14 17:05:53 +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
Paul Vriens 6a8268f372 Use Interlocked* functions in AddRef and Release. 2005-01-11 15:46:43 +00:00
Francois Gouget 87b0906789 Assorted spelling fixes. 2005-01-10 13:29:24 +00:00
Mike McCormack 921be0a87c Implement MsiRecordSetStreamA/W and add tests for records containing
streams.
2005-01-09 18:24:15 +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
Mike McCormack 8964082781 MsiCloseAllHandles only closes handles allocated in the calling
thread.
2005-01-06 20:43:04 +00:00
Mike McCormack 25c453aaf4 Add test for records. 2005-01-06 20:42:48 +00:00
Mike McCormack aaa4b42c16 Fix records according to test cases. 2005-01-06 20:42:25 +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
Vitaly Lipatov 2dd31728d3 Get real screen properties. 2005-01-05 17:11:33 +00:00
Mike McCormack 23b291a642 Add a simple test case for MSI databases. 2005-01-05 13:26:34 +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
Steven Edwards d06a464ce9 Add and fix some stubs. 2005-01-03 16:54:43 +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
Mike McCormack 0f0b6c8c15 Implement thread safety for records. 2004-12-27 19:29:33 +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 fb9d11941f Include a System16Folder definition. 2004-12-27 17:43:37 +00:00
Aric Stewart 3c949ef412 Enable asynchronous dll custom action calls. 2004-12-27 17:09:40 +00:00
Aric Stewart ab013bb6db Added MsiSetExternalUIW. 2004-12-23 11:22:00 +00:00
Aric Stewart 454422d605 Make sure to include trailing backslash in path. 2004-12-23 11:20:50 +00:00
Aric Stewart 62cd1e03c3 Blank the property buffers even if the property is not found. 2004-12-22 18:47:54 +00:00
Aric Stewart fa384f6b10 Move around and rename some functions. 2004-12-22 18:46:17 +00:00
Aric Stewart 74ad0d3ab7 Include the trailing backslash on the Windows volume. 2004-12-22 18:17:15 +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