[Bug 48902] New: Warframe launcher fails to replace updated Launcher.exe the first time (works when Retry option pressed, as Launcher.exe deleted first time)
WineHQ Bugzilla
wine-bugs at winehq.org
Wed Apr 8 15:14:22 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=48902
Bug ID: 48902
Summary: Warframe launcher fails to replace updated
Launcher.exe the first time (works when Retry option
pressed, as Launcher.exe deleted first time)
Product: Wine
Version: 5.4
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: kernel32
Assignee: wine-bugs at winehq.org
Reporter: wine.bugzilla at johnthomson.fastmail.com.au
Distribution: ---
Created attachment 66856
--> https://bugs.winehq.org/attachment.cgi?id=66856
trace+file,trace+ntdll,trace+server,+relay truncated
Warframe launcher
When a Launcher.exe update is available, the update will be downloaded and
extracted as Launcher.exe.tmp. Then replace Launcher.exe with Launcher.exe.tmp.
This is first attempted with MoveFileEx, then
MoveFileWithProgressW Launcher.exe.tmp Launcher.exe nil nil 0001
(MOVEFILE_REPLACE_EXISTING)
The game's user/Local\ Settings/Application\ Data/Warframe/Launcher.log shows
these errors:
MoveFileEx 0x5 Access denied
ReplaceFile 0x497 Unable to remove the file to be replaced
In moving the replaced file out of the way, a temp file is created, and the
replaced file is moved to this temp file
This temp file is then deleted with:
NtCreateFile(&hFile, SYNCHRONIZE | DELETE, //access mask
&attr, &io, NULL, 0,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, //sharing
FILE_OPEN, //disposition
FILE_DELETE_ON_CLOSE | FILE_NON_DIRECTORY_FILE, //options
NULL, 0);
This fails in server/fd.c check_sharing
if ((existing_access & FILE_MAPPING_IMAGE) && (options & FILE_DELETE_ON_CLOSE))
return STATUS_CANNOT_DELETE;
A printf here showed:
existing_access=2684354560 FILE_MAPPING_IMAGE=80000000 options=00001040
FILE_DELETE_ON_CLOSE=00001000
Launcher.exe is no longer in place, as it was moved to the temp file.
Launcher.exe.tmp remains.
The launcher shows an error about this replacement failure, with a retry
option.
The replacement works at retry, because the Launcher.exe file no longer exists.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list