MicrosoftWindowsPdc Resources
MicrosoftWindowsProcessorAggregatorEvents Resources
MicrosoftWindowsSleepStudyEvents Resources
MicrosoftWindowsStorageTieringEvents Resources
MicrosoftWindowsSystemEvents Resources
Microsoft® Account Token Provider
Microsoft Windows BITS Managed Library
Microsoft.BitLocker.Structures
Microsoft.Build.Framework.dll
Dia based SymReader
Microsoft Managed DirectX Helper Classes Debug
Microsoft Managed AudioVideoPlayback
Microsoft Managed DirectX Diagnostics
Microsoft Managed Direct3D Debug
Microsoft Managed DirectInput
Microsoft Managed DirectPlay
Microsoft Managed DirectSound
DismCmdlets
Microsoft Tablet PC API
Microsoft.JScript.dll
Microsoft.Management.Infrastructure.Native.Unmanaged.dll
Microsoft.Office.Interop.Excel
Microsoft.Office.Interop.Visio
Enterprise Library Shared Library
Microsoft.SqlServer.Diagnostics.STrace
Visual Basic Runtime Library
Microsoft.VisualBasic.Vsa.dll
Microsoft® Visual C++ Metadata
Microsoft.Vsa.dll
Microsoft.Vsa.Vb.CodeDOMProcessor.dll
AppBackgroundTaskCmdlets
NetworkSecurityCmdlets
5.1.50918.0
5.1.40728.0
Embarcadero MIDAS Component Package
Microsoft MIDI Mapper
MIFSystemUtility
Migration Engine Core
Quando se obtém uma janela de erro do sistema dizendo que falta um ficheiro DLL, surgem as seguintes questões: qual é o seu objectivo
Os ficheiros DLL têm um propósito fundamental, reduzir o código e aumentar o desempenho do computador. Um ficheiro DLL é uma biblioteca dinâmica que é utilizada por todas as aplicações
Podem ocorrer erros num PC Windows que esteja associado a ficheiros DLL. Estes erros impedem o utilizador de executar os seus programas requeridos. As mensagens de erro começam a aparecer no ecrã, especificando exactamente que ficheiro .DLL está em falta. O problema pode ser resolvido encontrando o ficheiro específico e colocando-o no directório do sistema
Os ficheiros DLL são considerados na maioria das operações de utilização como sendo o principal factor de erros quando o Windows arranca e corre. Um ficheiro DLL não precisa de ser editado porque pode causar novos problemas que irão afectar muitos programas com outros ficheiros DLL
Os códigos numa DLL são considerados como partilhados pelos processos que necessitam da DLL (os ficheiros estão na memória física)
Versões mais antigas do Windows, onde cada processo em execução tinha uma extensa área de tarefas, exigia uma cópia do código DLL.
Por exemplo, programas específicos de uma DLL carregada não têm estes endereços numa base livre. Então é necessário fazer outra cópia do código da DLL com uma base de um conjunto único de coeficientes de entrada relocalizáveis. Se a memória física precisar de ser restaurada, o código da partição ocupada é reiniciado juntamente com o conteúdo, e é feita uma rápida recarga a partir do ficheiro DLL. Além disso, o GDI carrega todos os outros drivers de dispositivos, pelo que o Windows começa a carregar o resto dos pacotes do Windows, chamando a estes programas API de USER/GDI
Devido a isto, o ficheiro DLL transporta muitos utilitários de uma só vez. Com actualizações de DLL para uma versão moderna, a versão anterior é sobreescrita ou apagada do PC. Os controlos ActiveX, os registos do painel de controlo e os drivers de dispositivos são a base de dados para o Windows como bibliotecas de ligações dinâmicas
Existem várias formas comprovadas de lidar com problemas de DLL:
Os ficheiros executáveis relacionados podem ser carregados mais cedo se os executar em configurações semelhantes às que foram compiladas. Acrescentemos que cada alvo padrão do Windows tem ficheiros DLL associados
Uma grande alternativa para ligar a importação ao ambiente alvo é arrancar com uma instalação de utilitário. Mas um programa deste tipo altera o valor de verificação do executável. As versões posteriores do Windows já não têm o endereço de cada biblioteca carregada, o que leva a um executável muito mais pequeno
Muitas bibliotecas de ligação dinâmica têm um .DLL que termina nos seus ficheiros, mas outras bibliotecas utilizam .OCX, .CPL, .DRV. Os pacotes de definição, tais como UPX comprimem a DLL, o que leva a um problema: as secções de código de leitura e escrita não são separadas. Estas secções assemelham-se a partições não públicas porque são privadas dentro de cada processo
Como resultado, as DLLs com secções públicas devem necessariamente ser descomprimidas quando vários pacotes as utilizam simultaneamente. Cada instância do programa deve ter uma cópia privada das DLLs