Thursday, January 27, 2011

Register Multiple Assemblies to the GAC in Vista

I've got a whole directory of dll's I need to register to the GAC. I'd like to avoid registering each file explicitly- but it appears that gacutil has no "register directory" option. Anyone have a fast/simple solution?

  • GACUTIL doesn't register DLLs -- not in the "COM" sense. Unlike in COM, GACUTIL copies the file to an opaque directory under %SYSTEMROOT%\assembly and that's where they run from. It wouldn't make sense to ask GACUTIL "register a folder" (not that you can do that with RegSvr32 either).

    You can use a batch FOR command such as:

    FOR %a IN (C:\MyFolderWithAssemblies\*.dll) DO GACUTIL /i %a
    

    If you place that in a batch file, you must replace %a with %%a

  • Here is the script you would put into a batch file to register all of the files in the current directory with Gacutil. You don't need to put it in a batch file (you can just copy/paste it to a Command Prompt) to do it.

    FOR %1 IN (*) DO Gacutil /i %1
    

    Edit: Bah, sorry I was late. I didn't see the previous post when I posted mine.

0 comments:

Post a Comment