Sql server 用于标识客户端系统上安装的SQL Server实例的Inno脚本,如果已安装实例,则跳过安装

Sql server 用于标识客户端系统上安装的SQL Server实例的Inno脚本,如果已安装实例,则跳过安装,sql-server,inno-setup,Sql Server,Inno Setup,我正在使用inno脚本创建一个包,并希望在客户端计算机上安装SQL ServerSQLEXPR\u x64\u ENU。我需要确定目标系统上已安装的SQL Server实例(MSSQL$MYSQL和MSSQLSERVER)的代码。如果实例已安装,则脚本应跳过再次安装实例 我正在使用下面的shell脚本查找实例并通过批处理文件调用它,但它不起作用 $server = $env:computername $object = Get-WmiObject win32_service -Comput

我正在使用inno脚本创建一个包,并希望在客户端计算机上安装SQL Server
SQLEXPR\u x64\u ENU
。我需要确定目标系统上已安装的SQL Server实例(
MSSQL$MYSQL
MSSQLSERVER
)的代码。如果实例已安装,则脚本应跳过再次安装实例

我正在使用下面的shell脚本查找实例并通过批处理文件调用它,但它不起作用

$server = $env:computername  

$object = Get-WmiObject win32_service -ComputerName $server  | where {($_.name -like "MSSQL$*" -or $_.name -like "MSSQLSERVER" -or $_.name -like "SQL Server (*") -and $_.name -notlike "*helper*" -and $_.name -notlike "*Launcher*"}

if ($object)
{
    echo " One OR More Instances running..."

    $instInfo= $object |select Name,StartMode,State, Status 
}
else
{
    Start-Process -FilePath "C:\sql\SQLEXPR_x64_ENU.exe"

    echo " No SQL Instances running..."
}
是否有任何Inno脚本可以找到已安装的SQL Server实例数