You are here: silicon.com > Management > IT Director

IT Director

Microsoft promises end to 'DLL hell'

Result: Fewer error messages

Tags: microsoft, dll, error

By Matt Loney

Published: 7 March 2003 11:54 GMT

Windows Server 2003 will bring an end to one of the biggest headaches for Windows users and administrators, according to Microsoft. The problem, which relates to Dynamic Link Libraries - software modules that can be shared by several different applications - has become an increasing headache over the years.

Problems typically occur when an application is installed that uses an updated version of a Dynamic Link Library - or DLL - that is already used by another application. If the original application cannot work with the updated DLL, then the user gets an error message; Windows and Windows applications have no notion of DLL version numbers, and so the problem can be difficult to track down.

Historically, components were shared because disk space and memory was expensive. In the past few years, hard disk and memory prices have dropped dramatically, and disk space is no longer a premium. But as applications have increased in size and in modularity - not so long ago many applications were entirely self-contained in a single .exe file - the DLL-sharing issue has not been addressed, and the problem has grown. Now Microsoft is hoping to end what has become known as DLL Hell by building into Windows Server 2003 a system that will stop updated DLLs installed by new applications from overwriting older versions of the same DLLs that may still be used by existing applications.

"This is a classic problem," said Ivo Salmre, .Net and developer tools and technology manager at Microsoft. "We have been beaten over the head about this for years now. You ship an application that uses component A. Someone else writes an application that also uses component A, but installs a newer version, and this breaks the first application."

Microsoft .Net 1.1, which will be integral to the new Windows Server 2003 operating systems, will support what the company calls strong binding, said Salmre. "Strong binding means an application or component can bind to a specific version of another component, so you can reuse components or use them in isolation."

.Net 1.1 will provide Windows Server 2003 operating systems with what Microsoft calls a Global Assembly Cache. This Cache is a repository for all the .Net components that are shared globally on a particular computer. "When a .Net component is installed onto the machine, the Global Assembly Cache looks at its version, its public key, its language information and creates a strong name for the component," said Salme. The component is then registered in the repository and indexed by its strong name, so there is - in theory at least - no confusion between different versions of the same component, or DLL.

Windows 2003 Server will also use rules to make sure that an application finds the right component (and version thereof). The system will first look for a local version of the component, and will then look in the cache to find an exact match for the strong name of the required component. Failing that, the system will use heuristics to find the next best component, but by default an application will always run against the component that it was built and tested against. Administrators will be able to override these rules for exceptional cases.

Another feature of Windows Server 2003 will be that .Net components will have no registration policy. "This means it will be easy to take a .Net component on server and copy to another server," he said. Microsoft is calling the feature xcopy deploy, after a command used in DOS to copy capability files, directories and even whole drives from one destination to another. "It is good for scaling out - it means you can copy applications instead of reinstalling them," said Salmre. "The whole process becomes much simpler."

Matt Loney writes for ZDNet UK

  1. Zones
  2. Management
  3. Networks
  4. Software
  5. IT Services
  6. Hardware
  1. Verticals
  2. Public Sector
  3. Financial Services
  4. Retail & Leisure

Peter Cochrane Peter Cochrane's Blog: Can I become faster and smarter? We could all use a little more help from our machines

Mark Crichard Doing business with citizen developers: Beware the legal pitfalls Legal Eye: Make sure your business is protected from potential hazards


  • Jobs
Felixstowe/Product Engineer/30K-32K/Hardware Component Design

Liaise with manufacturing sites regarding the assembly & test of new products Successful applicants will have experience in the following; + ...

FX Options Java Developer

I am looking for a solid severside Java Developer to join an IT Team developing a strategic component which provides a repository of derivative trade ...

Production Planner - Master Scheduler

Production Planner - Master Scheduler The successful candidate will be responsible for creating & maintaining resourced P6 schedules ('rough cut' and ...

Agenda Setters 2009
Welcome to the ninth annual Agenda Setters poll – silicon.com's list of the top 50 most influential individuals in the technology and IT industries, from techies and CIOs to entrepreneurs and business leaders. Find out more in our latest special report.





Quick Sitemap Links: