c# - net - instalar dll con gacutil
C#cómo registrar el ensamblaje en el GAC sin GacUtil? (4)
GacUtil no está instalado con una instalación de infraestructura solo con una instalación de SDK, por lo que no podría garantizar que esté en la caja en la que está instalando.
Esto no funcionará en su archivo por lotes, pero si usted mismo desarrolló la aplicación, puede usar el método GacInstall que se describe a continuación:
http://msdn.microsoft.com/en-us/library/system.enterpriseservices.internal.publish.gacinstall.aspx
Alternativamente, recomendaría producir un archivo msi para implementar la aplicación. Tutorial aquí:
http://www.dreamincode.net/forums/topic/58021-deploying-a-c%23-application-visual-studio-setup-project/
Sería una solución desaconsejable incluir una copia de GacUtil.exe en su distribución porque viene bajo una licencia diferente y probablemente no tenga licencia para redistribuirla.
Necesito registrar un ensamblado en el GAC usando el archivo por lotes. ¿Hay alguna manera de encontrar la ubicación de instalación de GacUtil.exe
o hay una forma de registrar el ensamblaje sin GacUtil?
Puede instalar un dll en el GAC (caché de ensamblaje global) haciendo lo siguiente
[Reflection.Assembly]::LoadWithPartialName("System.EnterpriseServices") | Out-Null
[System.EnterpriseServices.Internal.Publish] $publish = new-object System.EnterpriseServices.Internal.Publish
$publish.GacInstall(<<FullFilePathToTheDll>>)
Esto tiene que ver muy poco con PowerShell nativo, sino con crear instancias y utilizar bibliotecas .NET de PowerShell.
Haz un iisreset
.
Su mejor opción es usar un script de http://msdn.microsoft.com/en-us/library/system.enterpriseservices.internal.publish.gacinstall.aspx que envuelva http://msdn.microsoft.com/en-us/library/system.enterpriseservices.internal.publish.gacinstall.aspx , como este
Usé InnoSetup y creé una instalación que incluía mi ensamblaje.
La línea importante es como a continuación:
Source: "C:/Program Files (x86)/WinSCP/WinSCPnet.dll"; DestDir: "{app}"; StrongAssemblyName: "WinSCPnet, Version=1.3.7.7333, Culture=neutral, PublicKeyToken=2271ec4a3c56d0bf, ProcessorArchitecture=MSIL"; Flags: ignoreversion gacinstall uninsnosharedfileprompt