Commit Graph

216 Commits

Author SHA1 Message Date
Mike Hearn e0803f1ac4 Correctly ensure properties set from resolved directory paths are
backslash terminated.
2005-02-08 12:11:54 +00:00
Juan Lang 1d936f45ae If a full path isn't specified, search across all fixed drives. 2005-02-08 12:08:49 +00:00
Mike McCormack fe0f128d06 - implement checkboxes in dialogs
- use TextStyle enumeration instead of numbers
- fix MSI_IterateRecords to return the correct count
2005-02-03 10:41:59 +00:00
Juan Lang c33efbeb7d Simplify AppSearch error checking. 2005-02-03 10:41:41 +00:00
Mike McCormack fd91013b46 Add more dialog controls, do something when they're clicked on. 2005-02-02 09:55:51 +00:00
Aric Stewart 3b38dc6864 Cleanup processing a bit more.
Allow for nested keys to work properly.
2005-02-02 09:30:22 +00:00
Aric Stewart a905217b3e Fix a copy and paste error, check for a null value and discard
unneeded errors.
2005-02-02 09:30:05 +00:00
Mike McCormack 79a6626b64 MsiEvaluateCondition returns an error when passed NULL as a
condition.
2005-02-02 09:29:46 +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 5eaf9cec86 Added some more suminfo stubs. 2005-02-01 14:21:03 +00:00
Aric Stewart 4590c7ddee A reworking of format.c to remove the recursion, clean things up and
stabilize behavior to match windows.
2005-01-31 20:41:11 +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 e495e7e34c Setting a record to an empty string is the same as making it null. 2005-01-31 11:30:59 +00:00
Mike McCormack 479213c455 Implement MsiPreviewDialog. 2005-01-28 12:39:57 +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
Mike McCormack 279ef15646 - implement MsiOpenPackageEx, and forward MsiOpenPackage there
- make a MSI_CreatePackage function and use it in MSI_OpenPackage
- move MsiOpenPackageA down with the rest of the API functions
2005-01-27 11:12:16 +00:00
Mike McCormack c04ce10bdd Test different types of dodgy queries. 2005-01-27 10:43:27 +00:00
Aric Stewart c169f717ee Implement custom action type 19, Halt install and display error
message.
2005-01-27 10:43:12 +00:00
Aric Stewart 409d3f62cd MsiGetProperty does not return any error on missing properties. 2005-01-27 10:42:45 +00:00
Francois Gouget da8b3dd7f2 Assorted spelling fixes. 2005-01-26 21:09:04 +00:00
Mike McCormack e5f2ed4c66 Fix MsiRecordSetString for NULL strings and update test case. 2005-01-26 20:39:54 +00:00
Aric Stewart 475a81a818 Added a few more stub implementations. 2005-01-26 19:41:13 +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
Mike McCormack 5af66fef43 Implement, test and document MsiDecomposeDescriptor. 2005-01-25 16:41:33 +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
Aric Stewart a26aa0af4c Move the guid squishing functions out of msi.c and make a new
registry.c file. Also clean up all the various registry keys we need
to open and create to this module and modify the functions for msi.c
to call these functions.
2005-01-25 10:58:36 +00:00
Alexandre Julliard ee4f4a05c5 Avoid unnecessary run-time initializations. 2005-01-24 12:55:31 +00:00
Aric Stewart 0252761c0b The new Insert fixes now properly require ?,? instead of just ? for
the Insert call. This fix modifies the MSI_SetProperty query to be
correct.
2005-01-24 11:25:02 +00:00
Aric Stewart 9999e6ccdf An implementation of MsiSummaryInfoGetPropertyW based off of
MsiSummaryInfoGetPropertyA.
2005-01-24 11:24:35 +00:00
Mike McCormack 609f5514ac Indentation and style cleanup. 2005-01-24 11:22:00 +00:00
Mike McCormack 0c23885654 Move OpenQuery into msiquery.c and make it non-static. 2005-01-21 16:19:11 +00:00
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