Commit Graph

309 Commits

Author SHA1 Message Date
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
James Hawkins c8a8f77abe msi: Set the MsiNetAssemblySupport property. 2007-06-13 11:18:42 +02:00
Andrew Talbot a0ae69a8d1 msi: Constify some variables. 2007-06-06 14:07:22 +02:00
James Hawkins b8e0b3c1c8 msi: Set the MsiNTProductType property. 2007-05-30 11:49:09 +02:00
James Hawkins e962b0a7df msi: Remove debugging printf statements. 2007-05-07 15:14:13 +02:00
Rob Shearman 22cd120d5d msi: Create the _Property table as a temporary table so that the properties aren't saved to the .msi file. 2007-04-25 11:49:29 +02:00
James Hawkins b4bb6e5b5d msi: Add the _Property table back, with tests. 2007-04-23 14:03:51 +02:00
Rob Shearman 77f6bc4f8d msi: Set the PackageCode property based on the "revision number" data in the summary information.
Add a test to show that PackageCode is set by MSI.
2007-03-05 16:43:26 +01:00
Rob Shearman 95f38b75fb msi: Set the Date, Time and VersionDatabase properties.
Add tests for these properties.
Update the todo list of properties to set.
2007-03-05 16:43:26 +01:00
Mike McCormack d50c62884a msi: Find pending custom actions by GUID. 2007-02-14 14:42:02 +01:00
Mike McCormack 63e554994a msi: Store dll based custom actions in a separate list. 2007-02-12 14:12:41 +01:00
Mike McCormack 8a38d3038c msi: Allocate a buffer in WCHARs not CHARs. 2007-01-26 12:55:50 +01:00
James Hawkins 0b652fe8c6 msi: Initialize sid_str to NULL. 2006-12-05 16:49:48 +01:00
James Hawkins 8ae81d0620 msi: Set the UserSID property. 2006-12-01 13:12:11 +01:00
Mike McCormack 0670ebc67b msi: Use MSI_IterateRecords when cloning properties. 2006-11-27 13:46:06 +01:00
Mike McCormack eadf2f82be msi: Split MSI_CreatePackage into two functions. 2006-11-14 11:43:39 +01:00
Mike McCormack 032b1389b1 msi: Delete the tempfile created by GetTempFileName. 2006-11-14 11:43:34 +01:00
Mike McCormack 3c2e79e727 msi: Defer package deletion until after the database is closed. 2006-11-14 11:43:30 +01:00
James Hawkins ae18c2dc7f msi: Store the base URL of the MSI package if it is downloaded. 2006-11-08 13:00:15 +01:00
James Hawkins 08831b4a1e msi: Set the USERNAME and COMPANYNAME properties when initializing a package. 2006-10-19 13:34:42 +02:00
James Hawkins c507543554 msi: Set the SourceDir and SOURCEDIR properties in the ResolveSource action. 2006-10-11 12:09:54 +02:00
Mike McCormack 80affb3c2d msi: Merge action.h into msipriv.h. 2006-10-10 16:12:12 +02:00
James Hawkins 563a50ab35 msi: Make internal functions static. 2006-10-09 14:40:08 +02:00
Mike McCormack f1d4646a49 msi: Win64 printf format warning fixes. 2006-10-05 11:32:32 +02:00
James Hawkins da14a4a25e msi: Store the full path to the database file in the MSIDATABASE structure. 2006-09-26 21:50:36 +02:00
Mike McCormack b183956193 msi: Properties are case sensitive. 2006-08-29 13:46:39 +02:00
Dan Kegel 337e1e202f msi: Callers of alloc_msihandle should handle failure. 2006-08-29 12:21:54 +02:00
Mike McCormack c8548fb88d msi: Set the ALLUSERS property to 1 always. 2006-08-25 20:04:50 +02:00
Mike McCormack 8ebbc8c0d2 msi: Reimplement msi_dup_property and msi_get_property_int. 2006-08-25 11:21:43 +02:00
Mike McCormack a4fb1c94ac msi: Store properties in a hash table, not the database.
Use string insensitive comparisons for property names.
2006-08-25 11:21:14 +02:00
James Hawkins fb7646beaa msi: Inform the user with an error message when the MSI file path is invalid. 2006-08-25 11:18:34 +02:00
James Hawkins 1ff96c63a8 msi: Download install cabinet files if the msi package is remote. 2006-08-10 10:55:23 +02:00
James Hawkins f84fa0ce63 msi: Fix the compressed files logic.
If the compressed file attribute is not set, use the Word Count
property to determine if files are compressed.
2006-08-08 19:34:34 +02:00
James Hawkins f10365bb5d msi: Don't crash if an empty record is given to MsiProcessMessage. 2006-08-02 11:44:55 +02:00
James Hawkins d1617bea17 msi: Download the MSI package if it is a remote URL. 2006-07-27 12:22:43 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack 4a7bb647bf msi: Use the source name of the msi package when it fails to copy. 2006-05-05 16:33:25 +02:00
Mike McCormack a92fe55cce msi: Fix some possible NULL pointer dereferences (Coverity). 2006-04-17 12:38:36 +02:00
Mike McCormack e1fdf3e24c msi: Don't crash when logging a record with only one field. 2006-03-22 21:36:16 +01:00
Robert Shearman d679bc5ab3 msi: Move the firing of control events to MSI_ProcessMessage.
Move the firing of control events from internal helper functions to
MSI_ProcessMessage so that custom actions can all cause control events
to be fired.
Added the firing of progress events.
2006-01-23 17:30:31 +01:00
Jeremy White 9d90ef017c msi: gcc 2.95 compatibility fix. 2006-01-13 13:53:16 +01:00
Mike McCormack 04a086ad65 msi: Define the property "Intel" if we're running on an Intel processor. 2005-12-31 13:14:34 +01:00
Mike McCormack 828280f4fd Set the Installed property if the product is already installed. 2005-11-15 12:00:13 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Francois Gouget f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +00:00
Mike McCormack 3e6f31bf0b Fix and test MsiGetProperty and MsiSetProperty. 2005-10-31 14:07:37 +00:00
Mike McCormack ec5edeebf4 Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine. 2005-10-30 19:21:51 +00:00
Mike McCormack 9ba8ba30bb Use "static const" rather than "const static" as gcc -W complains
about the former.
2005-10-30 19:04:26 +00:00
Mike McCormack 744e22c7df Fix various query related memory leaks. 2005-09-26 10:55:18 +00:00
Mike McCormack 786920b7b6 Handle copying of the install package to a temporary file in one place
only.
2005-09-25 15:14:32 +00:00