SafeDiscShim
SafeDiscShim copied to clipboard
Tried 3 different games, none works... without compatibility mode or affinity set to 1
Like the title says. I've tried many different things, but compatibility mode or setting affinity to 1 or 3 seems to be the only things that might get the games running. The games are Battlefield 1942 Robot Wars Arenas of Destruction Manhunt
EDIT: Manhunt used SecuROM 7, so that doesn't count.
Got Robot Wars Arenas of Destruction to work in Windows 98 / ME compatibility mode, but Battlefield 1942 still won't run, even with Alcohol 120% emulation of the disc(s) in mds/mdf format.
EDIT: Battlefield 1942 works without the disc with WinCDEmu. But ONLY when running the game in compatibility mode for Windows 98 / ME.
Also, I works almost always when running games with one core, but then if I want to run them att full power, I need to open Task Manager and set affinity back to all cores.
I can now confirm that when dual-booting with Windows 11 and Windows 10, SafeDiscShim works fine in Windows 10 without any compatibility mode, or affinity settings. Weird... something seems broken in Windows 11...
When disabling Driver Signature Enforcement in Windows 11, SafeDiscShim works every time, without setting affinity OR compatibility mode... sadly I cannot give any info about it, except maybe the logs, of course-
In my case, to get SafeDiscShim working with Robot Wars Arenas of Destruction or Battlefield 1942, I simply reboot into startup settings and select "Disable Driver Signature Enforcement" with the 7 or F7 key. But I think this should work with any SafeDisc game.
Uuh, no - please. Keep this open. I'd really like to figure out what's going on here.
The only things SDS installs are drvmgt.dll and SafeDiscShim.sdb. This one in turn applying the InjectDll shim on every "~#####.tmp" file (that is, the real executables that safedisc tries to load on execution).
I can guess that if disabling DSE fixes the situation there's probably some security mechanism involved, but I wasn't aware of any one influencing dlls.
Can you check the Program Telemetry logs in Microsoft/Windows/Application-Experience events? And try to disable this stuff?
Alright mirh, I'll try what you said. I'll keep you updated.
Here's the Program Telemetry logs for launching Battlefield 1942. SafeDiscShim_log.zip
I had virtualization disabled in my UEFI BIOS. So that's not the issue, but the logs will hopefully provide some info about what's going on...
EDIT: This is most weird... I turned Smart App Control from evaluation to off, and now it works again, without disabling Driver Signature Enforcement.
Ultimate Solution: Disable Smart App Control by setting it to "Off".
https://learn.microsoft.com/en-us/windows/apps/develop/smart-app-control/overview I see. Though maybe this could still be considered a bug, in the sense that the super proper way to fix this would be code signing.
EDIT: I'm assuming that were the logs from the times bf 1942 worked, right? And that nothing shows up with SAC on? EDIT2: when safediscshim is blocked, are there events reported here or here?
Thing is if I enable Smart App Control, I suppose I cannot disable it later. So I don't think I can test it.
EDIT: I spoke too soon. My bad. I'll try re-enabling it from the registry. I'll reply with results later. In the meantime, here's the log for when it was in Evaluation Mode. SmartAppControl_log_SafeDisc.zip
Mhh, that's not it as it complains about secdrv.sys - and it is dated to five days ago (around the time you first closed this issue). I would hope you could find somewhere in there (or perhaps in some other log) the actual complaints about SDS.
I re-enabled Smart App Control from the Advanced Startup Command Prompt. I'll look into it again now.
Here's a log with the game Battlefield 1942 started in Evaluation Mode of Smart App Control, and now, of course, it won't launch. It's from the Program-Telemetry. Log.zip
That's the successful application of the sdb fix. I was instead more interested into some kind of log that explicitly told you "sorry but we couldn't load this library" or something...
I think you may try to create a custom view, that includes all registries and all events of the previous 10 minutes? And from there see which bucket raises a complaint.
Alright. I'll look again.
I found this when logging everything within 30 minutes. Log.zip
Uh... It actually just seems like installer.exe calls drvmgt.dll and then crashes. Plain and simple. In this sense it doesn't seem like having anything to do with code signing. EDIT: it also explains why you don't get any of the expected notifications
Therefore windows 98 compatibility mode is working because some of the quirks it handles are the ones that are hit here. Would it be too much for you to install the compatibility administrator tool from the windows ADK, and then check which of these individual shims can do the same?
Maybe sometime I can look into that. For now, I'll disable Smart App Control, as I don't benefit from it. Also I'm suspicious by nature, so I'm not worried about getting fooled by an unsafe app.
Alright, I installed the Compatibility Administrator Tools (Windows 10). I'll check it now.
For Battlefield 1942, this shows up in the Compatibility Administrator:
Yes, I know.. I'm saying that you try the individual shims that are forced with the win98 compatibility mode, so that we can see which of the many ones fix it. For starters you could like select every single ones of them, except for SingleProcAffinity and see if this one was already the solution or not.
Alright. Have never used this tool before, so bear with me... I'll try what you said and see what happens.
When disabling the SingleProcAffinity, the game won't launch, but with it enabled it works.
EDIT: Seems to work randomly with it enabled though... I'll have to troubleshoot some more...
EDIT2: I believe it might be the SingleProcAffinity that makes it work...
EDIT3: Now ran it with SingleProcAffinity only as a fix, works also.
So, just to be clear.. if you enable all the other 75 shims simultaneously, nothing really change much - but with that single one then you see the difference?
I had about 439 shims. I don't know if we did the same thing, but the single core shim seems to be it.
I meant, the other 75 shims that makes the win98 compatibility mode (in my screenshot).
I meant, the other 75 shims that makes the win98 compatibility mode (in my screenshot).
Sorry for the very belated reply, but I've come to the conclusion that I'll just keep Smart App Control disabled.