Bash 检查程序是否存在,如果不存在,请安装它
我正在用NSIS文件编写Jenkins构建。我需要一个脚本来检查设备上是否安装了某个程序,如果没有,它应该从installer文件夹安装.exe。我在安装文件夹中有安装程序工作所需的所有.exeBash 检查程序是否存在,如果不存在,请安装它,bash,shell,jenkins,nsis,Bash,Shell,Jenkins,Nsis,我正在用NSIS文件编写Jenkins构建。我需要一个脚本来检查设备上是否安装了某个程序,如果没有,它应该从installer文件夹安装.exe。我在安装文件夹中有安装程序工作所需的所有.exe 这应该很简单,但在这种情况下我感到困惑,在任何地方都找不到有关这方面的任何信息。我想您使用的是windows环境。您可以编写powershell脚本来检查它: Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninsta
这应该很简单,但在这种情况下我感到困惑,在任何地方都找不到有关这方面的任何信息。我想您使用的是windows环境。您可以编写powershell脚本来检查它:
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName | Select-String 'Microsoft Visual C\+\+'
这将列出所有安装的VisualC++重新分发表
在我的机器上看起来是这样的:@{DisplayName=Microsoft Visual C++ 2005 Redistributable (x64)}
@{DisplayName=Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219}
@{DisplayName=Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030}
@{DisplayName=Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161}
@{DisplayName=Microsoft Visual C++ 2005 Redistributable (x64)}
@{DisplayName=Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.17}
@{DisplayName=Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005}
@{DisplayName=Microsoft Visual C++ 2013 x64 Designtime - 12.0.21005}
@{DisplayName=Microsoft Visual C++ 2015 x64 Debug Runtime - 14.0.23506}
@{DisplayName=Microsoft Visual C++ 2015 x64 Minimum Runtime - 14.0.23506}
@{DisplayName=Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005}
@{DisplayName=Microsoft Visual C++ 2012 x64 Debug Runtime - 11.0.60610}
@{DisplayName=Microsoft Visual C++ 2005 Redistributable (x64)}
@{DisplayName=Microsoft Visual C++ 2015 x64 Additional Runtime - 14.0.23506}
@{DisplayName=Microsoft Visual C++ 2013 x64 Debug Runtime - 12.0.21005}
@{DisplayName=Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030}
因此,如果要检查的程序名为ProgramWithName
,只需使用:
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName | Select-String ProgramWithName
如果您想知道是否安装了SQL Server,请使用:
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName | Select-String 'Microsoft SQL Server 2014 Express'
这在我的机器上为您提供:
@{DisplayName=Microsoft SQL Server 2014 Express LocalDB }
但是,如果我想让脚本检查SQL是否已安装,如果不想让脚本运行文件夹中的.exe,该怎么办?但这个答案肯定会适用于我拥有的其他.exe。非常感谢。