You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Other processes are locking haloce.exe to write to it, which prevents us from writing our binary patches.
Priority
Solution
HIGH
Cancel "Load Game" and present user with access error. Use Windows' shutdown files API thing (see Deadlock) to list blocking processes.
Medium
Embed SysInternals' Handles/Handles64 to yank and break handles. Alternatively, System Informer, but it's larger.
low
Finish Deadlock Native Handles pull request. Integrate into HXE. Invocations will be a PITA. CIL Exports?
Propositions
A. Write to copy of haloce.exe, leaving the locked file as-is (mostly)
Rename the directory entry of the file to haloce.exe.0.bak. This won't touch the file itself. Instead, we change filesystem information about the file. Confusing, I know. System.IO.FileInfo?
Copy "haloce.exe.0.bak" to "haloce.exe" as new file in the same directory.
Resume normal "haloce.exe" activities.
B. Close file handles with filename 'haloce.exe'
Use SysInternal's Handles app/lib to get a list of processes' File handles of filename "haloce.exe". See Handles feature of System Informer.
Close each handle. Suitable API in System.Management
Examples
IObit Unlocker Heh. No way~!
Process Hacker System Informer
SysInternals Handles, Handles64, ProcessExplorer
Biiig dumpy
Use System.IO.File.Open() to check if file is locked (share: none)
Uh oh!
There was an error while loading. Please reload this page.
Other processes are locking haloce.exe to write to it, which prevents us from writing our binary patches.
lowPropositions
A. Write to copy of haloce.exe, leaving the locked file as-is (mostly)
B. Close file handles with filename 'haloce.exe'
System.Management
Examples
IObit UnlockerHeh. No way~!Process HackerSystem InformerBiiig dumpy
Use
System.IO.File.Open()
to check if file is locked (share: none)https://www.cloudsavvyit.com/2956/how-to-manage-open-file-handles-with-powershell#testing-for-locked-files
https://www.cloudsavvyit.com/2956/how-to-manage-open-file-handles-with-powershell#openfiles-utility
https://www.cloudsavvyit.com/2956/how-to-manage-open-file-handles-with-powershell#the-handle-application
https://www.majorgeeks.com/files/details/unlocker.html
https://docs.microsoft.com/en-us/sysinternals/downloads/handle
https://lockhunter.com/download.htm
https://docs.microsoft.com/en-us/dotnet/api/system.io.filestream.unlock?view=net-5.0
https://docs.microsoft.com/en-us/dotnet/api/system.io.filestream.handle?view=net-5.0
https://docs.microsoft.com/en-us/dotnet/api/system.io.file.openhandle?view=net-6.0
https://docs.microsoft.com/en-us/dotnet/api/system.io.fileinfo?view=net-5.0
https://docs.microsoft.com/en-us/dotnet/api/system.io.fileshare?view=net-5.0
https://docs.microsoft.com/en-us/dotnet/api/system.io.file?view=net-5.0
https://docs.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntquerysysteminformation
https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.filesystem.unlock?view=net-5.0https://devblogs.microsoft.com/dotnet/file-io-improvements-in-dotnet-6https://stackoverflow.com/questions/2225733/how-to-forcefully-unlock-a-file-in-chttps://stackoverflow.com/questions/47977927/error-the-process-cannot-access-the-file-because-it-is-being-used-by-another-prohttps://dotnet-assembly.blogspot.com/2012/10/c-check-file-is-being-used-by-another.htmlhttps://www.codeproject.com/questions/141068/file-is-being-used-by-another-processThe text was updated successfully, but these errors were encountered: