DLL Distribution

(On Windows)










RCOS 6/30/15
Robert Rouhani

SharpFont


  • FreeType2 wrapper
  • Need to distribute freetype dll

In the beginning...



There was the one and only msvcrt.dll

It was supposed to be forwards compatible

But Then...


Companies started hooking in to the C runtime internals

An update to msvcrt.dll would have broken widely-used applications.

Windows was built to be compatible.

DLL Hell

(is a place where you will go at the first sign of defiance)

In 2002, a new C runtime was released with the .NET framework

msvcrt70.dll

And with each new version of Visual Studio comes a new CRT

msvcrt71.dll
msvcrt80.dll
msvcrt90.dll
msvcrt100.dll
msvrct110.dll
msvcrt120.dll      <----(Visual Studio 2013)   

Redistributables



Redistributables


  • Can't guarantee users have it
  • Can't make users find it themselves
  • Can't copy in your msvcrtXXX.dll
  • Have to distribute an installer

Compatibility


  • Eventually new CRT won't work on old Windows
  • Old compilers get harder to install over time
  • Each extra compiler is 600+ MB

Solution


TODO: Add the rest of the presentation based off
the web browsing I was doing during actual presentation

DLL Distribution

By Robert Rouhani

DLL Distribution

  • 1,488