>>You have to change you copy of Wincrypt.h to point to rsaenh.dll or change the one pointed to BASIC Crypto Provider to point to rsaenh.dll instead. And even then you must test that the copy encrypted in one OS iss able to be decrypted in other OS version as there are different versions of rsaenh.dll (PITA)
>>>>#DEFINE dsMS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0"
>>
>
>Just to make sure I understand, I should be able to set _CryptAPI.cProviderName to the MS Enhanced Provider without making any registry changes, right? This assumes that it (rsaenh.dll) is installed.
That should work, but you have to make sure the versions of rsaenh.dll are the same (DLL hell I'm afraid). Else you risk incompatibility (i.e. one encrytion cannot be decrypted somewhere else). You can check version number with AGetFileVersion()