Escape DLL Hell with the Chef Windows IIS Site Migration Accelerator

In order to migrate an application from one Windows Server Operating System to another, we have to be able to gather all of the dynamic-link libraries (“DLLs”). They could be in the bin for the application itself, they could be in the global assembly cache or the GAC, they could be in the system files, they could be in folders throughout the operating system. It’s hard to know where all of the DLLs are. 

The process of finding all of the DLLs in the .NET world has what has become commonly referred to as “DLL Hell”.  As defined by Wikipedia DLL Hell is “a term for the complications which arise when one works with dynamic-link libraries (DLLs) used with Microsoft Windows operating systems”. 

Image Source:

We see many customers with sites built upon Microsoft’s Internet Information Services (IIS), that are trying to migrate them off of Windows Server 2008/R2 before the January 14, 2020 End-of-Support deadline. Many of them are finding themselves in DLL Hell and have engaged Chef to help them escape their DLL Hell and get their applications migrated. This work led to the creation of the Chef Windows IIS Migration Accelerator. 

The Chef Windows IIS Site Migration Accelerator scans the dependency tree of an app and pulls together all of the DLLs so they can be recreated in their new home – dramatically cutting down the time spent doing manual DLL tracing and forensics.

Most recently we were able to help a Fortune 500 customer capture and package 75 sites, get them running, and have them pipelined in Azure DevOps in less than eight hours. Most were scanned and packaged in minutes. The accelerator also helped discover a misconfigured app, which was fixed and packaged in three hours.

How the Chef Windows IIS Site Migration Accelerator Works

The Chef Windows IIS Site Migration Accelerator scans your servers, identifies the sites running IIS and then generates Habitat plans to allow you to put those applications into a test environment and make sure everything is running correctly. 

The accelerator typically captures around 90% of the application leaving less than 10% that has to be manually identified. We have found that users can easily troubleshoot these exceptions once the dependencies have been extracted.

Once all dependencies have been remediated, the application is packaged using Chef Habitat so that it can then be consumed by whatever pipeline you’re using.  After it is packaged it doesn’t matter where it is run, it can be put on Windows Server 2012 R2, 2016, or 2019. As long as it is a Windows OS it will run. 

Next Steps

Now, you may think that this sounds too good to be true, but it is certainly a reality. See for yourself how easy it is to migrate IIS sites with Chef by watching the below video: “How the Chef Windows IIS Site Migration Accelerator Works”. 

Want to learn more about how the Accelerator can help you migrate those out of date applications, and rescue you from DLL Hell? Contact us for a demo.

Posted in:

Trevor Hess

Trevor Hess was a Partner Solution Architect at Chef Software.