DotRas on Windows XP

Apr 12, 2013 at 8:03 AM

I started to play around with DotRas on Windows 7 and created an application based
on the C# WPF example in the MSI. Works great on Windows 7, but what do I need to
do to run the same app on Windows XP?

The app is compiled for .Net 4.0 and AnyCpu. The GUI starts up fine, click create and nothing
happens. No error, no crash.

All I did was to replace the dotras.dll and dotras.xml with the files located in the WinXP-Folder
of Dotras SDK. Is there a step I missed? And whats the recommended way to ship one app
for all Windows Version (from XP to 8)?


P.S.: Awesome project btw!
Apr 12, 2013 at 9:29 PM

So, how you plan on deploying your app really depends on what features you want to use out of RAS. If you need to support both Windows XP and IPv6 you'll need to work that out internally since the DLLs and how your app uses those features will most likely change your code (you might have a dialog that shows up for IPv6 support or something). The reason for this is IPv6 wasn't in Windows until Vista and the WIN2K8 flavor wouldn't work on a Windows XP machine.

If you only need features out of RAS that are available for Windows XP and later, you don't need to replace the assembly at all. The WINXP flavor will work on every operating system from Windows XP to Windows 8. If you're unsure which features you need to support check the Getting Started -> Choosing Your Build page for feature support.

As for what's going on with your application, I'd need to see something besides "nothing happens" to be of any help. Wouldn't know where to start!
Apr 13, 2013 at 7:08 AM

Sorry was in a hurry. The "nothing happens" problem was a WPF problem.

What I need from the library is to create L2TP connections with a preshared-secret, username, password and server address.
Can I still use the WINXP flavor on ipv6-capable windows versions for this?
Sure, my app has to verify the user does not enter ipv6-addresses on a Windows XP system.
Apr 13, 2013 at 5:54 PM
No worries, glad to hear it wasn't something wrong with DotRas.

As for the L2TP connections, yes you can use the WINXP flavor across all target machines from Windows XP and later. The IPv6 support was really options Microsoft added to RAS so that it could connect to remote systems that were using IPv6 addresses. You can pretty easily accomplish your IPv4 address validation by doing an IPAddress.Parse(string) on whatever data the user entered and making sure the AddressFamily property is an InterNetwork result.

Also, since you're using WPF for the user interface, you might want to check out the WPF example included with the SDK. There's a dispatcher based synchronizing object I threw together for handling the events that get raised on the background thread which may need to be marshaled back to the UI thread if you're using the events to update it.