Page MenuHome

missing SDL2.dll after installation
Closed, ResolvedPublic

Description

System Information
Windows 10 64 32 GB Ram

Blender Version
Broken:: Blender 2.78 Date 2016-09-26 12:42
Worked: (optional)

Blender dosn't start it misses SDL2.dll after installation

Added from nighly build the SDL2.dll to the Blender Path then it starts

Michael

Details

Type
Bug

Event Timeline

I have same issue when installing on two separate Windows 10 machines. I got it working on both by re-installing package and choosing "repair installation", then all seems fine.

Tom

Same here as at Tom (Tommy), but on Win. 8.1 64-bit. Used 'Repair' option of the MSI setup, and it has fixed the issue.

DelD.

The repair option did the trick for me as well. I'm on Win 7 x64.

Same here. Fixed by "Repair"

tried latest built and still missing SDL2.dll

I re install it and use the repair function
and now seems to work
it did create in app folder on win 64 a new config folder

but it did not use the old config from 2.77
so I had to copy old config folder to the 2.78 folder manually

thanks
happy bl

A couple pokes in the dark here. Maybe a virus scanner is blocking the expanding of that dll from a false positive or just holding it up during scanning might be causing the installer to not copy the file. I've had virus scanners hold things up before and cause similar issues in general.

Also this dll missing issue seems to be a common for downloaded games. So maybe it's an installer issue confusing the 32/64 bit versions? The installer usually does an ok job with the ver utility properly identifying dll versions so maybe there's a bug there or in the install script? Then somehow the installer fixes it on repair I see posted here.

Again just poking in the dark and helping out by harassing some of the usual suspects...

If anyone can still reproduce this, attaching the MIS installer log to this report might provide a clue. You can generate that by running the installer like this from a command prompt (windows key + R, type cmd), adapt the path as needed:

msiexec /i C:\Users\%USERNAME%\Downloads\blender-2.78-windows64.msi /L*v blender-2.78-install-log.txt

Further useful information could be:

  • Is the user account an administrator or not?
  • After failed installation, can SDL2.dll be found somewhere on your system (perhaps in the wrong folder), or is it not there at all?
  • If you open the Windows Event Viewer, is there anything relevant in the logs?
  • Which if any virus scanner do you use? Is there anything about this in the virus scanner logs?

@Brecht Van Lommel (brecht)

MacPro 2008
Win10
No extra Virus Scanner
Default Win Defender is running

I cannot find the SDL2.dll on the HD anywhere.

When entering your command I get this:

Thanks for testing. To generate the log, you would first uninstall Blender. Then you would run this command to install it again, and the log file will be at c:\Users\info\blender-2.78-install-log.txt after installation is completed.

Ideally (for us) the SDL2.dll error would happen also after this second installation, though even if Blender then runs without the error the log may have useful information.

@Brecht Van Lommel (brecht)

Blender runs now
The SDL2.dll is in the folder - I did not check before if it was visually there

For me it only fails when installing the first time over 2.77a. Repairing or desinstalling then reinstalling resolves the problem.

Funny. Can't reproduce the issue anymore.

1st attempt:

  • Blender uninstalled.
  • AV switched off (using COMODO).
  • Re-installed using Brecht's command.
  • After installation the SDL2.dll was present on the install path, log file created (no issues found in it, SDL2.dll was recognized as missing, so it was copied), Blender started w/o any issue.

2nd attempt:

  • Uninstalled prev. Bl. copy.
  • I've kept AV active (as it was when I've 1st time installed Bl. 2 days ago).
  • MSI installer started same way as 2 days ago (by right clicking on it in the explorer.)
  • After installation the SDL2.dll was present on the install path again, Blender works fine.

The only difference between now and 2 days ago: my AV was updated yesterday to a new version and virus db.

No idea what's going on.

Cheers,

DelD.

Ahha. I've left out the scenario mentioned by bliblu bli - installing over 2.77a... That's another difference to the state of my PC 2 days ago.

I found 2 errors fir bl

1 -

Application 'H:\Program Files\Blender Foundation\Blender\blender.exe' (pid 2844) cannot be restarted - Application SID does not match Conductor SID..

2 -

if more information about the problem is available, check the problem history in the Security and Maintenance control panel.
Process ID: 26b8
Start Time: 01d21b6bd4105a33
Termination Time: 17
Application Path: H:\Program Files\Blender Foundation\Blender\blender.exe
Report Id: 798f9ed1-875f-11e6-b5a8-a4db302dab58
Faulting package full name:
Faulting package-relative application ID:

also nee to follow this

blender error / bug
You could also look up the Event Viewer application, then click Administrative Events, click the Source header to sort by source type, look for Application Error sources, then look for an error dealing with blender.exe. (check the date to make sure it's the error you just had, not something from a year ago)

thanks for reminding this little log on win

thanks
happy bl

I managed to repro the problem now on Windows 10, by uninstalling all Blender versions, installing Blender 2.77a, 64bit and then installing Blender 2.78 64bit over that.

Heres the log:

. We can see SDL2.dll getting remove but not re-added, unlike the other dlls. At the install validation stage, SDL2.dll is the only file which has Action: Null.

There is this message, where DA74128A-0D77-5E97-B3A1-3C0AF6EE9F9B corresponds to SDL2.dll.

MSI (c) (04:5C) [21:22:33:131]: Disallowing installation of component: {DA74128A-0D77-5E97-B3A1-3C0AF6EE9F9B}
since the same component with higher versioned keyfile exists

I don't understand yet how these version numbers are determined. This seems relevant:
https://blogs.msdn.microsoft.com/astebner/2015/11/16/why-windows-installer-removes-files-during-a-major-upgrade-if-they-go-backwards-in-version-numbers/

So the file version is embedded in the SDL2.dll itself. The one included in 2.77a has version 2.0.4.0, the one included in 2.78 has 2.0.3.0. This can be verified by simply right clicking on the file and looking at Properties > Details.

@LazyDodo (LazyDodo), I guess you might have more insight in how the SDL2.dll could have ended up with a lower version? The solution may be to rebuild SDL, ensuring it's using version 2.0.4.0 or higher?

This MSI behavior makes no sense to me, but from reading various online sources it seems that this is just how it works. To prevent this in the future I guess we would always have to test installing over an old version, though it would be nice if we had a more automatic way of catching this.

According to svn log, the last update to SDL in svn was in 2014 when it got bumped to 2.0.3.0, The only way 2.77a had 2.0.4.0 is if @Martijn Berger (juicyfruit) build the previous installer with a tainted svn repo.

Seems silly to upgrade a library just to get around a wonky installer issue, but say the word and i'll update svn to 2.0.4.0

I suggest to just upgrade, I don't have a better solution.

Ok, I think we need a new installer with just this fix? Or we could wait for 2.78a, but personally would rather see this fixed as soon as possible.

+1 for a new installer . I'm glad you figured this out @Brecht Van Lommel (brecht) !

Issuing a new installer with the same version number, while a solution for this problem, will open up another can of worms (see T49200) It's probably better that we fix this in 2.78a

Sergey Sharybin (sergey) triaged this task as Normal priority.
LazyDodo (LazyDodo) closed this task as Resolved.Dec 1 2016, 2:34 AM

Resolved in 2.78a