Commit Graph

3769 Commits

Author SHA1 Message Date
Damjan Jovanovic 9736fe499d shell32: Pass the executable's full path from SHELL_execute() to CreateProcess().
Several older Microsoft installers, particularly those changing CDs
during installation, break because they launch a child setup.exe, from
a parent process also called setup.exe, which Wine finds in the wrong
directory, as CreateProcess() first searches the parent executable's
own directory, thus re-launching the parent itself instead of the
child.  Therefore CreateProcess() must be passed a full path from
SHELL_execute(), so it launches the correct child.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=8439
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:35:46 +01:00
Damjan Jovanovic 06f1f53c4c shell32: Simplify SHELL_execute().
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:35:43 +01:00
Damjan Jovanovic fe83877cb3 shell32/tests: Test shlexec argv[0], and same-named executables in a different directory.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=8439
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:35:40 +01:00
Damjan Jovanovic 971e7e22e0 shell32/tests: Tmpdir shouldn't end with a backslash.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:35:32 +01:00
Serge Gautherie 7770e26f2d include: Remove now useless forced _WIN32_IE defines.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 19:38:38 +01:00
Francois Gouget 30f84ef51e shell32/tests: Don't use randomized paths in the shlexec test.
In case of a failure it is necessary to show the path that was passed
to ShellExecute(). That means the paths must not be randomized so as
not to prevent the TestBot from detecting new failures.
Note that because of the registry modifications one cannot run two
instances of the test concurrently anyway.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:05:30 +01:00
Francois Gouget a909baeb4e tests: Report all errors when failing to wait for a child process.
Report the line number where the test failed to wait for the child so
one can identify which child process did not behave as expected.
Also wait_child_process() is meant for the general case so report
all non-crash error cases as test failures so they are accounted for.
Omit the "winetest_" prefix to match the other Wine test functions and
so the underlying winetest_wait_child_process() function can be wrapped
with the usual line-capturing macros.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48651
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 10:51:44 +01:00
Serge Gautherie 8fc0b7d525 shell32/tests: Remove now useless forced 0x0501 API versions.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 10:27:21 +01:00
Francois Gouget 1ac9bf9e45 shell32/tests: Fix some wording issues in shlexec comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 09:43:35 +01:00
Serge Gautherie aa384d3642 tools: Remove 0x0501 API versions forced by winapi_test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 20:10:44 +01:00
Roman Pišl 82a4e72036 shell32: Implement SHCreateAssociationRegistration.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44253
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 20:26:39 +01:00
Serge Gautherie 83acbb79c1 shell32: Fix SHCNE_UPDATEITEM number of items.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 13:06:57 +01:00
Francois Gouget 8c5795611c shell32/tests: Simplify the name of the test unit for child processes.
The official name (shown by --list) has no path nor extension.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 09:12:55 +01:00
Olivier F. R. Dierick 2aad95254c shell32: Create user folder symlinks on lookup and only if it's missing.
Change the logic so that when a user folder already exists in the
prefix, as a real directory or symbolic link, it's left as-is. Also
create a symbolic link, instead of a real directory, when looking up a
user folder that is currently missing.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:27:26 +01:00
Olivier F. R. Dierick 9cb47e8821 shell32: Add a function to create one specific symbolic link at a time for user dirs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:27:13 +01:00
Olivier F. R. Dierick 60915a5544 shell32: Move 'Desktop' symbolic link creation to a separate function.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:26:58 +01:00
Olivier F. R. Dierick c6d8f1ac28 shell32: Move 'My Stuff' symbolic link creation in a separate generic function.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:26:50 +01:00
Olivier F. R. Dierick fe89ae4965 shell32: Move 'My Documents' symbolic link creation in a separate function.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:26:37 +01:00
Olivier F. R. Dierick a08d3fe10e shell32: Add a helper function to create a shell folder from CSIDL and return its unix path.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:26:20 +01:00
Olivier F. R. Dierick 7642388153 shell32: Add a helper function to create 'My Stuff' sub dirs in 'My Documents'.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:26:02 +01:00
Olivier F. R. Dierick 8c7c6e9b79 shell32: Add helper functions for XDG directories lookup and resource deallocation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:25:41 +01:00
Olivier F. R. Dierick 81b4dba58a shell32: Move _SHCreateSymbolicLinks() above shell folders lookup functions.
Looking up shell folders creates real directories when the folder is
inexistant, but the intended behavior for some folders is to create
symbolic links by default. Prepare that change by moving the helper
function above shell folders lookup functions. Also fix whitespace
issues in the moved code.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22974
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:25:07 +01:00
Roman Pišl a102671720 shell32: Avoid crash on WM_WINDOWPOSCHANGING in BrsFolderDlgProc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48510
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 22:20:07 +01:00
Rémi Bernon d1373e8aae shell32/tests: Fix some format-overflow warnings.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +01:00
Nikolay Sivov 5d6f0de3ea shell32/tests: Fix some compiler warnings on sprintf() buffer sizes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Nikolay Sivov 5b7dc90efb shell32/tests: Get rid of strcmp_wa().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Nikolay Sivov 84e06f2289 shell32: Do not use SHGetMalloc() internally.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:43:31 +01:00
Alexandre Julliard e4e3dc7eb6 shell32/tests: Get rid of strcmpW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-26 10:59:43 +01:00
Zebediah Figura 49a71fcc77 shell32/tests: Fix some failures in test_contextmenu().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-21 20:55:34 +01:00
Nikolay Sivov 8a13cc6437 shell32/tests: Use SHParseDisplayName() directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-09 09:24:29 +01:00
Nikolay Sivov 464bbdcfb1 shell32/tests: Remove some more workarounds from shelllink tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-08 21:11:34 +01:00
Nikolay Sivov b9349d135e shell32/tests: Use ILIsEqual() directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-08 21:11:22 +01:00
Nikolay Sivov 6bfc988ea4 shell32/tests: Use GetShortPathNameA() directly in tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Nikolay Sivov d259c56c80 shell32/tests: Use GetLongPathNameA() directly in tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Nikolay Sivov 0c1a701e24 shell32/tests: Use ILFree() directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Nikolay Sivov 9a2e36b214 shell32/tests: Get rid of SHGetMalloc() in tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Nikolay Sivov 5b66af0204 shell32/tests: Remove workarounds for SHGetFolderLocation().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 21:51:35 +01:00
Zebediah Figura 649119b30e shell32/tests: Avoid testing that only certain services are requested by IObjectWithSite::SetSite().
There doesn't seem to be a lot of point in doing this, especially given that
newer versions of Windows continually add more interfaces.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-05 17:34:03 +01:00
Alexandre Julliard 4429b9f803 advapi32/tests: Use debug.h functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-17 16:55:16 +01:00
Francois Gouget 013949fc0b shell32: Tweak / fix the MS-DOS name in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:59:08 +01:00
Gijs Vermeulen 750d382f54 shell32/tests: Add PathResolve tests.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:06 +01:00
Gijs Vermeulen a5a2749cfe shell32: Implement PathResolve.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48082
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:06 +01:00
Francois Gouget fc0ccc4486 shell32: Fix the spelling of a variable name.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Francois Gouget 308447324f shlwapi/tests: Fix the spelling of a couple of ok() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alex Henrie 477ff7e034 shell32: Symlink the Downloads and Templates folders too.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Alexandre Julliard 8310d7c417 shell32/tests: Avoid winetest_strcmpW.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 13:57:56 +01:00
Vijay Kiran Kamuju ec9eddf86b shell32: Update the LINKHEADER based on binary file format.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 20:45:46 +01:00
Serge Gautherie 7cc2806e0e shell32: Properly init/use icon_idx.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 21:00:11 +01:00
Louis Lenders 36eb51b8a6 shell32: Add stub for SHCreateDataObject.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 20:48:31 +01:00
Hans Leidekker 3ca6b296da shell32: Fix definitions for FOLDERID_ProgramFilesX64 and FOLDERID_ProgramFilesCommonX64 on 64-bit.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 15:45:18 +01:00