diff --git a/.github/workflows/cpp_extra.yml b/.github/workflows/cpp_extra.yml index 45f1c01a205e..a574e8b6244f 100644 --- a/.github/workflows/cpp_extra.yml +++ b/.github/workflows/cpp_extra.yml @@ -792,6 +792,25 @@ jobs: $dll = Join-Path $bin "arrow_flight_sql_odbc.dll" if (Test-Path $dll) { Write-Host "Found ODBC DLL: $dll" + + # Verify ODBC driver registration values + $key = "HKLM:\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" + $props = Get-ItemProperty $key + foreach ($name in "Driver", "Setup") { + Write-Host "$name = '$($props.$name)'" + if ($props.$name -ne $dll) { + Write-Error "Registry value '$name' should be '$dll'" + exit 1 + } + } + if ($props.DriverODBCVer -ne "03.00") { + Write-Error "Registry value 'DriverODBCVer' should be '03.00', got '$($props.DriverODBCVer)'" + exit 1 + } + if ($props.UsageCount -ne 1) { + Write-Error "Registry value 'UsageCount' should be 1, got '$($props.UsageCount)'" + exit 1 + } exit 0 } } diff --git a/cpp/src/arrow/flight/sql/odbc/install/windows/arrow-flight-sql-odbc.wxs b/cpp/src/arrow/flight/sql/odbc/install/windows/arrow-flight-sql-odbc.wxs index faf009b1ceff..ab0d394796c0 100644 --- a/cpp/src/arrow/flight/sql/odbc/install/windows/arrow-flight-sql-odbc.wxs +++ b/cpp/src/arrow/flight/sql/odbc/install/windows/arrow-flight-sql-odbc.wxs @@ -25,10 +25,10 @@ - + - - + +