I agree that you need to provide us with more information about why it's not working.
My immediate guess is this:
You have to run your application with Admin rights to change the registry. It's not enough that your user account is an admin account.
You can do this by changing the program manifest: Right click your project in the solutions explorer, add new item and choose application manifest.
Open the manifest and change
<requestedexecutionlevel level="asInvoker" uiaccess="false" />
to
<requestedexecutionlevel level="requireAdministrator" uiaccess="false" />
Just my guess...
Another thing: I think you need a @ here:
Registry.SetValue(@"HKEY_CURRENT_USER\\Software\\ZSPL", "Asset", "AssetManager");