the start reconoce recognized not name must interno installing installed from first externo error descargar debugger como comando cannot c# powershell installutil pssnapin

start - C#Powershell snapin no se registra con installutil



installutil.exe error windows 10 (7)

¿Ejecutas installutil como un usuario elevado? Escribe información en porciones protegidas del registro. Si haces esto como un no administrador en Vista, puede producir resultados extraños.

Tengo un script de PowerShell muy simple (ver más abajo). Tengo installutil alias usando lo siguiente en mi perfil:

set-alias installutil $env:windir/Microsoft.NET/Framework/v2.0.50727/installutil

En PowerShell yo simplemente:

installutil assemplylocation.dll

Esto regresa exitosamente (Instalar / Confirmar ambos se completan con éxito). Sin embargo, cuando reviso el registro, o en PowerShell usando get-pssnapin -registered, no muestra mi ensamblado. Lo hice el otro día y funcionó bien, pero parece que no puedo duplicarlo ... por favor, avisen.

using System; using System.Management.Automation; using System.ComponentModel; namespace PSBook_2_1 { [RunInstaller(true)] public class PSBookChapter2MySnapIn : PSSnapIn { public PSBookChapter2MySnapIn() : base() { } // Name for the PowerShell snap-in. public override string Name { get { return "Wiley.PSProfessional.Chapter2"; } } // Vendor information for the PowerShell snap-in. public override string Vendor { get { return "Wiley"; } } // Description of the PowerShell snap-in public override string Description { get { return "This is a sample PowerShell snap-in"; } } } // Code to implement cmdlet Write-Hi [Cmdlet(VerbsCommunications.Write, "Hi")] public class SayHi : Cmdlet { protected override void ProcessRecord() { WriteObject("Hi, World!"); } } // Code to implement cmdlet Write-Hello [Cmdlet(VerbsCommunications.Write, "Hello")] public class SayHello : Cmdlet { protected override void ProcessRecord() { WriteObject("Hello, World!"); } }

}


Resulta que el problema era que tenía un cmdlet de 32 bits, pero solo estaba verificando la versión de 64 bits de powershell ...


ejecutar como administrador para ejecutar ps


El punto clave para mí aquí fue recordar que Visual Studio 2010 sigue siendo una aplicación de 32 bits, lo que significa que cuando utilicé el Símbolo del sistema, de manera predeterminada adopté la variante de 32 bits de InstallUtil. No es inmediatamente obvio en este caso que las claves de registro se escriben en el nodo Wow64-bit en lugar del registro propio de 64 bits.


La respuesta de downatone me puso en el camino correcto, pero mi problema fue al revés. Mi proyecto está configurado para cualquier CPU y estoy en Win7 x64, por lo que el powershell que se lanzó desde mi código y luego la instalación del dll con snapin fue de 64 bits. Sin embargo, el comando de instalación que utilicé apuntaba al tiempo de ejecución .net de 32 bits, es decir,

C:/Windows/Microsoft.net/Framework/V4.0.30319/installutil myDLL.dll

cuando debería haber sido

C:/Windows/Microsoft.net/Framework64/V4.0.30319/installutil myDLL.dll

Tenga en cuenta el 64 en la ruta del Marco.



Tuve el mismo problema: estaba intentando usar el comando

C:/Windows/Microsoft.net/Framework/V4.0.30319/installutil myDLL.dll

en lugar de

C:/Windows/Microsoft.net/Framework64/V4.0.30319/installutil myDLL.dll

mientras tenga un cmdlet de 64 bits (configuración del proyecto. Cualquier CPU) en el sistema operativo win2k8 x64.