Commit Graph

358 Commits

Author SHA1 Message Date
Hans Leidekker 0f1d3474a8 msi: Add a length parameter to msi_set_property and use it where appropriate. 2012-10-29 14:41:36 +01:00
Hans Leidekker 9588deb54c msi: Preserve strings with embedded nulls when copying from the string table to a record. 2012-10-29 14:41:16 +01:00
Hans Leidekker 6a588baaf7 msi: Use inline wrappers for calling COM methods. 2012-07-27 17:05:32 +02:00
Hans Leidekker 32fa9db888 msi: Don't hard-code the ServicePackLevel property. 2012-07-09 15:06:42 -04:00
Hans Leidekker a17ca16495 msi: Keep assembly caches loaded until the package is destroyed. 2012-06-12 10:22:24 +02:00
Hans Leidekker f0ea60049c msi: Add support for 64-bit registry components. 2012-06-11 21:03:47 +02:00
Hans Leidekker 4b32c09376 msi: Add support for the ActionInfo progress message subtype. 2012-05-15 16:26:38 +02:00
Hans Leidekker 89e95aa92c msi: Avoid a crash in get_registered_local_package. 2012-04-26 19:26:41 +02:00
Hans Leidekker dd205230a0 msi: Keep the UI level fixed during the lifetime of a package. 2012-04-05 17:53:20 +02:00
Hans Leidekker d351a9999e msi: Also set the Intel property on 64-bit processors. 2012-03-28 17:37:41 +02:00
Hans Leidekker 280af52666 msi: Mask off modifiers before setting the UILevel property.
Spotted by Aric Stewart.
2012-03-26 18:15:03 +02:00
André Hentschel c000cbaf49 msi: Allow ARM installations. 2012-03-26 12:41:27 +02:00
Hans Leidekker 531cab9feb msi: Deformat the description field of INSTALLMESSAGE_ACTIONDATA messages. 2012-03-12 16:37:22 +01:00
Hans Leidekker b00e7039c5 msi: Execute custom actions in the right script. 2012-01-06 21:57:40 +01:00
Hans Leidekker eb7d8b92cb msi: GetComputerName returns ERROR_BUFFER_OVERFLOW when the buffer is too small. 2011-11-03 13:09:07 +01:00
Hans Leidekker 5266f34c3c msi: Set the ComputerName property. 2011-11-01 12:13:46 +01:00
Hans Leidekker 936c14f87f msi: Handle some more message types in MSI_ProcessMessage. 2011-11-01 12:12:59 +01:00
Hans Leidekker 899e85ab26 msi: Fix the log mode for progress messages. 2011-11-01 12:12:55 +01:00
Hans Leidekker 6ae7061645 msi: Improve parsing of the package platform. 2011-09-15 15:41:42 +02:00
Marcus Meissner 6d1ec3517d Revert "msi: Check for return value of GetUserName (Coverity).".
This reverts commit ac0a7b644f.
GetUserName is supposed to return 0 here, as size is 0.
2011-09-08 20:08:06 +02:00
Marcus Meissner ac0a7b644f msi: Check for return value of GetUserName (Coverity). 2011-09-07 18:14:02 +02:00
Hans Leidekker 9cb38911d2 msi: Initialize a variable. 2011-09-05 17:17:41 +02:00
Hans Leidekker 70e3790707 msi: Remove local patch packages when the product is removed. 2011-08-23 16:53:56 +02:00
Hans Leidekker 621b0405c9 msi: Don't create a temporary copy of the package.
There's no need for it now that we open the package in transacted mode.
2011-08-23 16:53:56 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Hans Leidekker e1c2e8828f msi: Clean up the database queries. 2011-07-27 11:55:16 +02:00
Hans Leidekker 7f199e81e1 msi: Avoid using an uninitialized value (clang). 2011-07-07 12:32:29 +02:00
Hans Leidekker 7d677fc327 msi: Delay creating local installer and patch packages until the product is registered. 2011-07-01 14:39:36 +02:00
Hans Leidekker 926fe27718 msi: GetUserName sets last error to ERROR_INSUFFICIENT_BUFFER if the buffer is too small. 2011-06-01 16:13:32 +02:00
Alexandre Julliard b79fde445e msi: Remove the temp files after the storage files are closed. 2011-05-26 13:28:27 +02:00
Hans Leidekker 0c43024af7 msi: Get rid of helpers.c. 2011-05-06 16:39:08 +02:00
Hans Leidekker cd34bfe6c1 msi: Define common strings just once. 2011-05-02 16:40:20 +02:00
Hans Leidekker 4668091528 msi: Rewrite the folder resolution code to keep track of the parent-child relationship. 2011-05-02 16:40:06 +02:00
Hans Leidekker c96cd6efc8 msi: Avoid casts in IWineMsiRemotePackage methods. 2011-05-02 16:39:37 +02:00
Hans Leidekker cc517f2b38 msi: Support remote calls to MsiEnumComponentCosts. 2011-05-02 16:39:02 +02:00
Hans Leidekker 131ef6372f msi: Add support for maintaining a list of cabinet streams. 2011-04-14 17:37:23 +02:00
Hans Leidekker 31291ec205 msi: Fix building the message string in MSI_ProcessMessage. 2011-03-31 12:49:48 +02:00
Hans Leidekker 6f552fd2f7 msi: Avoid sprintf for simple concatenations. 2011-03-30 13:28:05 +02:00
Hans Leidekker e4d19fc47b msi: Explicitly pass product code and platform to MSIREG_OpenUninstallKey and MSIREG_DeleteUninstallKey. 2011-03-30 13:28:05 +02:00
David Hedberg 6771ed40e8 msi: Add support for patching files. 2011-03-29 12:22:34 +02:00
Hans Leidekker f1e59351de msi: Manage one assembly cache per major version of the .NET runtime. 2011-03-07 13:17:46 +01:00
Hans Leidekker 40ad619ac3 msi: Avoid registering duplicate source list information. 2011-03-07 13:17:34 +01:00
Hans Leidekker 257beae1fd msi: Fix some memory leaks (valgrind). 2011-01-13 17:26:24 +01:00
Hans Leidekker 05a95f2e92 msi: Remove an incorrect error trace. 2010-12-23 17:45:11 +01:00
Michael Stefaniuc b36f401011 msi: Use an iface instead of a vtbl pointer in msi_remote_package_impl. 2010-12-15 13:18:40 +01:00
Hans Leidekker 23169289e6 msi: Map neutral parts of package language ids to the system default language id. 2010-12-06 19:05:53 +01:00
Hans Leidekker 06505c9a34 msi: Reuse temporary executables.
Fixes a custom action in the Office 2010 installer and makes installers
that pack multiple custom actions in an executable faster.
2010-12-02 12:47:41 +01:00
Peter Urbanec edab173047 msi: Add AMD64 platform definition to support installation of Visual C++ 8.0 redistributable. 2010-11-26 12:15:21 +01:00
Hans Leidekker a74e025335 msi: Fix handling of an empty language id list in msi_parse_summary. 2010-11-17 14:01:12 +01:00
Hans Leidekker a23514eece msi: Add support for installing side-by-side assemblies. 2010-11-11 12:23:06 +01:00
Hans Leidekker f3e7ed44f1 msi: Open the log file once per package. 2010-10-26 15:24:40 +02:00
Hans Leidekker 29ee65402b msi: Open the log file in shared write mode. 2010-10-26 15:24:33 +02:00
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker 43a680a155 msi: Register class ids from 32-bit packages under Wow6432Node on 64-bit. 2010-10-13 15:52:19 +02:00
Hans Leidekker ca7cd1bf89 msi: Validate packages based on supported version, platform and languages. 2010-10-06 20:46:27 +02:00
Hans Leidekker 52aab76eb2 msi: Put the uninstall key for 32-bit packages under Wow6432Node on 64-bit. 2010-10-05 17:50:16 +02:00
Hans Leidekker dfc9351ba4 msi: Set more 64-bit properties. 2010-10-01 17:48:10 +02:00
Hans Leidekker fbf45bae04 msi: Use more descriptive variable names for installer properties. 2010-09-27 14:10:45 +02:00
Hans Leidekker cce01d98e7 msi: Set some missing system folder properties. 2010-09-24 18:21:07 +02:00
Hans Leidekker a0ebe951b6 msi: Read supported platform and language ids from the summary information stream. 2010-09-18 13:06:28 +02:00
Hans Leidekker 931bf05731 msi: Adjust the AdminUser property too after applying a patch. 2010-09-18 13:06:17 +02:00
Hans Leidekker f6e26351d5 msi: Open relocated package database in transacted mode. 2010-09-08 19:50:37 +02:00
Hans Leidekker d2f1074725 msi: Set the System64Folder property on 64-bit. 2010-09-02 18:05:22 +02:00
Hans Leidekker 3730300a29 msi: Set the MsiAMD64 and Msix64 properties on 64-bit. 2010-09-02 18:05:22 +02:00
André Hentschel 428e8a5a01 msi: Prevent cryptic error. 2010-07-30 11:36:01 +02:00
Hans Leidekker 06afeec2a5 msi: Make sure properties are updated after applying a patch. 2010-07-22 16:09:09 +02:00
Hans Leidekker 9b329d5bab msi: Keep track of the patch filename in apply_registered_patch. 2010-07-20 16:29:45 +02:00
Hans Leidekker 7a370c8d7b msi: Consistently use the allocation macros. 2010-05-20 16:25:44 +02:00
Hans Leidekker dd305c3700 msi: Set the SourceDir property to the registered source if the product is installed. 2010-05-11 16:28:18 +02:00
Hans Leidekker 82d7b04c2c msi: Apply registered patches in MsiOpenPackage. 2010-05-05 15:27:12 +02:00
Hans Leidekker 23eabb44c8 msi: Make a local copy of patch packages. 2010-05-04 13:15:00 +02:00
Hans Leidekker 162780d112 msi: Support multiple patches per package. 2010-04-29 10:19:40 -05:00
Hans Leidekker 319465831c msi: Store a copy of the file extension in the MSIMIME structure.
Fixes a crash that occurs when the extension foreign key points to nowhere.
Reported by Vincent Pelletier.
2010-04-29 10:19:39 -05:00
Hans Leidekker e31ee69f37 msi: Rename MSI_GetPropertyW and MSI_SetPropertyW.
For consistency with related functions msi_dup_property and msi_get_property_int
and because there is no ANSI version of these functions.
2010-04-21 11:57:33 +02:00
Hans Leidekker 44b7983913 msi: Make MSI_SetPropertyW take a pointer to a database instead of a package. 2010-04-21 11:57:33 +02:00
Hans Leidekker 186f4efa3f msi: Make msi_get_property_int and friends take a pointer to a database instead of a package.
They only operate on a database and this way we can use them before a package is created.
2010-04-21 11:57:33 +02:00
Octavian Voicu 9c892430ba msi: Fix crash when calling MsiGetActiveDatabase with invalid remote handle. 2010-04-19 15:12:41 +02:00
Hans Leidekker ec5ae81c8d msi: Make msi_reset_folders static. 2010-02-22 13:14:35 +01:00
Hans Leidekker a11882fc0f msi: Implement MsiSetMode. 2010-02-18 14:39:06 +01:00
Hans Leidekker 9a0020ade9 msi: Move some helpers to the module where they are used. 2010-02-03 11:31:48 +01:00
Hans Leidekker 178ebae4c0 msi: Reset the ALLUSERS property from to 2 to 1. 2009-12-17 14:21:39 +01:00
Hans Leidekker ff2aa7e3a6 msi: Fix download of installer packages. Return errors from msi_download_file and copy_package_to_temp. 2009-12-17 14:21:32 +01:00
Hans Leidekker fd549aa25d msi: Set the LogonUser property. 2009-11-17 16:05:15 +01:00
Rob Shearman b960b967c9 msi: Improve stub for MsiGetFeatureCost{A, W} and hook the stub into the VolumeCostList dialog control. 2009-11-09 19:43:23 +01:00
Hans Leidekker 808343fb5b msi: Implement MsiSetExternalUIRecord. 2009-11-03 22:23:08 +01:00
Hans Leidekker 4b5248c9e0 msi: Add support for the Unicode version of the global UI handler. 2009-11-03 22:22:54 +01:00
Hans Leidekker afcd2c5358 msi: Open the database read/write in MSI_OpenPackageW.
Fixes transforms that add binary streams.
2009-10-20 14:40:01 +02:00
Hans Leidekker 8dd3d389b0 msi: Create the local copy before opening the database. 2009-10-20 14:39:55 +02:00
Hans Leidekker 33d9f37f4a msi: Always create a temporary copy of the package. 2009-10-20 14:39:47 +02:00
Hans Leidekker 534f20bc49 msi: Get rid of some redundant initializations. 2009-10-19 15:02:42 +02:00
Hans Leidekker b7a81df452 msi: Allocate MSISCRIPT structure at package creation time. 2009-10-19 15:02:36 +02:00
Hans Leidekker 843382f284 msi: Define common strings only once. 2009-10-15 14:16:50 +02:00
Hans Leidekker 5669e67d48 msi: Set ProductState property. 2009-09-11 16:19:54 +02:00
Michael Stefaniuc 6fa69c3f2b msi: Remove redundant NULL check before msi_free (Smatch). 2009-03-26 11:51:08 +01:00
Aric Stewart 28bc76b5d3 msi: Verify the existence of fusion.dll before reporting the .Net version.
Fixes an issue with .Net 3.0 where it does not install a new
fusion.dll but does add a key to the registery. The fact that a new
dll is not installed has been verified on windows.
2009-03-25 12:39:27 +01:00
Hans Leidekker 86af876987 msi: Only apply a transform when its language id matches the system language id.
Fix for office 2007 sp1 installer.
2009-03-24 13:32:11 +01:00
James Hawkins fb8db0ac13 msi: Don't try to release a NULL record, with tests (Coverity 536). 2009-03-23 15:52:17 +01:00
James Hawkins 293bdffa29 msi: Use a SQL marker to query the _Property table when fetching a property. 2009-03-02 12:06:10 +01:00
James Hawkins ea28915133 msi: Don't create a temporary table that is not held. 2009-02-26 12:14:01 +01:00
Michael Stefaniuc 5f3ac30b3c msi: Remove superfluous pointer casts. 2009-01-15 12:43:03 +01:00
Michael Stefaniuc 6bd893a960 msi: Change MSIHANDLE to ULONG for Win64 compatibility.
Also fix the compiler warnings produced by this change.
2009-01-05 12:34:12 +01:00
James Hawkins 01eb930005 msi: Publish the patch information. 2008-12-15 12:34:52 +01:00
James Hawkins ca71e5aff0 msi: Allow private properties from the AdminProperties property list. 2008-10-30 11:47:10 +01:00
James Hawkins d15fddf6f5 msi: Resolve file source paths dynamically, as the source directory can be changed. 2008-10-07 12:13:33 +02:00
James Hawkins 7538f9ac19 msi: Use the newly added defines from the msidbSumInfoSourceType enumeration. 2008-07-22 13:10:38 +02:00
James Hawkins 5f11262da9 msi: Determine the installation context after reading properties from the command line. 2008-06-18 16:23:22 +02:00
Rob Shearman 4a75b8bf09 msi: Fix the value parameter of IWineMsiRemotePackage::FormatRecord to have the right level of indirection for an [out] parameter.
Remove the redundant size parameter and simplify the client code such 
that the remote function is only called once, with the value being 
automatically allocated. Add corresponding code on the server side to 
automatically allocate said value.
2008-04-17 11:39:37 +02:00
James Hawkins 82517d6d67 msi: Set the install context based on the ALLUSERS property. 2008-04-07 11:27:10 +02:00
James Hawkins 4439e0b57d msi: Make local functions static. 2008-03-01 12:18:40 +01:00
James Hawkins eedfacdfe7 janitorial: Remove links to any microsoft site. 2008-03-01 12:04:03 +01:00
Francois Gouget 4a7bedfe75 msi: Use 'HKCU\Software\Microsoft\MS Setup (ACME)' as a source for the default user and company names before falling back to the RegisteredXXX values. Fix the conformance test accordingly. 2008-02-19 13:39:24 +01:00
James Hawkins 8412a1363b msi: Set the UserLanguageID property. 2008-02-18 12:41:37 +01:00
James Hawkins 781e19aa4c msi: OriginalDatabase is the fully-expanded path to the original package if the package is local and installed from the command line. 2008-01-07 12:15:16 +01:00
James Hawkins 4121c9bbc6 msi: If the package is a URL, the OriginalDatabase property should be the URL and the DATABASE property should be the path to the local temporary package. 2008-01-07 12:15:01 +01:00
James Hawkins 1d42de71ea msi: Allow NULL parameters to be passed to the local MsiSetProperty. 2007-12-20 10:47:32 +01:00
Francois Gouget a39ea2e8ba msi: Add a trailing '\n' to Wine traces. 2007-12-18 12:32:55 +01:00
James Hawkins ce6e84c071 msi: Verify that the PID_PAGECOUNT and PID_REVNUMBER summary info properties exist. 2007-12-17 11:35:33 +01:00
James Hawkins 620862e385 msi: If the package doesn't exist, return ERROR_FILE_NOT_FOUND. 2007-12-17 11:35:23 +01:00
James Hawkins f933dd8b4f msi: Validate the parameters of MsiOpenPackage. 2007-12-17 11:35:17 +01:00
James Hawkins 8fab39cc60 msi: Add more tests for MsiOpenPackage. 2007-12-17 11:35:11 +01:00
James Hawkins 80894d1c52 msi: Properly release the record. 2007-12-12 13:48:46 +01:00
James Hawkins 0e29f314f5 msi: Return a remote interface to the database in a custom action. 2007-11-12 12:06:40 +01:00
James Hawkins 0e2db26fa3 msi: Only double the returned size when szValueBuf is NULL. 2007-10-16 12:48:07 +02:00
Francois Gouget 5771700019 msi: Better match the PSDK types, remove some now unused types from win32.api, and update it to fix the winapi_check warnings. 2007-08-09 14:12:44 +02:00
James Hawkins 24e158e972 msi: Only double the size if the remote call is from MsiGetPropertyA. 2007-07-18 12:58:23 +02:00
James Hawkins dc3060c542 msi: Load the AdminProperties stream if the package is an Admin package. 2007-07-17 12:54:53 +02:00
James Hawkins 30fc5602de msi: Reload properties as they may have been changed by a transform. 2007-07-13 12:27:33 +02:00
James Hawkins cf3f442754 msi: Fix a copy and paste error. 2007-07-13 12:27:28 +02:00
James Hawkins 6b97f8905d msi: Handle remote calls to MsiEvaluateCondition. 2007-07-06 18:12:11 +02:00
James Hawkins cba1b1e1f4 msi: Handle remote calls to MsiFormatRecordW. 2007-07-06 18:12:00 +02:00
James Hawkins 29ce520df9 msi: Fix use of BSTRs. 2007-07-06 18:11:51 +02:00
James Hawkins c6741d83c6 msi: Handle remote calls to MsiSetInstallLevel. 2007-07-04 12:07:01 +02:00
James Hawkins 569ea392a7 msi: Handle remote calls to MsiGetLanguage. 2007-07-04 12:07:01 +02:00
James Hawkins 82b0066f70 msi: Handle remote calls to MsiSetComponentState. 2007-07-04 12:07:00 +02:00
James Hawkins 254e27ad31 msi: Handle remote calls to MsiGetComponentState. 2007-07-04 12:07:00 +02:00
James Hawkins 7d93e1a2a5 msi: Handle remote calls to MsiGetFeatureState. 2007-07-04 12:07:00 +02:00
James Hawkins f45b3ce60e msi: Handle remote calls to MsiSetFeatureState. 2007-07-04 12:07:00 +02:00
James Hawkins c96f1d524b msi: Handle remote calls to MsiGetMode. 2007-07-04 12:07:00 +02:00
James Hawkins f935e94adf msi: Handle remote calls to MsiSetTargetPath. 2007-07-04 12:06:59 +02:00
James Hawkins 582be6a73a msi: Handle remote calls to MsiGetSourcePath. 2007-07-04 12:06:59 +02:00
James Hawkins b7479be1bb msi: Handle remote calls to MsiGetTargetPath. 2007-07-04 12:06:59 +02:00
James Hawkins 99714f12cb msi: Handle remote calls to MsiSequence. 2007-07-04 12:06:59 +02:00
James Hawkins 0f321c0af9 msi: Handle remote calls to MsiDoAction. 2007-07-04 12:06:59 +02:00
James Hawkins be5eec45b5 msi: Handle remote calls to MsiProcessMessage. 2007-07-04 12:06:59 +02:00
James Hawkins 5e46fc9019 msi: Delay publishing of the SourceList until the PublishProduct action. 2007-07-03 13:43:20 +02:00
James Hawkins 4d668e06a2 msi: Handle remote calls to MsiSetProperty. 2007-07-03 12:59:58 +02:00
James Hawkins 4de8247c5a msi: Handle remote calls to MsiGetProperty. 2007-07-03 12:59:48 +02:00
James Hawkins e4658e05f2 msi: Handle remote calls to MsiGetActiveDatabase. 2007-07-03 12:59:32 +02:00
James Hawkins f9001058b0 msi: Add the IWineMsiRemotePackage interface. 2007-07-03 12:58:43 +02:00
Rob Shearman 8a94f7aad3 msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK. 2007-06-26 11:56:33 +02:00