2011-04-06 61 views
17

Quiero que un administrador registre algunas DLL para mí, pero probablemente prefiera no instalar todo el SDK.¿Puedo descargar e instalar gacutil.exe sin tener que instalar VS o el SDK?

¿Puede simplemente instalar gacutil.exe? Si es así, ¿dónde puede obtenerlo? ¿Acabo de enviarle un correo electrónico al archivo gacutil.exe, y dónde tiene que ponerlo en su máquina para usarlo?

+3

Él no puede . No puede redistribuirlo, prohibido por la licencia. Envíele un quickie Setup.exe. –

+1

Gracias Hans. Después de continuar mi investigación, descubrí que la forma oficial de mejores prácticas es hacer que un instalador de Windows lo haga. Así que eso es lo que hice, creé un proyecto de configuración simple y todo lo que hace es instalar los ensamblajes en el GAC. ¿Es esta la forma correcta de hacerlo? ¿Alguna otra sugerencia/sugerencia/sugerencia? – richard

+0

Derecha, el rápido Setup.exe. Pruébalo. –

Respuesta

4

Según el comentario de Hans sobre mi pregunta, va en contra de la licencia. Lo mejor que se puede hacer aquí es crear un setup.exe rápido o msi que instalará los archivos en el GAC, lo cual he hecho.

2

También una alternativa es simplemente arrastrar y soltar manualmente la DLL en c: \ windows \ assembly.

para .NET 4, creo que la carpeta de montaje es C: \ Windows \ microsoft.net \ assembly - aunque no he probado una simple adición xcopy de esta manera en .NET 4.

+0

¿No tiene que registrarlo en el registro de Windows? – crush

+0

@crush Registro de Windows no requerido en mis pruebas ("Works on My Machine" ™) – jeffreypriebe

+0

No funcionó para mí hasta que usé gacutil.exe para "instalarlo". – crush

17

llegué Está trabajando copiando gacutil.exe, gacutil.exe.config y gacutlrc.dll. Entiendo que va contra la licencia, pero no se puede instalar InstallShield en VisualStudio Express, así que esta era la solución más simple.

2

vieja pregunta, pero en un apuro en un equipo que no tiene instalado el SDK, siempre y cuando PowerShell está disponible, puede hacer esto:

#Note that you should be running PowerShell as an Administrator 
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")    
$publish = New-Object System.EnterpriseServices.Internal.Publish    
$publish.GacInstall("C:\Path\To\DLL.dll") 

De https://www.andrewcbancroft.com/2015/12/16/using-powershell-to-install-a-dll-into-the-gac/

Cuestiones relacionadas