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
Mike McCormack
8dc28d5306
Added memory allocation inline functions (part 1).
2005-09-20 11:57:19 +00:00
Mike McCormack
0232c5c45f
Convert RunningActions array into a list.
2005-09-08 12:42:07 +00:00
Mike McCormack
c50ef541e8
Keep temporary files in a seperate list.
2005-09-07 11:25:18 +00:00
Mike McCormack
1ceb25ba7b
Convert progids to a standard list.
2005-09-06 09:26:18 +00:00
Mike McCormack
0c49c1c41d
- build a standard Wine list of extensions instead of using an array
...
- use extension pointers instead of array indexes
2005-08-29 09:38:39 +00:00
Mike McCormack
9e558d7449
- build a standard Wine list of mime types instead of using an array
...
- use mime type pointers instead of array indexes
2005-08-26 08:47:31 +00:00
Mike McCormack
a391a98a9d
- build a standard Wine list of classes instead of using an array
...
- use class pointers instead of array indexes
2005-08-25 10:22:32 +00:00
Mike McCormack
1256a0c323
Don't dereference variables in a trace.
2005-08-25 09:51:03 +00:00
Mike McCormack
febad089ce
- build a standard Wine list of appids instead of using an array
...
- use appid pointers instead of array indexes
2005-08-24 09:45:18 +00:00
Mike McCormack
979511fe6d
- build a standard Wine list of folders instead of using an array
...
- use folder pointers instead of array indexes
2005-08-23 18:15:44 +00:00
Mike McCormack
e18f8abee1
- build a standard Wine list of files instead of using an array
...
- use file pointers instead of array indexes
2005-08-23 10:03:17 +00:00
Mike McCormack
1da2858caa
- build a standard Wine list of features instead of using an array
...
- use feature pointers instead of array indexes
2005-08-22 14:09:17 +00:00
Mike McCormack
38d67a4537
- build a standard Wine list of components instead of using an array
...
- use component pointers instead of array indexes
2005-08-22 09:15:23 +00:00
Aric Stewart
639048b99a
If MsiGetProperty(A/W) is called with a NULL for the value buffer but
...
a value in the size for the value buffer, then Msi fills in the size
of the value into the pointer for size. This is tested and confirmed
with native MSI.
2005-07-11 14:22:13 +00:00
Aric Stewart
b95beae8f9
InstallShield does a number of actions using DoAction before the
...
Install starts so the PackageCode needs to be loaded on OpenPackage
instead of the beginning of the install process.
2005-07-08 14:19:00 +00:00
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
b402f04851
Use standard lists in the event subscription code.
2005-06-06 15:40:15 +00:00
Mike McCormack
64de949cdd
More -Wmissing-declarations and -Wwrite-strings warning fixes.
2005-05-31 09:30:28 +00:00
Aric Stewart
16b667ab01
Quoting fixes.
2005-05-20 09:40:14 +00:00
Mike McCormack
d31f12964b
Only tables can be backquoted, strings must be single quoted.
2005-05-19 11:15:37 +00:00
Marcus Meissner
1fa2da0756
Set PhysicalMemory property from system data.
2005-05-04 10:37:05 +00:00
Mike McCormack
77a19ed8e6
Replace instances of HeapAlloc/MultiByteToWideChar with the internally
...
defined strdupAtoW.
2005-03-24 19:04:06 +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
Mike McCormack
10e5c9e834
Remove const declaration from non-const function.
2005-02-16 16:07:11 +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
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
Aric Stewart
409d3f62cd
MsiGetProperty does not return any error on missing properties.
2005-01-27 10:42:45 +00:00