Types of Windows Objects

Objects can either be Kernel objects or Executive objects. Kernel objects represents primitive resources such as physical devices, or services such as synchronization, which are required to implement any other type of OS service. Kernel objects are not exposed to user mode code, but are restricted to kernel code. Applications and services running outside the kernel use the Executive objects, which are exposed by the Windows Executive, along with its components such as the memory manager, scheduler and I/O subsystem.   Whenever an object is created or opened, a reference to the instance, called a handle, is created. Object Manager […]

Read more

Why do you see .exe.local files created on Windows?

In short, it’s a technique called Dynamic-Link Library (DLL) Redirection, where in to use DLL redirection, create a redirection file for your application. The redirection file must be named as follows: App_name.local. For example, if the application name is Editor.exe, the redirection file should be named Editor.exe.local. You must install the .local file in the application directory. You must also install the DLLs in the application directory.   More details from MS article: Applications can depend on a specific version of a shared DLL and start to fail if another application is installed with a newer or older version of […]

Read more

Global Assembly Cache or GAC

…is a machine-wide .NET assemblies cache for Microsoft‘s CLR platform. The approach of having a specially controlled central repository addresses the shared library concept and helps to avoid pitfalls of other solutions that lead to drawbacks like DLL hell. Assemblies residing in the GAC must adhere to a specific versioning scheme which allows for side-by-side execution of different code versions.   Viewing the structure of the GAC folder in Windows Explorer: start > run > cmd type : "cdwindowsassembly" type: "attrib -r -h -s desktop.ini" type: "ren desktop.ini desktop.bak" now open the GAC folder normally in your explorer, and you […]

Read more