You can use C# and just put the .NET runtime redistributable with it if you want someone else to use your software. Also, if people have their computer updated then the .NET runtime will already be on there. The main thing is if you use Visual C#(microsoft) then they will also need the Visual C# runtime.