BC2 not starting on Windows 7 x64

Issue #27 resolved
Former user created an issue

On my updated w7 box x64 the program isn't starting at all. I'm not even seeing a short process popping up in process hacker. What can I do for further investigation, is there any debug/logging function?

Comments (23)

  1. guy repo owner
    1. Make sure .NET is up to date. It probably is since you just updated your box.
    2. There aren't any debug commands (yet) outside of running the source code. You could try to go straight to settings with --settings and see if that works.
    3. The application needs to write to your %appdata% folder and may be blocked.

    What, if any, AV are you using? It could also be blocking BC2 because it has embded .dll files in it.

  2. phk

    Hey, sorry for the delay.

    Trying the previous version with the suggested --settings flag didn't do anything. When I tried your logenabled version, the execution looked like it took about 3 seconds, so I thought there was some log written, but it doesn't. Examining it with process hacker didn't show up anything process like, even for a short time, too. If opening a log file is the first thing it does, maybe it's not coming up even to this part.

    Installed .NET Framework is 4.7 and I have loads of different vc++redist versions installed too, could something conflict it?

    I'm open for directions where to look further, on Windows 10 on the same box (multiboot) it worked but I'm not using this.

    cheers phk

  3. phk

    Hey, again sorry for the late reply.

    I had some time to look further into this issue and i'm not really understanding what happens. The log enforced version did not pruduce any logs so I hooked the process up to sysinternals procmon but the only thing I see is that it tries to open a "browser chooser 2.pdb" debug file from different places, then it stops suddenly. I dumped all relevant things like threads, reg, and file stuff so you can filter on demand.

    Hopefully this will help to solve this strange riddle ;)

    No attachments here so I uploaded it to owncloud: https://phk.querbass.de/index.php/s/wl5dYhlVuUwv7lz

    So thanks and some relaxed christmas holidays, I will be at 34C3 so I will respond a little bit later

    cheers phk

  4. phk

    Ah and forgot to mention, I'm using ESET but I tried disabling it already, it produces the same 1536 event output on procmon

  5. guy repo owner

    Looks like I made a mistake with the logger. Can you redownload the file above and see if it generates a log. The old one would try to write to system32 - which it can't

  6. phk

    No luck with the updated version (no log) and the pdb file, but i had no time to look further into procmon dump.

    I tried something different and logged into the Administrator account, which worked an program starts and produces a log.

    So I'm thinking the program has either a problem with my username, which contains unicode characters, or with redirected paths for system & user tempfiles on another drive.

    As both are known to cause problems with some programs, maybe you could check this?

  7. guy repo owner

    Those make sense. I think it may have to do more with the username since I don't use temp files. I will have to setup a VM to test it.

  8. guy repo owner

    I just tried with a user name of Test³ and it worked as expected. The way I write the char is ALT+0179. Is this the same way for you?

  9. guy repo owner

    Oh shoot, I just saw your still on Win7. Time for a new VM.

    Also, if you quickly on hand how you did the redirects, I will test it out in my VMs.

  10. phk

    For the key, I used the right alt (alt gr on german layout) and the normal 3 key in combination, the same way you would enter "mathematical ^2 or times 2" I think it's called in english (but twice in my user name so it's ³³), I'm not sure what you mean with ALT+0179, I guess you enter the ansi character this way, try the usual keyboard instead.

    The redirection is done using environment variables via advanced system preferences settings, redirected to another physical hard drive, as I don't want these writes on my ssd.

    There are some other redirects done using NTFS junction points, which should NOT be the cause in your case, as these are used for specific application environments. But for completeness: You can use some sort of likewise symlinks, known to the unix world, but with windows board utilities like:

    mklink /J "C:\Link" "D:\Target"

    This works across filesystem boundaries and physical drives, like symlinks do. Hope this helps

  11. guy repo owner

    At this point, I am sure it's the temp folder. I was able to break BC2 but am not sure how to fix it yet. The problem comes when I try to read the settings file. I use XMLSerializer and it needs to write to temp. There is another piece of code that extracts embedded DLLs and it may need to write to temp as well. I can only get the error if I write-protect the folder, it's not quite your situation.

  12. phk

    Maybe it's worth the note, all 4 temp folders are redirected exactly like this:

    user tmp & user temp both redirected to e:\TEMPFILES#USERTEMP using advanced system settings

    windows systemwide tmp & temp redirected to E:\TEMPFILES#WINTEMP but here I was using junction points, just rechecked this, so my last post was not true for the systemwide tempfiles, my mistake, I'm sorry.

  13. phk

    Unfortunately the problems still persists in the latest 2.0.3.27397 version, but due to lack of time, I'm currently unable to look further into it. Maybe later, I would then come back to you.

    Thanks for the effort, best wishes -phk

  14. Log in to comment