Commit Graph

466 Commits

Author SHA1 Message Date
Aric Stewart 54ba7b9338 Do not change a features state to Advertise if it explicitly disallows
it.
2005-06-02 15:16:31 +00:00
Aric Stewart ca8c4e4105 For typelibs index 1 do not add \\1 to the path. This cleans up
registry diffs with native MSI.
2005-06-02 15:13:57 +00:00
Aric Stewart 44816cebd6 Register the FileType and correct short vs long path problems with
InprocServer32. Also add install_on_demand boolean for future
expansion.
2005-06-02 15:09:57 +00:00
Mike McCormack 0b352c7f7f Use the new helper function MSI_QueryGetRecord. 2005-06-02 10:29:57 +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
Dmitry Timoshkov b67da5b946 Make more of the OLE interface vtables const. 2005-06-01 19:57:42 +00:00
Alexandre Julliard 955e589ed0 Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
Fix handling of checkbox properties.
2005-06-01 19:48:48 +00:00
Mike McCormack 9ca5717a2f Clean up headers and make some functions static. 2005-06-01 11:02:48 +00:00
Mike McCormack e8b21c3eed - avoid unicode.h
- add a missing function prototype
2005-06-01 11:02:19 +00:00
Mike McCormack 38de6131f1 Remove some unused code. 2005-05-31 13:20:09 +00:00
Mike McCormack 64de949cdd More -Wmissing-declarations and -Wwrite-strings warning fixes. 2005-05-31 09:30:28 +00:00
Mike McCormack b15c264de4 Improve number parsing and avoid unicode.h. 2005-05-31 09:30:01 +00:00
Mike McCormack b075f03acb Remove more types from the parser. 2005-05-30 11:32:18 +00:00
Mike McCormack cac6387ca3 Add and correct some function declarations. 2005-05-30 11:12:24 +00:00
Francois Gouget 62253b752f Assorted spelling fixes. 2005-05-30 09:56:56 +00:00
Mike McCormack d1a55eb3f8 Get rid of some redundant parser types. 2005-05-29 20:17:16 +00:00
Mike McCormack b58a098a11 -Wmissing-declarations and -Wwrite-strings warning fixes. 2005-05-29 20:08:12 +00:00
Alexandre Julliard f271224f44 Authors: Mike McCormack <mike@codeweavers.com>, Aric Stewart <aric@codeweavers.com>
Add format record tests.
2005-05-27 19:25:42 +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
Aric Stewart aa95731d6f Restrict deformating of nested index keys [[1]].
Introduce the beginning of group deformating {}.
2005-05-27 19:23:29 +00:00
Mike McCormack 018bc9a0cd Test and fix the size of stream fields in a record. 2005-05-27 09:26:13 +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 3594e45ab6 First pass at writing out CurVer keys for ProgIds. Also print a
message for the actions we skip. Lines up with native MSI output logs
for ease of comparison.
2005-05-26 16:08:58 +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
Aric Stewart 825920a090 Implement the [!file] format to produce the short filename. 2005-05-25 17:49:49 +00:00
Mike McCormack 3244265855 Simplify parsing of the FROM keyword. 2005-05-24 09:49:01 +00:00
Aric Stewart bec5549da6 Double terminate SZ_MULTI properly.
ClassInfo and ExtensionInfo are also written for ADVERTISED
components.
2005-05-23 16:24:20 +00:00
Aric Stewart fefad8fcf2 Fix a leaking handle.
Make MsiCollectUserInfo more internally consistent.
Thanks to Mike McCormack.
2005-05-23 16:23:54 +00:00
Mike McCormack b18c262d57 Improve parser error checking. 2005-05-23 16:23:11 +00:00
Mike McCormack 0093007b32 Track memory allocations in the SQL parser. 2005-05-23 12:08:17 +00:00
Mike McCormack f50e9aadea Simplify parsing of select query. 2005-05-23 11:49:49 +00:00
Mike McCormack 0d1c3a14fc Create the ORDER BY view in a single call. 2005-05-23 10:27:00 +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
Stefan Leichter f23029f647 Update version resource of msi.dll to current version shipped from
windows update.
2005-05-23 09:49:50 +00:00
Juan Lang 806be361d0 Turn handled errors from ERRs to WARNs or TRACEs. 2005-05-20 19:16:50 +00:00
Aric Stewart d97e2c3058 We have a stub for MsiGetUserInfoA we should use it. 2005-05-20 18:59:20 +00:00
Aric Stewart 8a6d5e5847 Fix a leaking handle in MsiConfigureProductExW.
Implement MsiGetProductCodeW.
Implement MsiGetUserInfoW.
Implement MsiCollectUserInfoA/W.
2005-05-20 18:59:11 +00:00
Aric Stewart ec4df18833 Write the RegOwner and RegCompany keys as blank if they do not exist
when doing the RegisterUser action.
2005-05-20 18:59:01 +00:00
Aric Stewart 98e3808261 Fix quoting on queries.
Respect '+' and '*' in WriteRegistryValues to only create the key if
it does not already exist. Prevents overwriting values with NULL.
2005-05-20 09:40:42 +00:00
Aric Stewart 16b667ab01 Quoting fixes. 2005-05-20 09:40:14 +00:00
Aric Stewart 721c11a52a Correct query quoting based on Mike's patch.
Also more error messages about return codes from custom actions and
ignore an error that we should be ignoring.
2005-05-20 09:40:02 +00:00
Mike McCormack d31f12964b Only tables can be backquoted, strings must be single quoted. 2005-05-19 11:15:37 +00:00
Juan Lang 88adb53bf0 Don't fail in RegisterFonts if the Fonts table is missing. 2005-05-19 11:15:24 +00:00
Aric Stewart d5bfaf7897 A few small fixes. 2005-05-18 17:46:38 +00:00
Aric Stewart c5a1443fd9 We cannot internally load the files in FileCost because that action
may be skipped or not called. So do it in CostInitialize.
Quote the file path in SelfRegModules.
Do not write squished null guids to the feature registration.
2005-05-18 17:46:12 +00:00
Aric Stewart 98d9cec74c Correctly use short filenames from uncompressed file sources. Also
default feature and component install states to ABSENT instead of
UNKNOWN.
2005-05-18 13:23:52 +00:00
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
Mike McCormack bd07966c8f Avoid some non-standard str functions. 2005-05-11 12:58:22 +00:00
Stefan Leichter f483ca611e Added minimal implementation of MsiCreateAndVerifyInstallerDirectory. 2005-05-11 12:01:12 +00:00
Mike McCormack c1f2cf1fba - make sure to free the string table when closing the database
- don't free szPersist in MsiOpenDatabase if it's not a string
2005-05-10 16:00:19 +00:00
Juan Lang ac0ba1a241 Partially implement AppSearch for RegLocator-type searches. 2005-05-10 08:27:00 +00:00
Aric Stewart fa468e64d5 Fix a few leaking object handles. 2005-05-09 19:33:50 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Aric Stewart 2494e4a52a Add a missing msiobj_release that was resulting in a leaked object
with each MsiCreateRecord call.
2005-05-07 12:13:08 +00:00
Aric Stewart 41fbee0e83 Correct a missing MsiCloseHandle(). 2005-05-07 12:12:56 +00:00
Francois Gouget 63b596d7ea Tweak the documentation to make winapi_check happy. 2005-05-06 14:33:02 +00:00
Marcus Meissner 1fa2da0756 Set PhysicalMemory property from system data. 2005-05-04 10:37:05 +00:00
Vincent Béron 0fa5e855fb Use SUBLANG_NEUTRAL for French resources. 2005-05-04 09:52:47 +00:00
Aric Stewart 2b8bf597b5 Correct user component publication.
Implement MsiEnumComponentQualifiers.
2005-04-28 18:28:11 +00:00
Aric Stewart ece85e0cf0 Implement MsiQueryFeatureStateW. 2005-04-28 12:01:06 +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 afcaf83ed7 Correct a leaking hkey handle. 2005-04-27 08:11:52 +00:00
Aric Stewart 1b54881209 Expand some handling of special properties in MsiGetProductInfo. 2005-04-26 14:30:31 +00:00
Mike McCormack f47c0b2e29 Declare MsiExportDatabase* in the spec file, and fix a typo. 2005-04-26 14:30:15 +00:00
Francois Gouget 5ffd9888cd Tweak the API documentation to silence winapi_check warnings. 2005-04-22 19:04:41 +00:00
Aric Stewart 7e181f49a8 Fix for the return codes for the Qualified component calls. They are
not INSTALLSTATEs but rather success values.
2005-04-21 17:24:27 +00:00
Francois Gouget 3ef8c51c8a Tweak the API documentation to silence winapi_check warnings. 2005-04-20 15:18:42 +00:00
Mike McCormack ae8c0ab55b Test MsiSummaryInfoGetProperty reading an empty property. 2005-04-20 14:24:30 +00:00
Mike McCormack 7932d76a1d Fix loading of the summary information. 2005-04-20 14:24:14 +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
Francois Gouget 3b36eee083 Add trailing '\n's to ok() calls. 2005-04-19 09:48:44 +00:00
Peter Berg Larsen 407409f27f Remove 2 identicals calls to strlenW. 2005-04-18 15:36:59 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Juan Lang c33d2621eb Log missing environment vars for easier debugging. 2005-04-12 10:15:09 +00:00
Steven Edwards 98efef18d4 Avoid using ver.h in favor of winver.h. 2005-04-11 16:10:33 +00:00
José Manuel Ferrer Ortiz 4f50a2c0dc Spanish translations updated. 2005-04-11 13:01:46 +00:00
Mike McCormack 499a887d0f Load and display bitmaps in the dialogs. 2005-04-11 12:47:20 +00:00
Francois Gouget 6b10c324c5 Assorted spelling fixes. 2005-03-30 17:08:31 +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
Mike McCormack 180f04059b Split out database functions, remove dependence on wine/unicode.h. 2005-03-29 11:28:57 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Mike McCormack 30e388af51 Use strdup, implement MsiDatabaseImportA. 2005-03-25 16:38:26 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Mike McCormack 77a19ed8e6 Replace instances of HeapAlloc/MultiByteToWideChar with the internally
defined strdupAtoW.
2005-03-24 19:04:06 +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 bf0f6a22d2 Make sure there's only one place we allocate dialog controls. 2005-03-24 15:09:31 +00:00
Mike McCormack c3ab871ff9 Clean up registry functions. 2005-03-24 15:09:18 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Marcus Meissner 6d32d63979 Fixed MsiDatabaseImportA, MsiDatabaseImportW, and
MsiCreateAndVerifyInstallerDirectory stub parameter counts.
2005-03-23 10:24:53 +00:00
Jakob Eriksson 4364d06821 Windows 98 doesn't like it when we delete the tempfile. 2005-03-22 18:16:53 +00:00
Aric Stewart 8760ed97f2 Test package creation. 2005-03-22 16:45:55 +00:00
Hans Leidekker 8cf1389409 Dutch resource translation. 2005-03-22 16:39:25 +00:00
Mike McCormack 4c20cc6f0f - test cases for summary information
- fix memory leaks
2005-03-19 17:08:34 +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 35c65cf731 Fix a regression in AppSearch. 2005-03-10 17:24:20 +00:00
Juan Lang 3d4ce5c2c1 Implement MsiEnumRelatedProducts. 2005-03-10 17:24:05 +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
Ulrich Czekalla 64db533173 Add support for radio buttons. 2005-03-04 12:32:08 +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
Dmitry Timoshkov dd1ba8a7d8 Remove a temporary msi database file. 2005-02-26 17:41:36 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +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
Aric Stewart af812605fb Do some basic work with registry component paths. 2005-02-24 10:05:53 +00:00
Ulrich Czekalla fa85f0132b Prevent accessing freed memory in failure case. 2005-02-24 10:05:27 +00:00
Aric Stewart 713dc8f60c Make sure formats like [\\]] and [\\[] work properly. 2005-02-23 12:44:25 +00:00
José Manuel Ferrer Ortiz f151e9b174 Added MSI Spanish resources. 2005-02-23 12:41:09 +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
Jonathan Ernst a37a4f6ce6 Add French resources. 2005-02-16 21:10:02 +00:00
Mike McCormack 0b1b703fdd Move product, feature and component enumeration functions to
registry.c.
2005-02-16 17:52:53 +00:00
Mike McCormack 3988d9c53b Add a border to the edit control, add some more controls. 2005-02-16 16:25:36 +00:00
Mike McCormack 9bef4830a5 Fix up the summary information code a little. 2005-02-16 16:25:09 +00:00
Aric Stewart 2e24400cc9 Stubs for MsiUseFeature. 2005-02-16 16:24:38 +00:00
Mike McCormack 10e5c9e834 Remove const declaration from non-const function. 2005-02-16 16:07:11 +00:00
Mike McCormack e2df8814ea Allow MsiViewExecute to be called twice on the same query. 2005-02-16 16:06:05 +00:00
Mike McCormack 64623067c3 Implement MsiDatabaseGetPrimaryKeys. 2005-02-16 16:05:11 +00:00
Mike McCormack fa5cbb5a0f MsiGetComponentPath should allow null pointers for pcchBuf and
lpPathBuf.
2005-02-16 16:04:36 +00:00
Henning Gerhardt d0cc21f45f Add/updated German resources. 2005-02-15 20:46:19 +00:00
Marcelo Duarte 574c0edabb Update the resources for Portuguese. 2005-02-14 11:12:30 +00:00
Marcus Meissner 30ed10004b Output some more informations.
Mark one global variable static.
2005-02-14 11:07:55 +00:00
Mike McCormack 1afddb3cd3 Implement SQL delete query. 2005-02-14 11:07:13 +00:00
Francois Gouget 4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Mike McCormack d42081f8c9 Update headers, add MsiGetUserInfoA stub implementation. 2005-02-10 18:57:42 +00:00
Aric Stewart fccb667f0e Added stubs for MsiGetShortcutTargetA/W. 2005-02-10 17:10:14 +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 c2abd83079 Do not track the temp files for custom actions based on the name from
the table because then we get conflicts and files not tracked or
cleaned up.
2005-02-09 14:05:24 +00:00
Aric Stewart 187da09b2d Implement RegisterExtensionInfo and RegisterMIMEInfo. 2005-02-09 13:58:20 +00:00
Mike McCormack f51ad46a7a Handle a number as a parameter for custom action 19. 2005-02-09 13:57:54 +00:00
Aric Stewart 0f65057aed Do not limit properties to 256 characters when evaluating them. 2005-02-09 13:26:16 +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
Mike McCormack 17cfa28216 Fix a memory leak in MsiConfigureProductExW. 2005-02-09 13:22:49 +00:00
Aric Stewart 6ed10c8013 Make a temp file for each dll saved for custom actions. This prevents
name collisions from causing custom actions to fail.
2005-02-08 14:27:06 +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 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
Juan Lang 5f35a32f60 Identifiers evaluate to true if they are non-empty, regardless of
value.
2005-02-08 12:13:49 +00:00
Mike McCormack 65fb09183b Implement and document MsiLoadString. 2005-02-08 12:12:29 +00:00