I ran into this error while setting up CruiseControl.net
with SourceGear Vault
:
CryptographicException: Keyset does not exist
After seeing a LOT of solutions about setting access rights on the C:\Users\All Users\Microsoft\Crypto\RSA\MachineKeys
folder and using Certificates (none of it worked), I finally solved the issue myself.
This error may occurs when during the initial install of SourceGear Vault, in the "Choose IIS Process User" section, either 'Machine' or 'System' was selected.
To solve this issue, uninstall Vault (keep your Vault database) and reinstall Vault (use existing database). In the "Choose IIS Process User" section, select 'Custom' and select an appropriate user, with the correct system/domain rights.
To make it a little easier, here are the images of the dialogues you need to run through during the install:
Choose the IIS Process User
Browse for the User
In this example, they refer to a domain user, but the user selection dialog will allow you to select local users if you have no domain set up.