Hello everyone, I'm new to C# so please bare with me. I've not done any programming before and just decided to take this little task on myself since a friend of mine said it was a relatively easy project to do in Visual Basic. I've learned a lot over the past week thanks to this and the "Search" function and Google.
So, my work uses a VPN for me to be able to remotely log in whenever I need to. However the configuration changes frequently. So, instead of downloading a file every day and overwriting the existing configuration file manually I wanted it to be automated.
So far, here's what I have:
static void Main(string args)
Uri uri = new Uri("https://myupdatedconfigfile.com");
string filename = @"C:\Program Files\OpenVPN\config";
Process pname = Process.GetProcessesByName("OpenVPN");
if (pname.Length == 1)
//string processName = "OpenVPN";
foreach (Process proc in Process.GetProcessesByName("OpenVPN"))
WebClient wc = new WebClient();
So, I want the program to accomplish several things.
If the OpenVPN process is already running I want it to close it.
I want it to identify and delete the old config file to ensure it is completely removed.
Download the most current Config file for OpenVPN and then end application.
However, when I debug this program I get a WebClient was unable to initialize type error. Am I missing a step completely? Did I not include a specific "using System"?
Any and all help you can provide me with would be very much appreciated.
Since the URL "https://myupdatedconfigfile.com" indicates SSL, you should check with the web master to see if the server requires your web client to send credentials (some do - and that is really what the exception is indicating). If it is the case that the server requires credentials, you need to find out if it requires a client cert (likely if you VPN using a CAC card) or something else.
Once you have the particulars of what the server requires to allow you to establish a connection, you'll need to google how to present that type of credentials using the WebClient.