[Bug 46956] New: ReplaceFile cannot replace the current executable
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Apr 3 18:44:24 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=46956
Bug ID: 46956
Summary: ReplaceFile cannot replace the current executable
Product: Wine
Version: 1.6.2
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: kernel32
Assignee: wine-bugs at winehq.org
Reporter: shaggie76 at hotmail.com
Distribution: ---
Created attachment 64085
--> https://bugs.winehq.org/attachment.cgi?id=64085
A simple VS2017 console project that you can compile to test this.
The ReplaceFile API can be used to update the currently running exe file; this
does not work with WINE.
This bug prevents the Warframe launcher from working properly.
A simple program that demonstrates this is:
#include <windows.h>
#include <tchar.h>
int main(int argc, const char* argv[])
{
TCHAR exePath[MAX_PATH];
TCHAR tmpPath[MAX_PATH];
GetModuleFileName(GetModuleHandle(NULL), exePath, MAX_PATH);
_tcscpy_s(tmpPath, MAX_PATH, exePath);
_tcscat_s(tmpPath, MAX_PATH, TEXT(".tmp"));
if(!CopyFile(exePath, tmpPath, FALSE))
{
_tprintf(TEXT("CopyFile(%s, %s, FALSE) failed [0x%08X]\n"), exePath,
tmpPath, GetLastError());
return(1);
}
/* this has worked from at least as far back as WinXP and continues to work
on Win10 */
if(!ReplaceFile(exePath, tmpPath, NULL, 0, NULL, NULL))
{
_tprintf(TEXT("ReplaceFile(%s, %s, NULL, 0, NULL, NULL) failed
[0x%08X]\n"), exePath, tmpPath, GetLastError());
return(1);
}
/* A proper test would check that the file was actually updated but this is
sufficient to demonstrate the bug */
_tprintf(TEXT("No errors!\n"));
return(0);
}
Under WINE this prints:
ReplaceFile(Z:\home\glen\WineReplaceFile.exe,
Z:\home\glen\WineReplaceFile.exe.tmp, NULL, 0, NULL, NULL) failed [0x00000497]
Under real WinXP to Win10 this prints:
No errors!
--
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