Commit graph

4100 commits

Author SHA1 Message Date
Alexandre Julliard 64923f3fee widl: Default to fully interpreted stubs mode. 2024-05-02 09:22:40 +02:00
Alexandre Julliard f22fac6b3e msi: Use fully interpreted IDL stubs. 2024-04-30 20:36:48 +02:00
Hans Leidekker 27f5470ff4 msi: Install global assemblies after install custom actions and before commit custom actions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56609
2024-04-30 14:51:16 +02:00
Hans Leidekker 7f0ca9c284 msi: Install global assemblies before running deferred custom actions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56493
2024-04-09 08:25:58 -05:00
Hans Leidekker 738ec82855 msi/tests: Get rid of workarounds for old Windows versions. 2024-04-09 08:25:49 -05:00
Hans Leidekker a6eb51f0e5 msi/tests: Try restarting tests elevated.
Wine starts processes non-elevated since e92ba2de43
which means that many tests are skipped now.
2024-04-09 08:25:46 -05:00
Hans Leidekker b3f11ceb7a msi/tests: Use the helpers from utils.h in more modules. 2024-04-09 08:25:46 -05:00
Alexandre Julliard 43fb0ecd07 msi/tests: Delete the temp .msi file in all failure cases. 2024-04-01 09:12:07 +02:00
Zebediah Figura 366398cc53 msi: Create the custom action server as an elevated process.
Dragon Naturally Speaking 12.5 manually validates that the custom action server
is elevated.

One might imagine that the right approach here is to add a manifest to msiexec;
however, msiexec does not always trigger a UAC prompt on Windows.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51143
2024-03-04 15:39:06 +01:00
Zebediah Figura 4a227c62a5 msi: Multiply by 512 in dialog_vcl_add_drives().
The main motivation here is to avoid overflow, and multiplying in one place seems simpler.
2024-03-04 15:39:06 +01:00
Zebediah Figura d7bbe884ef msi: Store component cost in 512-byte units.
This avoids overflow when component costs exceed 4 GB.
2024-03-04 15:39:06 +01:00
Zebediah Figura 9725a2286a msi: Round costs up to 4096 bytes instead of clamping. 2024-03-04 15:39:05 +01:00
Zebediah Figura 674efeb1f7 msi/tests: Expand costing tests. 2024-03-04 15:39:05 +01:00
David Kahurani 386dbe1059 msi: Avoid leaking stream on DB update.
MSI_RecordGetIStream adds a reference to the stream. This
reference should be negated as we are done setting the stream.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-02-20 22:26:13 +01:00
Fabian Maurer bbce5d014d msi: Don't write past end of string when selecting parent directory. 2024-02-05 13:25:36 +01:00
Zhiyi Zhang 4afca1787f msi: Fix a memory leak (Coverity). 2024-01-17 11:07:00 +01:00
Eric Pouech ac8da35b87 regsvr32: Use message boxes by default for output.
regsvr32 is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode.
Removing -c option as not existing in native.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-24 16:46:44 +01:00
Jacek Caban 93668319dd msi/tests: Initialize pathkey in test_installprops.
It could be used uninitialized on early no access return.
2023-11-17 19:54:00 +01:00
Jacek Caban 2daa8c9f95 msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
Avoids casting to enum pointer in msi_locate_product call.
2023-11-17 19:53:59 +01:00
Alistair Leslie-Hughes 91e8108345 msi: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Alexandre Julliard ffeb530cc0 makefiles: Always use the global SOURCES variable for .y files. 2023-10-14 13:51:42 +02:00
Jactry Zeng 085e95cd5e msi: Use CreateFileW() for handling path from cabinet_open() instead. 2023-09-20 10:17:24 +02:00
Rémi Bernon 81da9ff0f8 makedep: Use #pragma makedep testdll for TESTDLL resources. 2023-09-05 12:44:34 +02:00
Alexandre Julliard 490aee03e4 msi/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard 8de0a9dc74 msi: Use nameless unions/structs. 2023-07-14 09:24:29 +02:00
Jinoh Kang 1fca47b724 msi: Don't open code dialog_add_control() in dialog_line_control().
Commit b1cc87cb65 ("msi: The line control has a height of exactly 2
device units.", 2007-12-16) open-coded the body of
(msi_)dialog_add_control() inside dialog_line_control() modulo the
height override.

Except the fixed height, line controls have nothing special compared to
other controls.  Thus, there is little merit in open-coding it.

Also, dialog_line_control() has bit-rotted over time; it already missed
a few changes that were done to any other controls.

Fix this by just using dialog_add_control().  Also, add a special case
logic just for line controls.
2023-07-14 09:14:33 +02:00
Jinoh Kang 3eceda2f2a msi: Make insertion order of line controls consistent with other controls.
Fixes: 2c5bd49297
2023-07-14 09:14:31 +02:00
Jinoh Kang 735584076e msi: Fully initialize the control structure in dialog_line_control().
Fixes: 76606eaea0
Fixes: 174b7b51ac
2023-07-14 09:14:28 +02:00
Alistair Leslie-Hughes 51049c95a2 msi: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
David Kahurani 60e4f8a261 msi: Convert newlines to alternate representation when exporting.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-06-23 11:20:32 +02:00
David Kahurani e1ddc58a25 msi: Reject shorter/longer lines in MsiDatabaseImportA.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-06-23 11:20:30 +02:00
Alex Henrie 993f4d48d2 msi: Fix memory leaks in HANDLE_CustomType23 (scan-build). 2023-06-16 10:30:48 +02:00
Alex Henrie 0653409e06 msi: Fix double free on error paths in TransformView_Create (scan-build).
If TransformView_Create returns an error, it should not return a pointer
that table_load_transform will try to free.
2023-06-16 10:30:35 +02:00
Alex Henrie 4db2ffa60e msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build). 2023-06-16 10:30:29 +02:00
Alexandre Julliard 93630ce14e include: Remove redundant __WINE_USE_MSVCRT checks. 2023-06-12 21:21:41 +02:00
Daniel Lehman 7b3690dd73 msi: Release record instead of free.
../dlls/msi/dialog.c:4476:11: warning: attempt to call free on non-heap object 'hdr' [-Wfree-nonheap-object]
    free( &rec->hdr );
          ^
2023-06-08 12:03:35 +02:00
Alex Henrie d06b3fd527 msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build). 2023-06-08 12:03:29 +02:00
Alex Henrie c39f785b34 msi: Fix memory leak in ready_media (scan-build).
base_url was never freed, and can simply be enlarged instead of copying
it to a new buffer.
2023-06-05 14:01:07 +02:00
Alex Henrie 1da5618cba msi: Make TransformView_Create static. 2023-06-05 14:01:07 +02:00
Alex Henrie daa20d9d63 msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).
Instead of ERROR_SUCCESS.
2023-06-05 14:01:07 +02:00
Francois Gouget a80b183af7 msi/tests: Ok_() takes printf-style arguments.
This lets the compiler check that the format and argument sizes match.
2023-04-27 08:56:57 +02:00
Francois Gouget b6fb1b8983 msi/tests: Fix the ok() formats so they match the size of their arguments. 2023-04-27 08:56:56 +02:00
Alex Henrie 9df04bfdb0 msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC). 2023-02-08 21:32:06 +01:00
Alex Henrie 687c4f5c8d msi: Handle memory allocation failure in get_link_file (cppcheck). 2023-02-06 10:34:24 +01:00
Hans Leidekker 2580127425 msi: Get rid of unnecessary typedefs. 2023-02-02 18:08:39 +01:00
Hans Leidekker 3611398b75 msi: Remove msi_ prefix from static functions. 2023-02-02 18:08:39 +01:00
Hans Leidekker d9d700f332 msi: Perform late initialization of the assembly caches.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51345
2023-02-02 18:08:39 +01:00
Hans Leidekker 2c450fd621 msi: Install and patch global assemblies in InstallFinalize.
Installing global assemblies requires assembly caches to be initialized and
this is no longer the case after the PE conversion (builtin fusion no longer
loads if the dll is not present on disk).

The next patch changes msi to perform late initialization of the assembly
caches so that native fusion can be loaded once it's installed by .NET
installers. However, there's no guarantee that all necessary files and
registry keys are installed before the InstallFiles and PatchFiles actions
are executed. Therefore this patch moves the parts of these actions handling
global assemblies to InstallFinalize.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51345
2023-02-02 18:08:39 +01:00
Hans Leidekker 79ec3d9fb8 msi/tests: Avoid test failures when running with insufficient rights.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51040
2023-02-01 17:11:52 +01:00
Hans Leidekker 69154f0329 ntdll: Default to Windows 10. 2023-02-01 17:11:47 +01:00