Próbuję napisać skrypt PowerShell, który zainstaluje program asp.net mvc 3, jeśli nie jest jeszcze zainstalowany. Jak mogę sprawdzić, czy zainstalowana jest konkretna wersja asp.net mvc 3?Jak sprawdzić, czy jest zainstalowany program asp.net mvc 3?
Odpowiedz
Myślę, że nie można zmienić lokalizację folderu instalacyjnego, więc prawdopodobnie można po prostu:
test-path "${Env:ProgramFiles(x86)}\Microsoft ASP.NET\ASP.NET MVC 3"
Innym sposobem (niestety trochę wolniej) jest do kwerendy WMI:
$res = Get-WmiObject Win32_Product | Where {$_.Name -match 'ASP\.NET MVC 3'}
if ($res -ne $null) { ... }
Zainteresowałem się i stworzyłem klasę Win32_AddRemovePrograms http://poshcode.org/2470 ... która działa, ale szczerze mówiąc, nie potrzebujesz tego do sprawdzenia konkretnego produktu, możesz po prostu wyszukać identyfikator tego produktu w rejestrze.
test-path "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}"
Gdzie {DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA} jest identyfikator produktu dla ASP.NET MVC 3. Można dokładnie sprawdzić, aby upewnić się, sprawdzając nazwę wyświetlaną dla niego:
(Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}" DisplayName).DisplayName -eq "Microsoft ASP.NET MVC 3"
I {D32EF103-4016-4C15-BCB0-700C0A7A2309} dla aktualizacji zabezpieczeń MVC 3. –
- 1. Sprawdź, czy program jest zainstalowany
- 2. Jak sprawdzić, czy Suhosin jest zainstalowany?
- 3. Jak sprawdzić, czy moduł powershell jest zainstalowany?
- 4. Jak sprawdzić w C#, gdzie program jest zainstalowany
- 5. Jak ustalić, czy zainstalowany jest program wykonawczy VSTO 2010?
- 6. Jak sprawdzić, czy plik node.js jest zainstalowany czy nie
- 7. klient socket.io: jak ustalić, czy program obsługi jest już zainstalowany
- 8. sprawdzić, czy użytkownik jest zalogowany użytkownik kontroli ASP.NET MVC
- 9. asp.net mvc 3 pobierz wyjątek
- 10. Czy buforowanie pączków jest dostępne w ASP.NET MVC 3
- 11. Jak sprawdzić, czy jest zainstalowany dodatek .NET 3.5 SP1?
- 12. jak sprawdzić, czy jest zainstalowany mangusta (MongoDB) lub nie
- 13. Jak sprawdzić, czy komponent VBA pakietu Office jest zainstalowany?
- 14. Jak sprawdzić, czy cocoaPods jest zainstalowany w moim mac
- 15. Jak mogę sprawdzić, czy dany pakiet jest już zainstalowany?
- 16. Czy ASP.NET MVC musi być zainstalowany na moim serwerze produkcyjnym?
- 17. ASP.NET MVC 3 _Layout.cshtml Kontroler
- 18. ASP.NET MVC 3 Viewmodel Pattern
- 19. Czy zainstalowany jest Adobe Reader (C#)?
- 20. ASP.NET MVC 3 plany książek
- 21. Uwierzytelnianie użytkowników ASP.NET MVC 3
- 22. ACL w ASP.NET MVC 3
- 23. ASP.NET MVC 3 Generic DisplayTemplates
- 24. @ Html.ActionLink w ASP.NET MVC 3
- 25. ASP.NET MVC 3, jak robić motywy właściwe
- 26. Aktualizowanie ASP.NET MVC 3 projektu do ASP.NET MVC 4
- 27. Projekt ASP.NET MVC 3 nie będzie kompilowany na serwerze kompilacji z zainstalowanym programem ASP.NET MVC 3
- 28. Jak sprawdzić zainstalowany pakiet w WiX 3.0?
- 29. Jak mogę opcjonalnie wyrenderować sekcję w ASP.Net MVC 3?
Zdecydowanie zalecam unikanie używania Win32_Product. Po pierwsze, jest naprawdę, bardzo powolny (zapytanie może zająć kilka minut). Po drugie, * możesz zepsuć swój system *, ponieważ klasa Win32_Product działa poprzez wyliczenie każdego zainstalowanego pakietu MSI, co skutkuje rekonfiguracją i sprawdzeniem poprawności (i naprawą, jeśli aplikacja okaże się niezgodna z oryginalnym MSI) http://support.microsoft.com/kb/974524 – Jaykul
Tak, zauważyłem, że to było naprawdę niewiarygodnie powolne. Dobrze wiedzieć o potencjalnych problemach. Mimo to wydaje się, że powinien istnieć sposób WMI, aby to ustalić. Poleganie na kluczach lub ścieżkach reg wydaje się nieco kruche. –