Support launch external setup process with dotnet
Support launch external setup process with dotnet

The original logic tried to run the dll directly which did
not work. Now a check is made to see if the .exe is
available and that is run if it is available. Then a check
is made to see if there is a native build of the exe
available. Finally the code falls back to running the dll
with dotnet.

mono/mono-addins,mono/mono-addins