Yesterday, I discovered some clues about the issue, but I still don’t fully understand the cause. My program downloads additional components through a main process called SmpHelp. One of these components, rustdesk, is provided as a ZIP archive. After extracting the ZIP, it contains a rustdesk directory and three subfiles.
Here's the strange part: when I use the unzip command-line tool to extract the archive, the infogodesk process works fine. However, when I use a third-party code library to extract the same archive, the infogodesk process fails to run. Regardless of the extraction method, the MD5 hash values of the executable file are identical, which indicates the file itself is not corrupted.
Even more oddly, if I move the problematic executable to another directory or manually create a new directory for it, the process runs without issue.
Could this behavior be related to differences in the inode attributes or metadata of the directories created by the third-party library versus the ones created by unzip?
I would greatly appreciate any insights into why this might be happening.