Estoy tratando de escribir un script de PowerShell que instalaría asp.net mvc 3 si aún no está instalado. ¿Cómo puedo verificar si una versión específica de asp.net mvc 3 está instalada?¿Cómo comprobar si asp.net mvc 3 está instalado?
Respuesta
creo que no se puede cambiar la ubicación de la carpeta de instalación, por lo que probablemente podría simplemente:
test-path "${Env:ProgramFiles(x86)}\Microsoft ASP.NET\ASP.NET MVC 3"
Otra forma (por desgracia un poco más lento) es para consultar WMI:
$res = Get-WmiObject Win32_Product | Where {$_.Name -match 'ASP\.NET MVC 3'}
if ($res -ne $null) { ... }
Me puse curioso e hice una clase Win32_AddRemovePrograms http://poshcode.org/2470 ... que funciona, pero sinceramente, no necesita eso para verificar un producto específico, solo puede buscar el ID de ese producto en el registro.
test-path "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}"
Donde {DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA} es el identificador de producto para Asp.net MVC 3. Se podría corroborar asegurarse comprobando el nombre para mostrar que:
(Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}" DisplayName).DisplayName -eq "Microsoft ASP.NET MVC 3"
Y {D32EF103-4016-4C15-BCB0-700C0A7A2309} para la actualización de seguridad MVC 3. –
- 1. Cómo comprobar si Facebook está instalado Android
- 2. ¿Cómo comprobar si Suhosin está instalado?
- 3. ¿Cómo comprobar si está correctamente instalado mongodb
- 4. Cómo comprobar si .Net Framework está instalado [C#/WPF]
- 5. Cómo comprobar si Git está instalado desde .bashrc
- 6. ¿Cómo comprobar si php-fpm está instalado y ejecutándose correctamente?
- 7. Cómo detectar si numpy está instalado
- 8. mejor método para comprobar si IonCube cargador está instalado
- 9. Comprobar que Adobe Reader está instalado (C#)?
- 10. ¿Cómo redirigir fácilmente si no está autenticado en MVC 3?
- 11. ASP.NET MVC 3 Proyecto no se compilará en la construcción de servidor con ASP.NET MVC 3 instalado
- 12. Verificar si Solidworks está instalado?
- 13. Cómo comprobar en ASP.NET MVC Ver si el sitio se está ejecutando en localhost o 127.0.0.1
- 14. ¿Comprueba si IIS está instalado o no?
- 15. ASP.NET MVC 3 personalizada Autorización
- 16. ASP.Net MVC 3 & System.Data.Entity?
- 17. Cómo determinar si VSTO 2010 Runtime está instalado?
- 18. ASP.NET MVC 3 Landing Page
- 19. PHP - ¿Cómo saber si X-Sendfile está disponible e instalado?
- 20. Está ASP.NET MVC 3 listo para aplicaciones comerciales
- 21. ACL en ASP.NET MVC 3
- 22. @ Html.ActionLink en ASP.NET MVC 3
- 23. ASP.NET MVC 3 Viewmodel Patrón
- 24. ASP.NET MVC 3, cómo hacer temas bien
- 25. ASP.NET MVC 3 books plans
- 26. ASP.NET MVC 3: ¿Qué dll necesita implementarse?
- 27. Compruebe si el cliente de SQL Server está instalado
- 28. 404 Error ASP.NET MVC 3
- 29. DropDownList en ASP.NET MVC 3
- 30. Determinar si el complemento InnoDB está instalado en MySQL
Recomiendo evitar el uso de Win32_Product. En primer lugar, es realmente, muy lento (esa consulta podría tomar minutos). En segundo lugar, * puede arruinar su sistema * porque la clase Win32_Product funciona al enumerar cada paquete MSI que está instalado, lo que da como resultado una reconfiguración y validación (y repara si la aplicación no es coherente con el MSI original) http://support.microsoft.com/kb/974524 – Jaykul
Sí, noté que, de hecho, era increíblemente lento. Es bueno saber sobre los posibles problemas. Aún así, parece que debería haber una forma de WMI para determinar esto. Confiar en las claves o caminos de registro parece un poco frágil. –