Как проверить, установлен ли asp.net mvc 3? - PullRequest
6 голосов
/ 20 января 2011

Я пытаюсь написать скрипт powershell, который установил бы asp.net mvc 3, если он еще не установлен.Как проверить, установлена ​​ли конкретная версия asp.net mvc 3?

Ответы [ 3 ]

11 голосов
/ 20 января 2011

Я думаю, вы не можете изменить местоположение папки установки, поэтому вы можете просто:

test-path "${Env:ProgramFiles(x86)}\Microsoft ASP.NET\ASP.NET MVC 3"
3 голосов
/ 20 января 2011

Другой способ (к сожалению, немного более медленный) - запросить WMI:

$res = Get-WmiObject Win32_Product | Where {$_.Name -match 'ASP\.NET MVC 3'}
if ($res -ne $null) { ... }
2 голосов
/ 22 января 2011

Мне стало любопытно, и я создал класс Win32_AddRemovePrograms http://poshcode.org/2470 ..., который работает, но, честно говоря, вам не нужно проверять конкретный продукт, вы можете просто найти его идентификатор вregistry.

test-path "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}"

Где {DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA} является идентификатором продукта для Asp.net MVC 3. Чтобы убедиться в этом, дважды проверьте его отображаемое имя:

(Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}" DisplayName).DisplayName -eq "Microsoft ASP.NET MVC 3"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...