I went to install Virtual Radar Server on a new Kali install, to allow me to track planes using my SDR whilst out and about.

After installing mono, and unzipping the tarball, I was getting an error message similar to the one below

sudo mono VirtualRadar.exe
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319
[ERROR] FATAL UNHANDLED EXCEPTION: InterfaceFactory.ClassFactoryException: SQLiteConnectionStringBuilderWrapper does not implement ISQLiteConnectionStringBuilder
  at InterfaceFactory.ClassFactory.Register (System.Type interfaceType, System.Type implementationType) [0x0007c] in <e7f9741fc6724e21bf73e7be6f40a70f>:0
  at InterfaceFactory.ClassFactory.Register[TI,TM] () [0x00000] in <e7f9741fc6724e21bf73e7be6f40a70f>:0
  at VirtualRadar.SQLiteWrapper.Implementations.Register (InterfaceFactory.IClassFactory factory) [0x00006] in <73cd24fc8fbc4548ac2b4c93ac3e673c>:0
  at VirtualRadar.Program.Main (System.String[] args) [0x000c3] in <2307358f05d74dc0b22c62fa357d9680>:0

 

I knew I had faced this issue before, but could not remember how to fix it.  A quick search revealed the answer on the installation page:

https://www.virtualradarserver.co.uk/Mono.aspx

There is a link to a file which you need to download: VirtualRadar.exe.config.tar.gz, however I can never get this to unzip.

If you copy the following code to a new file called VirtualRadar.exe.config, and ensure that it is in the same folder as VirtualRadar.exe, it should work fine.

<?xml version="1.0"?>
<configuration>
    <configSections>
    </configSections>
    <startup>
        <supportedRuntime version="v2.0.50727"/>
    </startup>
    <runtime>
        <assemblyBinding  xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Mono.Data.Sqlite"
                                  publicKeyToken="0738eb9f132ed756"
                                  culture="neutral" />
                <bindingRedirect oldVersion="2.0.0.0"
                                 newVersion="4.0.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

You need to ensure that the case of VirtualRadar.exe (and the config file) match, and don't have any spaces at the end.