SQL Server – the server was unable to initialize encryption because of a problem with a security library

“[..] The security library may be missing. Verify that security.dll exists on the system”

This is what appears in ERRORLOG when my SQL Server 2008 R2 setup failed to initialize after a new server install, and it happened almost simultaneously  on 2 similar environments: Windows Server 2016 Standard and Datacenter.

The next line is a bit more revealing: “TDSSNIClient initialization failed with error 0x139f, status code 0x80. Reason: Unable to initialize SSL support”, where the error thrown to the user was a bit more cryptic:

Error result: -2061893608
Result facility code: 1306
Result error code: 24
Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine
Sco: Attempting to open registry subkey
Sco: Attempting to open registry subkey Software\Microsoft\PCHealth\ErrorReporting\DW\Installed
Sco: Attempting to get registry value DW0201

The fix is relatively easy and it has to do with the TSL / SSL not being automatically enabled, so a touch of registry touch will be your friend.

Registry key to navigate to:


From the list of secure protocols offered you’re only interested in TLS 1.0 and SSL 3.0, both their entries will need to be set as:

  • Enabled = 1
  • DisabledByDefault = 0

VB6 IDE and program crash on Windows Server 2016

OK, year of grace 2018 welcomes 20 years since VB6 did it’s debut. It’s been heralded since then as one of the easiest and powerful programming languages, which odd many years later, in it’s legacy form, still runs  aplenty.

And legacy it is all right, in spite of MSFT recognizing it’s prolongued life span and agreeing publicly to provide the VB6 runtime and support it until 2026 (or around).

This past week I’ve been stung by such a legacy nifty VB6 app which was gloriously crashing on some Windows 10 systems, and regularly on Windows Server 2016 systems.

No matter if the app was rebuilt on Windows 10 or Server, it kept on crashing. VB6 IDE also wasn’t too happy.

Couple of days of digging slowly uncovered the solution:

  1. first of all make sure the following Visual C++ Redistributable libraries are all installed: 2005, 2008, 2010, 2012, 2013, 2015; for 64bit systems both 32bit and 64bit packages need to be present
  2. make sure the Data Prevention Execution (in short DEP) is set only for essential Windows programs and services; like this: Computer -> Properties -> Advanced system settings -> in Advanced tab go to Performance Settings -> Data Prevention Execution tab and make sure the radio button has the first option enabled



Job application – sometimes is a paradox

New tech job vacancy pops up on social media.

She decides to give it a go.

Employer belongs to some Air Space agency.

Clearances are a must.

The online form is worked through until it kicks her out due to not completing the ‘past employment with this company’ box.

Reason is ‘not a resident’!

No option is offered to restart the application.

But the job is too good to be forgotten, ‘just’ because the buggy web form decides to have a mind of it’s own.

A new email address is passed along and a new online form is started.

The happy-web-form-data-filling progresses a bit further.

Then the real questions appear, about real life tech-experiences, which she aims to knock real tight.

Decides to think it through, takes a break, and has to save the application done thus far.

But when Save option is chosen another kicker shows her time is up.. ‘not enough Clearances for this job’!

Now, now.. why would  such a buggy and hope-shattering web application form be put up at all? And why would anyone realistically hope they should be associated with this company at all!