多年来人们对Windows操作系统的坏印象主要体现在几个方面。
1:几乎所有的应用程序都用到DLL。而这些DLL既有来自微软,也有来自其他提供商。一个应用程序执行着许多这样来自不同供应商提供的DLL,就不能100%确定那怕是一小片代码将如何执行,这将带来许多潜在的问题。但是从开发者的角度来说,这些交互是不应该产生问题的。因为每个应用程序在发布之前的经过了调试与测试。然而,用户出问题往往是因为,当一个公司试图更新其软件而为其更新相关文件时。这些更新文件假定应该是向前兼容的并且他们与其他与之有关联的文件应该是兼容的,但是谁又能确定呢。实际上当一个软件提供商更新了它的软件代码后。应该重新调试,测试使用这些更新代码的应用程序。以确保没有对其它的应用程序产生负作用。许多人都有这样的经历,当安装一个新应用程序后,你发现新安装的应用程序损坏了一个已安装应用程序。这就是所谓的“DLL Hell”。
2:在Windows操作系统的应用程序安装过于复杂。如今一个应用程序的安装往往会影响系统的很多不同部分。例如,一个新应用程序的安装往往会将许多文件拷到系统的不同部分,更新注册表,并且为显示在桌面的应用程序快捷方式创建捷径。包括开始菜单,快速启动栏。这个问题导致应用程序不在是一个单一的实体。这样当你想卸载这个应用程序时你就必须移出它的所有文件,同时该应用程序已注册在注册表中的不同键。更进一步来说,你不能简单的将一个已安装应用程序从一台机器移到另一台机器。你必须再一次执行安装程序。总之你不能卸载或移出应用程序这种糟糕的感觉就好像是这个应用程序始终潜伏在你的机器上。
3:安全方面的原因。当一个应用程序安装以后,从安装文件中提取出许多不同类型的文件。而这些文件来自不同的公司。特别的,对于一些基于Web的应用程序往往会通过网络下载代码,用户往往都未意识到这些代码被安装到他们的机器上,现在这些代码可以进行任何的操作,包括删除文件,发送电子邮件。用户有充分的理由担心这些应用程序会毁坏他们的系统。为了使用户使用得更安全,一个系统必须具备充分的安全性,从而使得用户可以自己决定允许那些公司的代码可以获取系统资源。