C# how to register assembly in the GAC without GacUtil?
GacUtil is not installed with a framework install only with an SDK install - so you couldn't guarantee it would be on the box you're installing on.
This won't work within your batch file but if you have developed the application yourself you can use the GacInstall method described below:
http://msdn.microsoft.com/en-us/library/system.enterpriseservices.internal.publish.gacinstall.aspx
Alternatively I'd recommend producing an msi file to deploy the application. Tutorial here:
http://www.dreamincode.net/forums/topic/58021-deploying-a-c%23-application-visual-studio-setup-project/
It would be an inadvisable solution to include a copy of GacUtil.exe in your distribution because it comes under a different licence and you probably aren't licenced to redistribute it
Your bestbet is to use a powershell script that wraps Publish.GacInstall, such as this one
You may install a dll into the GAC (global assembly cache) by doing the following
[Reflection.Assembly]::LoadWithPartialName("System.EnterpriseServices") | Out-Null
[System.EnterpriseServices.Internal.Publish] $publish = new-object System.EnterpriseServices.Internal.Publish
$publish.GacInstall(<<FullFilePathToTheDll>>)
This has to do very little with native PowerShell but rather with instantiating and using .NET libraries from PowerShell
Do a iisreset
.
Source