top of page
ecselesachan

Gacutil Exe On Windows Server: Steps to Use the GAC Utility for Development Purposes



A couple of ways exist to install a DLL into the Global Assembly Cache (GAC). Using gacutil.exe is one, but this comes as part of a Visual Studio installation, and in a server environment, you may not have the luxury of installing Visual Studio, just to get the utility installed.


If you have the .NET Framework SDK installed, you can access the GAC through windows explorer by opening C:\Windows\Assembly . The image below shows you how the GAC is displayed in Explorer using the extension.




How To Install Gacutil Exe On Windows Server




Since we are all too familiar to.NET versions prior to 4.0, GAC used to be in the c:\windows\assembly window and had a custom shell extension to flatten the directory structure into a list of assemblies. Like mentioned earlier, the shell extension is no longer used for .NET versions 4.0 and up. Since we have .NET 4.5 on server machines, its GAC is stored in c:\windows\microsoft.net\assembly. You just get to see the actual directory structure. Locating the assembly isn't that difficult, start in the GAC_MSIL directory and you should have no trouble locating your assembly there by its name. Locate the folder with the same display name as your assembly. It will have a subdirectory that has an unspeakable name that's based on the version and public key token, that subdirectory contains the DLL.


For that purpose you can use the gacutil.exe but this is not part of the standard installation. You have to install the Windows SDK. Once installed, then this utility is located in C:Program Files (x86)Microsoft SDKsWindowsv7.0ABin directory. You do not need to install the SDK on all the machines where you need to deploy the assembly. It is enough to copy the gacutil.exe and gacutil.exe.config files to the target machines and use it to install/un-install the assembly. You have to execute it from command prompt with administrative privileges, so in case of UAC enabled, you have to run the command prompt AS Administrator.


If you want to use the ISE also on Windows Server 2008, you have to enable that feature on the server first, as the PowerShell ISE is not installed and enabled by default on Windows Server 2008. So go to Server Manager, choose Add Features and add the PowerShell ISE Feature.


In order to run SMLets on a computer it must have some of the SCSM console DLLs installed. Anton Gritsenko wrote this great article about how to install these without the need to install the SCSM console. However, due to some of the changes made to Windows Server 2012 and 2012 R2, these steps will no longer work. The problem is you can no longer register DLLs by copying them to the assembly folder. You now have to use the gacutil.exe utility to registry them.


Typically, attackers first exploit a critical vulnerability in the hosted application for initial access before dropping a script web shell as the first stage payload. At a later point in time, the attackers then install an IIS backdoor to provide highly covert and persistent access to the server. Attackers can also install customized IIS modules to fit their purposes, as we observed in a campaign targeting Exchange servers between January and May 2022, as well as in our prior research on the custom IIS backdoors ScriptModule.dll and App_Web_logoimagehandler.ashx.b6031896.dll. Once registered with the target application, the backdoor can monitor incoming and outgoing requests and perform additional tasks, such as running remote commands or dumping credentials in the background as the user authenticates to the web application.


Register using gacutil.exe: Gacutil.exe is a Visual Studio shipped .NET GAC utility. The tool allows the user to view and manipulate the contents of the GAC, including installing new modules using the -I option.


I blogged about installing .Net Assemblies in GAC for Windows Server 2008 (Celtic Coding Linky), but for 2008 R2 it no longer works unless you change the Security Policy and re-boot the server (blogs.msdn.com).


This isn't really an option on a live server so I decided to use gacutil.exe. Yes I abortion pill safety know this is not supported in a live environment but it works and late term abortions when under tight deadlines it is a proper option.


3)Manually copy the App Fabric Classes folder to each server Sharepoint server. Then, on each server, run as Administrator a cmd prompt, change directory to where you copied the App Fabric classes folder and use gacutil.exe to place each .dll in the gacac (there are example in GACUTILExamples.txt that are untouched by Word auto formatting):


But we still have the problem in cloud , my project is deplyed in Azure server (DEV) and i should install gacutil and these file in the specified folder , and i tried to modify the main.cmd in Azure storage now :


Register using gacutil.exe: Gacutil.exe is a Visual Studio shipped .NET GAC utility. The tool allows the user to view and manipulate the contents of the GAC, including installing new modules using the -I option.


The Global Assembly Cache (GAC) is a Cache for globally available Assemblies. Most of the shared assemblies are installed inside GAC to shared across different applications. The Global Assembly Cache tool (Gacutil.exe) allow us to manipulate the contents of the global assembly cache along with install and un-install Assembly. During the development, we generally take help of gacutil from command prompt to install or uninstall assemblies into or from GAC. This is a repetitive process, every time you made some changes in your library you might need to deploy it into the GAC. Visual Studio has a nice feature called Pre-Build and Post-Build events. Using these events we execute some specific commands before or after the build. In this post I am going to show you how we can configure the post build event to deploy an Assembly to GAC.


I am new to SharePoint and I am using SharePoint 2013. I have installed the SharePoint server 2013 on one server and I want to create web parts from vs 2010. But my vs 2010 is present on different pc and I am getting the below error.


------------------------------------------This is where I got thrown a curve ball, i'm assuming that everything I need will be installed on the webserver, however this does not seem to be the case.A few notes :The directions here are accurate, however a bit misleading: -ajax/moss-deploying-radcontrols.htmlWhat is misleading about these is the directions shown indicate a Share Point server, in my case I'm not using Share Point. Also what is misleading is Visual Studio is not installed on my webserver. Also: The drag and drop feature for installation of GAC is not available in .Net 4.0, you must use the GACUTIL.exe from either the SDK or VS. The correct directory for .Net4.0 GAC is "C:\Windows\Microsoft.NET\assembly"Instructions (Part 2):


And that fixed all the problems for me!What seemed to be the issue for the .net 4.0 GAC is installer only seemed to install Telerik.Web.Design in the .net4.0 GAC "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Telerik.Web.Design"I had to manually install ""C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Telerik.Web.UI".Is this designed or a bug or a windows issue? I chose to install all the aspx dlls (which included reporting) and they did install under the 2.0/3.5 GAC "C:\Windows\assembly".However, the .Net 4.0 only installed the Telerik.Web.Design. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page