Question

When I drag & drop a dll to the assembly folder on vista, I get the error "Access is denied: mydll.dll". How can I bypass the error message and add my dll to gac?

Was it helpful?

Solution

My guess would be that you have to do it as an administrator...try either disabling UAC, or using gacutil.exe to add your assembly.

OTHER TIPS

Use runas command to run gacutil as a user with local admin rights to register the dll to GAC.

You may not locate gacutil.exe in your windows folder while using vista. It's not included because of vista's "Logo Program blah blah" thing. Try to use windows installer to add your assemblies into gac. This is the recommended way.

And never forget this traditional ogrish proverb: "Bi siktir git cay koy".

You can do that with gacutil.exe. It is located in:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

It is only there though, if you installed the .NET SDK (not just the .Net Redistributible). But you can copy it from your developer machine.

The assembly (dll) also needs to be strongly named if it's going to reside in the GAC.

http://msdn.microsoft.com/en-us/library/wd40t7ad(VS.80).aspx

Using Command line, use the following steps:

Open Visual Studio Command Prompt

First open Visual Studio Command Prompt (For Visual Studio 2008 the path is Programs --> Visual Studio 2008 --> Visual Studio Tools --> Visual Studio 2008 Command Prompt ) All the files mentioned in the following steps will be created in the Visual Studio 2008 Command Prompt Path. In my case it is C:\Program Files\Microsoft Visual Studio 9.0\VC

  1. Generate a KeyFile sn -k keyPair.snk
  2. Get the MSIL for the assembly ildasm SomeAssembly.dll /out:SomeAssembly.il
  3. Rename the original assembly, just in case ren SomeAssembly.dll SomeAssembly.dll.orig
  4. Build a new assembly from the MSIL output and your KeyFile ilasm SomeAssembly.il /dll /key=keyPair.snk
  5. Install the DLL in to the GAC gacutil -i SomeAssembly.dll
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top