Mike McCormack
8a8c561cfa
- the combination of all table keys must be unique, not each key
...
- MsiViewExecute may not be called before MsiModifyView
2005-08-29 10:16:12 +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
e18952a921
Add the allocated mime type to the mime type list.
2005-08-27 10:01:03 +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
8aa1a919bf
Make sure to save the result calculated in ACTION_UpdateInstallStates.
2005-08-25 19:19:10 +00:00
Aric Stewart
50a9b78253
The file name used in the ui messages is the target name not the
...
source name.
2005-08-25 15:20:34 +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
876982df8f
Fix a small bug introduced when converting appids to a list.
2005-08-25 09:50:19 +00:00
Aric Stewart
43ec0a4d06
Display the correct text string in the action text field for the
...
dialog boxes. Also the string should be deformatted.
2005-08-25 09:50:08 +00:00
Johan Dahlin
b5c02815d0
Implemented MsiSetComponentState*.
2005-08-24 18:13:09 +00:00
Mike McCormack
34247aff40
Test case for MsiModifyView and MsiViewGetError.
2005-08-24 11:10:39 +00:00
Mike McCormack
e8d1a167df
Implement MsiModifyView (MSIMODIFY_INSERT_TEMPORARY).
2005-08-24 11:10:23 +00:00
Mike McCormack
fba5a59c66
Better stub for MsiViewGetError.
2005-08-24 10:57:49 +00:00
Johan Dahlin
0946c42d5a
Added a null check for component.
2005-08-24 10:57:27 +00:00
Mike McCormack
10a1394929
Add include guard to header and make functions extern.
2005-08-24 10:57:02 +00:00
Johan Dahlin
fe11241cf3
Added stubs for MsiSetComponentStateA and MsiSetComponentStateW.
2005-08-24 10:56:27 +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
Aric Stewart
d90615bb28
Make index INT not UINT because it can be -1.
2005-08-23 09:30:39 +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
Mike McCormack
3f2d5d7fbb
Store the component information in a standard Wine list.
2005-08-19 10:03:11 +00:00
Aric Stewart
35706b6b4c
Fixed a memory overflow and leak identified by Mike McCormack.
2005-08-16 15:57:21 +00:00
Aric Stewart
94d6818c51
Add some body to ResolveSource because it is possible to need it when
...
an install is begun but the media is not in the drive, such as in
install-on-demand cases.
2005-08-15 20:50:06 +00:00
Francois Gouget
0de0d11357
Change some Dll* functions so they are exported by name like on
...
Windows.
Update the documentation accordingly.
2005-08-10 13:02:43 +00:00
Vincent Béron
21e3ba8cd1
Correct mismatches between spec files and comments about export
...
number.
2005-08-10 09:53:47 +00:00
Alexandre Julliard
d37f0abf07
Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
...
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Yuri Kozlov
934c6fa93f
Remove duplicate declaration of MSI_SetPropertyW.
2005-08-08 11:07:10 +00:00
Mike McCormack
bcd8fa3c78
Handle loading strings over 64k from the string table.
2005-08-08 11:01:56 +00:00
Steven Edwards
cbec713615
Add real stub for MsiConfigureFeatureW.
2005-08-03 10:56:43 +00:00
Aric Stewart
88837b5d8d
Bail out if the reg key is empty. This prevents us from writing
...
garbage to the property table.
2005-07-22 18:27:41 +00:00
Aric Stewart
2849d3a0a1
Use SOURCEDIR instead of PackagePath. Because the PackagePath may be
...
local, while SOURCEDIR is more proper and will be a full directory.
2005-07-21 10:32:16 +00:00
Alexandre Julliard
7258914ef6
Use the official names for the Unicode string constants.
2005-07-13 12:07:41 +00:00
Aric Stewart
2e963b89e2
Further testing shows that when CustomActionData needs to be blank it
...
is an empty string not ' '.
2005-07-12 19:18:48 +00:00
Aric Stewart
27867e2502
Use the SourceList functions to get the source path in
...
ConfigureProductExW.
2005-07-12 17:56:17 +00:00
Aric Stewart
2d8cb29516
When working toward install on demand support we need to reset all the
...
constant values so that multiple install process do not get confused
by leftover values from the previous install.
2005-07-12 17:56:03 +00:00
Mike McCormack
8f83234a7a
Display icons in buttons that have them.
2005-07-12 17:01:10 +00:00
Aric Stewart
9170cc8225
Properly resize the buffer based on ERROR_MORE_DATA.
...
Also remember to free the allocated buffer.
2005-07-11 20:36:58 +00:00
Aric Stewart
c6d24d235a
Use the strings defined in msi.h.
2005-07-11 18:01:39 +00:00
Aric Stewart
de7a621b06
Correct an error where I was not properly advancing a pointer.
2005-07-11 18:00:36 +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
c6f155a5fd
Add the string constants located in msi.h and make use of them in
...
files.c and source.c.
2005-07-11 13:22:24 +00:00
Aric Stewart
c58df6c677
Implement MsiGetLanguage.
2005-07-10 17:39:14 +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
Robert Shearman
199efb74fe
In MsiLocateComponent pcchBuf can be NULL so don't try to dereference
...
it.
2005-07-08 11:29:55 +00:00
Aric Stewart
adaef1112e
Fill and use the ProductCode part of the MSIPACKAGE structure.
2005-07-07 20:27:06 +00:00
Mike McCormack
e41ba5ca80
Use LoadImage to load bitmaps and icons.
2005-07-07 17:20:57 +00:00
Mike McCormack
4f634a3b7a
Stop the install when cancelling from a modeless dialog.
2005-07-06 15:44:51 +00:00
Mike McCormack
30ddf73954
Don't crash when cancelling out of a modeless dialog.
2005-07-06 11:11:26 +00:00
Mike McCormack
16466af791
gcc 4.0 -Wpointer-sign fixes.
2005-07-06 10:33:30 +00:00
Aric Stewart
b7dc53d462
Add source.c to start handling the various MsiSourceList apis used in
...
v3 of MSI, and now internally.
Update files.c to use the MsiSourceList apis to make sure our
SourceList keys in the registry are included and correct.
2005-07-05 21:00:06 +00:00
Mike McCormack
a195890bb9
Set the initial focus on the control specified by Control_First in the
...
Dialog table.
2005-07-05 16:18:46 +00:00
Aric Stewart
c9802931c1
Keep track of what sequence we are in and register unique
...
actions. This allows us to make sure actions and custom actions
flagged to run only once, actually run only once.
Also clean up some of the numeric constants in custom.c using the
defined values from msidefs.h.
2005-06-30 20:45:43 +00:00
Mike McCormack
832450920d
Move to the next mask edit field when the current one becomes full.
2005-06-30 10:59:40 +00:00
Mike McCormack
f7cf32eb4d
Make the tab order in msi dialogs right.
2005-06-30 10:20:40 +00:00
Aric Stewart
8de16029f8
Handle installs off multiple volumes and properly pull the prompt
...
string from the error table.
2005-06-29 19:19:09 +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
6b68532ccf
Repaint the area behind the "transparent" text control when it
...
changes.
2005-06-27 18:46:22 +00:00
Aric Stewart
25f1e75d43
Perform ExecuteAction at UILevel 2.
2005-06-24 12:14:52 +00:00
Aric Stewart
b9c6b85779
Redo how we extract files from a cabinet in order to dramatically
...
improve performance, especially if picking and choosing files out of
the cabinet.
2005-06-24 12:14:35 +00:00
Aric Stewart
9adacf6a72
Rework CreateShortcuts to use MSI_IterateRecords.
2005-06-24 11:58:21 +00:00
Aric Stewart
0713f098ec
Properly handle -1 as a registry key root.
2005-06-24 11:51:29 +00:00
Mike McCormack
2250fce60f
Implement transparency in the text control.
2005-06-24 11:34:43 +00:00
Aric Stewart
854bfc4b0f
Rework SelfRegModules to use MSI_IterateRecords.
2005-06-24 11:33:02 +00:00
Mike McCormack
7e3918d53e
Make the MSI icon control work.
2005-06-23 16:43:38 +00:00
Aric Stewart
04598248af
Rework component, feature and file loading to use MSI_IterateRecords.
2005-06-23 16:43:24 +00:00
Aric Stewart
a9b5052ff9
Rework RegisterFonts to use MSI_IterateRecords.
2005-06-23 11:04:09 +00:00
Aric Stewart
aded32f37b
Rework WriteIniValues to use MSI_IterateRecords.
2005-06-23 09:46:31 +00:00
Aric Stewart
916ef94945
Rework PublishProduct to use MSI_IterateRecords.
2005-06-22 18:42:19 +00:00
Aric Stewart
234dc4b2d2
Rework RegisterTypeLibraries to use MSI_IterateRecords.
2005-06-22 18:27:34 +00:00
Aric Stewart
c79f4e2111
Rework LaunchConditions to use MSI_IterateRecords.
2005-06-22 18:03:08 +00:00
Aric Stewart
443ad4d328
Rework CostFinalize to use MSI_IterateRecords.
2005-06-21 20:50:12 +00:00
Aric Stewart
e89f849612
Fix situations where TARGETDIR is set to a non \ terminated
...
path. Fixes a few installers.
2005-06-21 20:21:30 +00:00
Aric Stewart
92ef78ee04
Rework WriteRegistryValues to use MSI_IterateRecords.
2005-06-21 20:21:18 +00:00
Aric Stewart
2274ff1937
Rework CreateFolders to use MSI_IterateRecords.
2005-06-21 20:03:46 +00:00
Aric Stewart
1e6c09a3f3
Duplicate files should not fail if unable to get Destination
...
Directory.
2005-06-21 20:03:30 +00:00
Aric Stewart
09b7503f0b
Use MSI_IterateRecords for DuplicateFiles.
2005-06-20 15:33:22 +00:00
Aric Stewart
2703d717c6
Use MSI_IterateRecords for processing actions.
...
Some whitespace cleanup and replace a comment block I did not want to
remove.
2005-06-20 15:33:10 +00:00
Stefan Huehner
ac6f562b52
Fix more -Wstrict-prototypes warnings.
2005-06-20 14:18:03 +00:00
Mike McCormack
9251b2c6b5
Make tabs work in msi dialogs.
2005-06-20 14:11:43 +00:00
Aric Stewart
71a55e04a3
Allow control events to return codes to halt the processing of event.
...
Needed for the SetTargetPath Event.
2005-06-17 21:31:06 +00:00
Aric Stewart
3257bcd48c
A long overdue fix to MSI_SetTargetPath. This should fix an error with
...
some installers that where unable to change the target path.
2005-06-17 21:25:51 +00:00
Aric Stewart
e9db87b956
Flesh out the remaining keys in RegisterProduct.
2005-06-17 21:25:41 +00:00
Aric Stewart
c668952023
Break out all the file related actions and helper functions into
...
files.c
2005-06-17 20:56:55 +00:00
Marcus Meissner
7ac39aa44b
Use a simpler expression for the "RichEdit20W" string to workaround
...
compiler bug.
2005-06-17 20:54:42 +00:00
Marcus Meissner
0d307eb040
Remove cszbs from msi/action.h.
2005-06-17 09:52:13 +00:00
Aric Stewart
4b600b8736
Break out all the top level apis into install.c.
2005-06-16 20:40:34 +00:00
Mike McCormack
a677ac554f
Added support for the MSI MaskEdit control.
2005-06-16 20:37:53 +00:00
Aric Stewart
816217e99e
A simple cleanup to only track the temp file if we need to have it
...
laying around because the action is going on asynchronously. Otherwise
clean up the temp file as the action finishes.
2005-06-16 20:33:58 +00:00
Aric Stewart
fd8c175a3c
Add UI messages to FindRelatedProducts.
...
Reduce unneeded includes.
2005-06-16 16:08:58 +00:00
Aric Stewart
db982e2586
Break out all the class registration actions into classes.c. This
...
includes RegisterClassInfo, RegisterProgIds, RegisterExtensions and
RegisterMIMETypes.
2005-06-16 15:51:44 +00:00
Aric Stewart
118ea90888
Break out all the helper functions into helpers.c.
2005-06-15 19:12:42 +00:00
Aric Stewart
31695b54c9
A "1" is returned not a 1 for AssignmentType. Also as a bit more to
...
the FIXME message.
2005-06-13 19:04:39 +00:00
Mike McCormack
908308631f
Create a stub implementation for MsiViewGetError.
2005-06-10 19:52:13 +00:00
Aric Stewart
09b0abaa1c
Extending upon Mike McCormack's cleanup to use MSI_RecordGetString.
2005-06-09 20:30:59 +00:00
Aric Stewart
c28bb54f7a
Register the Product Version also.
...
Also help plug some memory leaks pointed out by Mike McCormack.
2005-06-09 15:49:11 +00:00
Aric Stewart
d1a7f070d4
Avoid a loop where a parent's parent refers to itself as its parent.
2005-06-09 15:35:48 +00:00
Aric Stewart
00337b9a51
Added module upgrade.c and implemented FindRelatedProducts.
2005-06-09 12:05:27 +00:00
Aric Stewart
6999a04278
Set the Preselected property if appropriate (relevant to
...
MigrateFeatureStates when implemented).
2005-06-08 19:20:02 +00:00
Aric Stewart
6957e4a0c2
Write out Product Language and Product Icon to the registry.
2005-06-08 19:16:45 +00:00
Aric Stewart
36a01505dc
Write out UpgradeCodes to the registry to allow for future upgrades.
2005-06-08 19:07:52 +00:00
Aric Stewart
36bc29769b
Add Language to the values we can query with MsiGetProductInfo.
2005-06-08 18:35:43 +00:00
Mike McCormack
ad6a6be88d
Use MSI_RecordGetString in more actions.
2005-06-08 18:34:04 +00:00
Mike McCormack
20806c730b
Use MSI_RecordGetString where possible.
2005-06-07 21:34:05 +00:00
Mike McCormack
f5ae644fc2
Use a richedit control for license text.
2005-06-07 20:30:02 +00:00
Mike McCormack
f9acfe635a
Fixes for -Wmissing-declarations and -Wwrite-strings warnings.
2005-06-07 20:29:51 +00:00
Mike McCormack
454dff6fb4
Fix radio button groups. Don't add the WS_GROUP style to every
...
window.
2005-06-07 20:04:21 +00:00
Aric Stewart
19ba432b2b
Add functions to add the User UpgradeCodes.
2005-06-07 20:02:27 +00:00
Aric Stewart
90bc168c87
Correct a crash if the length buffer is NULL.
2005-06-07 20:02:07 +00:00
Mike McCormack
b402f04851
Use standard lists in the event subscription code.
2005-06-06 15:40:15 +00:00
Aric Stewart
f9e64e8187
Don't get caught in loops on parent progids.
2005-06-06 15:39:59 +00:00
Alexandre Julliard
4ca26536a9
Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
...
Allow dialog controls to subscribe to installer events.
2005-06-04 09:48:47 +00:00
Aric Stewart
cb72f7fb0a
Make sure the TRACE statements do not spew garbage by using
...
debugstr_wn.
2005-06-04 09:36:44 +00:00
Mike McCormack
a6c8e4e498
Take the dialog frame into account when calculating the dialog size.
2005-06-04 09:35:37 +00:00
Aric Stewart
873c0726e9
Since multiple progids can refer to 1 class we need to check if that
...
class is isntalled instead of just relying on having it set the
InstallMe variable.
2005-06-04 09:35:22 +00:00
Aric Stewart
4d1ce166ce
Locate where a buffer size is not being set and correctly handle the
...
buffer size conversion from W to A (with help from Robert Shearman).
2005-06-03 11:24:57 +00:00
Aric Stewart
ee72fb2817
Add install_on_demand for Extension servers also. currently defaulting
...
to TRUE.
Extension need to have 1 verb to mark the given progid to be
installed.
2005-06-03 11:24:04 +00:00
Aric Stewart
a96e1cef9f
Do not loop if a ProgId's Parent Index it itself.
...
Add a VersionIndIndex for tracking version independent fields for the
ProgIds properly.
2005-06-02 20:06:11 +00:00
Mike McCormack
07b19112e5
Use MSI_QueryGetRecord in one more place.
2005-06-02 19:40:45 +00:00
Aric Stewart
f1104125b1
Print a message for skipped actions in ProcessExecSequence like in the
...
UISequence.
2005-06-02 19:39:49 +00:00
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