Alexandre Julliard
0b99af82b2
msi: Don't include msvcrt headers.
2008-12-12 10:19:54 +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
765275a306
msi: Make sure read-only source files are set writable after being copied.
2008-09-08 12:47:22 +02:00
James Hawkins
472b991958
msi: Don't remove a misc file if the action is unknown.
2008-08-21 11:44:39 +02:00
James Hawkins
f909e1c06e
msi: Don't remove a file that is installed as source.
2008-08-21 11:44:19 +02:00
James Hawkins
b965a74ef2
msi: Downgrade an ERR to a TRACE.
2008-08-21 11:43:58 +02:00
James Hawkins
7b858882ac
msi: If the filename is empty or NULL, remove the directory.
2008-08-21 11:43:51 +02:00
James Hawkins
10a2a5effe
msi: Base removal of a file on the component's action, not the file's state.
2008-08-19 13:56:01 +02:00
James Hawkins
e64a699b07
msi: Remove misc files from the RemoveFile table.
2008-08-19 13:39:40 +02:00
James Hawkins
a00bdc1178
msi: A file's component's state does not determine file removal.
2008-08-19 13:39:30 +02:00
James Hawkins
f33ef6ac3b
msi: Don't remove a file if the old file is strictly newer than the version to be installed.
2008-08-19 13:39:19 +02:00
James Hawkins
ca4b17efe8
msi: Don't check for a NULL component, as the component is guaranteed to exist.
2008-08-19 13:39:11 +02:00
James Hawkins
74239fcd91
msi: Factor out media handling and use the new interface to efficiently extract assemblies.
2008-08-19 13:37:51 +02:00
James Hawkins
64a9e0f750
msi: msidbFileAttributesVital has no effect on the installation of files.
2008-07-22 13:10:21 +02:00
James Hawkins
4e467ad729
msi: Halt the installation with an error if a source file is missing.
2008-07-22 13:10:12 +02:00
James Hawkins
89a8cfdb53
msi: Don't overwrite a file that has a greater or equal version to the source file.
2008-06-25 20:28:52 +02:00
James Hawkins
5538fa0290
msi: Publish media disks whether the drive type is removable or not.
2008-06-24 12:14:42 +02:00
James Hawkins
d3cc801da1
msi: Set the source path for uncompressed files when loading the file.
2008-06-11 11:27:15 +02:00
James Hawkins
77d259f46c
msi: Search the last used source if the cabinet to extract cannot be found.
2008-05-22 11:30:54 +02:00
James Hawkins
bfe07d1d07
msi: Add initial implementation of MsiPublishAssemblies.
2008-04-30 13:45:23 +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
e94b065df3
msi: Fix the type of the ID parameter of MsiSourceListEnumMediaDisks.
2008-03-20 14:27:35 +01:00
Ove Kaaven
be874f1a26
msi: Fix bug in handling of multivolume CAB files.
2008-03-07 10:52:11 +01:00
James Hawkins
bdbb7a0348
msi: Search existing published sources if the media cannot be found.
2008-02-26 11:20:46 +01:00
James Hawkins
7d10d1d2d0
msi: Store the media type and set the last used source type accordingly.
2008-02-26 11:20:27 +01:00
James Hawkins
d62bd166dc
msi: Remove setting a source list property that's in the wrong place.
2008-02-26 11:20:07 +01:00
James Hawkins
4d2cf7a44b
msi: Publish source information in the user-unmanaged context.
2008-02-26 11:20:02 +01:00
James Hawkins
ced64861f5
msi: dest_path refers to the directory prefix, not the entire file path.
2008-01-16 12:16:43 +01:00
James Hawkins
5352d099b4
msi: Create parent directories when duplicating files if they don't exist, with tests.
2008-01-07 12:16:56 +01:00
James Hawkins
b012c3366c
msi: Directly download mi->source now that SourceDir points to the URL.
2008-01-07 12:15:56 +01:00
James Hawkins
4b4f737bfc
msi: Only read an internal package if the file to install is compressed.
2008-01-07 12:14:43 +01:00
James Hawkins
d51ed8bd93
msi: Free the cabinet string on error.
2007-12-12 13:48:50 +01:00
James Hawkins
33a4fe19de
msi: Don't check for the media or cabinet if the cabinet is internal.
2007-11-29 13:37:13 +01:00
James Hawkins
ca9a4dc0d9
msi: Only check the volume label if it's different than the first media's volume label.
2007-11-26 12:28:24 +01:00
James Hawkins
4160722b07
msi: Check the destination file's hash and skip that file if the hash matches.
2007-11-26 12:28:15 +01:00
James Hawkins
075e84bd90
msi: Check the cabinet's full path for existence, not just the cabinet name.
2007-11-20 12:29:00 +01:00
James Hawkins
78eead93fd
msi: Don't check for a cabinet's existence if it's embedded in the package.
2007-11-19 12:55:36 +01:00
James Hawkins
4e9940990b
msi: Don't ignore the error returned by ready_media.
2007-11-15 12:48:29 +01:00
James Hawkins
b1507aee98
msi: Only check the presence of the cabinet if the file is compressed.
2007-11-15 12:48:18 +01:00
James Hawkins
bb747e4fbe
msi: Simplify ready_media.
2007-11-15 12:47:59 +01:00
James Hawkins
5606428a71
msi: Set media info strings to NULL after freeing them.
2007-10-23 18:05:32 +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
71d7da1170
msi: Fetch the volume name when getting disk info.
2007-06-26 11:56:47 +02:00
Rob Shearman
f533159bb6
msi: Only use the long name for the file source if the file has one.
2007-06-22 12:18:22 +02:00
James Hawkins
44649d2ff8
msi: Fall back to checking if the cab exists if the volume name doesn't match.
2007-05-30 11:48:51 +02:00
James Hawkins
1aa0082558
msi: Create the destination directory if it doesn't exist when duplicating files.
2007-05-30 11:48:40 +02:00
James Hawkins
666cfd1c03
msi: Only check the volume label for every media after the first disk.
2007-05-11 11:20:18 +02:00
James Hawkins
6eb7eadffa
msi: Check the volume name when changing media.
2007-05-09 12:07:01 +02:00
Rob Shearman
1b0b5f5699
msi: Provide UI action data for uncompressed files, not just compressed ones.
2007-04-13 11:42:46 +02:00
James Hawkins
7ef8428b5e
msi: Reset the is_extracted flag when every cabinet is loaded.
2007-04-12 16:18:08 +02:00
James Hawkins
8cedb218c3
msi: Load the folder property if available and requested.
2007-03-29 21:01:42 +02:00
James Hawkins
ba40c463d7
msi: Overwrite an existing read-only file when copying the install file.
2007-02-26 13:57:43 +01:00
James Hawkins
5b8282120a
msi: Don't skip files continued from a previous cabinet.
2007-02-08 13:01:40 +01:00
Misha Koshelev
d8b00a071d
msi: Make sure to ignore UI level flags in dialog and files as well.
2007-02-07 11:03:39 +01:00
James Hawkins
30577c253a
msi: Allow uncompressed files before compressed files in the same media.
2007-02-05 12:27:33 +01:00
James Hawkins
a64945baea
msi: Use mi->source if the source is not a full path.
2006-11-30 12:26:08 +01:00
James Hawkins
7125d3073d
msi: Don't fail if we can't remove an existing install file.
2006-11-29 14:06:49 +01:00
Mike McCormack
ebf2733527
msi: Clean up parameters of msi_media_get_disk_info().
2006-11-20 11:50:15 +01:00
Mike McCormack
18db60782f
msi: Fix some memory leaks.
2006-11-20 11:50:15 +01:00
Mike McCormack
13078f180e
msi: Don't leak row handles.
2006-11-20 11:50:15 +01:00
Mike McCormack
c88c0b453d
msi: Remove track_tempfile()'s unused 2nd parameter.
2006-11-14 11:43:17 +01:00
James Hawkins
31a9b087c1
msi: Notify the external UI handler when changing media.
2006-11-14 11:35:00 +01:00
James Hawkins
5cc4a8915f
msi: Fix a heap corruption bug by resizing the src string before adding to it.
2006-11-13 12:46:25 +01:00
James Hawkins
fa8fc1628a
msi: Add support for continuous cabinets.
2006-11-09 10:36:21 +01:00
James Hawkins
6d537a311f
msi: Extract cabinets in ACTION_InstallFiles. ready_media is for finding and loading medi.
2006-11-09 10:36:11 +01:00
James Hawkins
d21e1cc05b
msi: Move the file sequence check out of ready_media_info to avoid an unnecessary function call.
2006-11-09 10:35:59 +01:00
James Hawkins
6ef6512938
msi: Factor out load_media_info from ready_media_for_file.
2006-11-09 10:35:49 +01:00
James Hawkins
a621c2a661
msi: Use disk_prompt from the media_info structure instead of passing an extra parameter to msi_change_media.
2006-11-09 10:35:38 +01:00
James Hawkins
1ae4ab6ef7
msi: Factor out download_remote_cabinet and reuse extract_cabinet_file to extract a remote cabinet.
2006-11-08 13:00:34 +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
542101fcda
msi: Factor copy_install_file out of ACTION_InstallFiles.
2006-11-08 12:59:54 +01:00
James Hawkins
a13bbaf736
msi: Factor schedule_install_files out of ACTION_InstallFiles.
2006-11-08 12:57:54 +01:00
James Hawkins
de3b84df09
msi: Model the media_info structure members after the columns in the media table.
2006-11-08 12:56:47 +01:00
James Hawkins
842ffc3545
msi: Use msi_alloc_zero instead of a helper function that sets everything to zero.
2006-11-08 12:55:05 +01:00
James Hawkins
988509e1af
msi: Use the file's component instead of passing an extra parameter to set_file_source.
2006-11-08 12:54:16 +01:00
James Hawkins
b81f1ce561
msi: Use the media_info structure instead of passing in individual values to extract_cabinet_file.
2006-11-08 12:54:08 +01:00
James Hawkins
62dc9ca691
msi: Extract cabinets based on DiskId, not LastSequence.
2006-10-27 12:09:28 +02:00
James Hawkins
c6bfbde849
msi: Implement handling for the ErrorDialog and use it to change media.
2006-10-27 12:08:46 +02:00
Mike McCormack
b851d46552
msi: Avoid crashing if writeout_cabinet_stream fails.
2006-10-27 12:01:40 +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
75cc5f1e5e
msi: Non-compressed files may come before the list of compressed files in the file sequence.
2006-08-15 11:42:44 +02:00
Andrew Talbot
92725e5299
msi: Write-strings warning fix.
2006-08-11 19:26:41 +02:00
James Hawkins
5d37be9e56
msi: Only remove a file if the version to be installed is strictly newer than the old file.
2006-08-11 11:56:27 +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
1dd97aa154
msi: A file that does not have the msidbFileAttributesCompressed bit set should be considered non-compressed.
2006-08-02 11:45:04 +02:00
Mike McCormack
d39cf962ac
msi: Change an ERR to a WARN.
2006-07-29 11:55:36 +02:00
Huw Davies
045d817f4b
msi: Create files with the correct file attributes.
2006-07-19 09:44:41 +02:00
Stefan Siebert
ded4fbcc3c
msi: cabinet_notify - don't fail on files with the same filepath.
2006-07-14 13:32:40 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Mike McCormack
604cdff911
msi: Remove broken volume management code.
2006-04-07 12:57:52 +02:00
Mike McCormack
17e2c3cc61
msi: Avoid a crash if a parameter is NULL.
2006-04-06 11:33:17 +02:00
Mike McCormack
c1513be48c
msi: Improve handling of short paths.
2006-03-21 16:19:07 +01:00
Robert Shearman
e664435f50
msi: Always set a value for intype in ready_volume.
...
Remove a memory leak.
2006-02-22 22:15:26 +01:00
Robert Shearman
d2e48e01ac
msi: Call ui_actiondata for more actions.
2006-01-23 17:29:50 +01:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Mike McCormack
a977b2c346
Remove some redundant null pointer checks.
2005-11-03 09:56:29 +00:00
Mike McCormack
fd4a2003db
Implement the RemoveFiles action.
2005-11-02 11:42:56 +00:00
Mike McCormack
dded8fb7a8
Use an enumeration for file states.
2005-11-02 10:56:42 +00:00
Mike McCormack
d693f461ba
Remove the unused 1st parameter of ACTION_VerifyComponentForAction.
2005-10-29 11:36:48 +00:00
Mike McCormack
9c8458514c
Some installers don't call the CreateFolders action before the
...
InstallFiles action as MSDN specifies, but it still seems to work, so
make sure that we create component directories in the InstallFiles
action anyway.
2005-10-29 11:29:17 +00:00
Mike McCormack
ab787f9d89
Remove an incorrect comment and check for 0 being an invalid file
...
handle.
2005-10-29 11:07:11 +00:00
Mike McCormack
d730baf3b1
Extract file directly to their target location, bypassing the need to
...
use temporary files and move files.
2005-10-29 10:31:06 +00:00
Mike McCormack
7bdcc78bcd
Put the UI update code for cabinet file into a separate function.
2005-10-28 10:43:50 +00:00
Mike McCormack
2fa0dbd595
Translate INVALID_HANDLE_VALUE to zero for cabinet handles.
2005-10-28 10:40:54 +00:00
Mike McCormack
923a9e47e7
Fix a memory leak in the cabinet extracting code.
2005-10-28 10:09:59 +00:00
Mike McCormack
03b4dbbdc4
Create component folders in the CreateFolders action.
2005-10-28 09:39:29 +00:00
Mike McCormack
0c9468d66b
Fix another memory leak.
2005-09-25 15:14:16 +00:00
Mike McCormack
216a4427d5
Avoid using static variables in the InstallFiles action.
2005-09-23 10:05:08 +00:00
Mike McCormack
470f23d471
Fix various memory leaks.
2005-09-22 10:56:26 +00:00
Mike McCormack
ee034ba4c2
Added memory allocation inline functions (part 2).
2005-09-20 11:59:14 +00:00
Mike McCormack
062ad50510
Rename load_dynamic_property and remove its unused 3rd argument.
2005-09-15 15:04:08 +00:00
Mike McCormack
c50ef541e8
Keep temporary files in a seperate list.
2005-09-07 11:25:18 +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
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
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
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
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
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
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
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
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
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
c668952023
Break out all the file related actions and helper functions into
...
files.c
2005-06-17 20:56:55 +00:00