Commit Graph

69 Commits

Author SHA1 Message Date
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
Mike McCormack 7e3918d53e Make the MSI icon control work. 2005-06-23 16:43:38 +00:00
Aric Stewart 71a55e04a3 Allow control events to return codes to halt the processing of event.
Needed for the SetTargetPath Event.
2005-06-17 21:31:06 +00:00
Mike McCormack f9acfe635a Fixes for -Wmissing-declarations and -Wwrite-strings warnings. 2005-06-07 20:29:51 +00:00
Aric Stewart 19ba432b2b Add functions to add the User UpgradeCodes. 2005-06-07 20:02:27 +00:00
Mike McCormack b402f04851 Use standard lists in the event subscription code. 2005-06-06 15:40:15 +00:00
Mike McCormack 6309892499 Create a helper function to fetch a single record from a query. 2005-06-02 10:29:28 +00:00
Mike McCormack e8b21c3eed - avoid unicode.h
- add a missing function prototype
2005-06-01 11:02:19 +00:00
Mike McCormack 64de949cdd More -Wmissing-declarations and -Wwrite-strings warning fixes. 2005-05-31 09:30:28 +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 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
Mike McCormack 0093007b32 Track memory allocations in the SQL parser. 2005-05-23 12:08:17 +00:00
Mike McCormack 7153c8fa65 - remove the unused utf8 field of an expression
- make the parse result a single assignment at top level of parsing
- abort parsing on a memory allocation failure
2005-05-23 09:53:43 +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
Mike McCormack 07c74d07f3 Make sure that dialogs are only created and destroyed in a single
thread.
2005-04-27 10:16:57 +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
Mike McCormack 499a887d0f Load and display bitmaps in the dialogs. 2005-04-11 12:47:20 +00:00
Mike McCormack 758a69515b Implement summary information loading and saving. 2005-03-18 14:01:39 +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 3d4ce5c2c1 Implement MsiEnumRelatedProducts. 2005-03-10 17:24:05 +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
Mike McCormack ef1d367bcc Fix MsiModifyView and MsiViewGetColumnInfo to use MSIRECORD* not MSIHANDLE. 2005-02-08 13:44:25 +00:00
Mike McCormack e7488b8f79 - fix the dialog font
- allow waiting on a handle while running the message loop
2005-02-08 12:55:47 +00:00
Mike McCormack fd91013b46 Add more dialog controls, do something when they're clicked on. 2005-02-02 09:55:51 +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
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
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
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 b3a7f37aaf Fix refcounting, use Interlocked functions. 2005-01-20 20:34:29 +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 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
Mike McCormack 9db0e072b1 Remove a lot of fixed length buffers. 2004-12-22 15:05:07 +00:00
Mike McCormack 181705cbbd - Don't limit the size of the property that can be retrieved by
MsiGetProperty.
- Make MsiGetProperty A/W implementations more consistent.
2004-11-28 14:53:46 +00:00
Alexandre Julliard 25e2a320a7 Don't define BEGIN_INTERFACE in unknwn.h. 2004-08-22 21:38:46 +00:00
Hans Leidekker 4104c622af Set VersionMsi property.
Accept a dot in a number value.
2004-07-19 21:49:15 +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
Alexandre Julliard 77b12768c9 Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
Write the encoded GUIDs for product registration in the Installer
registry.
2004-07-09 19:43:29 +00:00
Aric Stewart 7231a439b4 Implement logging. 2004-07-09 19:26:30 +00:00
Mike McCormack 24e9a34494 Fetch binary streams at the table level. 2004-07-06 18:56:12 +00:00
Aric Stewart b942e18636 Implemented ProcessComponents. 2004-07-06 18:50:02 +00:00
Aric Stewart ec688fb4e0 Beginnings of costing and organizing into components and features. 2004-07-04 00:35:52 +00:00
Aric Stewart bdb2955296 Fix MsiGetTargetPath, MsiGetSourcePath and MsiSetTargetPath. 2004-07-04 00:32:48 +00:00
Aric Stewart 2e9b5f7c07 Use the newly implemented UPDATE code to set properties. 2004-07-04 00:31:17 +00:00
Aric Stewart ed7c4bc84c Implement SetTargetPath, start the basics for tracking UI level. 2004-07-04 00:26:54 +00:00