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
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
Alexandre Julliard
ee4f4a05c5
Avoid unnecessary run-time initializations.
2005-01-24 12:55:31 +00:00
Aric Stewart
0252761c0b
The new Insert fixes now properly require ?,? instead of just ? for
...
the Insert call. This fix modifies the MSI_SetProperty query to be
correct.
2005-01-24 11:25:02 +00:00
Michael Stefaniuc
b937407ee5
Do not check for non NULL pointer before HeapFree'ing it. It's
...
redundant.
2005-01-20 10:36:35 +00:00
Vitaly Lipatov
2dd31728d3
Get real screen properties.
2005-01-05 17:11:33 +00:00
Aric Stewart
51cf7d13c0
Free allocated buffers.
2005-01-03 14:29:09 +00:00
Aric Stewart
fb9d11941f
Include a System16Folder definition.
2004-12-27 17:43:37 +00:00
Aric Stewart
62cd1e03c3
Blank the property buffers even if the property is not found.
2004-12-22 18:47:54 +00:00
Aric Stewart
74ad0d3ab7
Include the trailing backslash on the Windows volume.
2004-12-22 18:17:15 +00:00
Aric Stewart
259557038c
Fix folder resolution.
2004-12-22 17:13:26 +00:00
Mike McCormack
9db0e072b1
Remove a lot of fixed length buffers.
2004-12-22 15:05:07 +00:00
Vitaly Lipatov
671267a177
Add ScreenX, ScreenY, ColorBits installer properties.
2004-12-16 14:31:59 +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
Kevin Koltzau
3f8d8bec55
Partial implementation of MsiGetFileVersionA/W.
2004-09-06 21:25:48 +00:00
Vincent Béron
6fae1ce6fd
Don't hardcode c:\windows paths in msi.dll.
2004-08-18 23:41:10 +00:00
Hans Leidekker
4104c622af
Set VersionMsi property.
...
Accept a dot in a number value.
2004-07-19 21:49:15 +00:00
Aric Stewart
9c76b14469
Implement the functionality that allows one to call MsiOpenPackage
...
with #nnn where nnn is a string representing the handle to an open
database.
2004-07-14 21:43:49 +00:00
Mike McCormack
c90c781a32
Implement MsiVerifyPackage, cosmetic fixes.
2004-07-09 22:58:27 +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
Aric Stewart
7231a439b4
Implement logging.
2004-07-09 19:26:30 +00:00
Aric Stewart
2cf222f9b7
Implemented CreateShortcut and PublishProduct.
2004-07-06 19:00:23 +00:00
Aric Stewart
d784600d81
MsiGetProperty should return empty strings on error.
2004-07-06 18:54:38 +00:00
Aric Stewart
b942e18636
Implemented ProcessComponents.
2004-07-06 18:50:02 +00:00
Aric Stewart
d2c395ad50
Send progress and action messages.
2004-07-06 18:48:15 +00:00
Aric Stewart
7d3e5973fe
Activate features and components based on their various conditions.
2004-07-04 00:36:58 +00:00
Aric Stewart
ec688fb4e0
Beginnings of costing and organizing into components and features.
2004-07-04 00:35:52 +00:00