我正在尝试编写一个powershell脚本,如果尚未安装,将安装asp.net mvc 3。如何检查是否安装了特定版本的asp.net mvc 3?
答案 0 :(得分:11)
我认为您无法更改安装文件夹的位置,因此您可能只是:
test-path "${Env:ProgramFiles(x86)}\Microsoft ASP.NET\ASP.NET MVC 3"
答案 1 :(得分:3)
另一种方式(遗憾的是速度相当慢)是查询WMI:
$res = Get-WmiObject Win32_Product | Where {$_.Name -match 'ASP\.NET MVC 3'}
if ($res -ne $null) { ... }
答案 2 :(得分:2)
我很好奇,并制作了一个Win32_AddRemovePrograms类http://poshcode.org/2470 ......这很有效,但说实话,您不需要检查特定产品,只需在注册表中查找该产品的ID即可
test-path "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}"
其中{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}是Asp.net MVC 3的产品ID。您可以通过检查显示名称来仔细检查以确保:
(Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA}" DisplayName).DisplayName -eq "Microsoft ASP.NET MVC 3"