We have an existing codebase using the advapi32.dll calls for encrypting and decrypting out passwords and Licence files. It has been converted from VB6 to VB.Net, but we need to use it with C# now (we are now a C# shop so obviously it all needs to be converted because .Net wont let you use multiple languages in the same solution and C# is better </sarcasm>), and the question has been asked if we can stop referencing the advapi32.dll calls and use .Net instead.
Can anyone tell me if this is a good idea, bad idea, or just not going to be possible if we want to use the old licence files? The calls all seem to be vailable, but do they implement the same was as the older DLL's? Are there versioning issues if we use the DLL's or are they all standard from Win8 backwards? Do we need to deploy them as part of our package in case they are missing?