Noone said anything about using SaveSetting or GetSetting. They have absolutely nothing to do with the Run registry key so they are no help whatsoever in this situation. Let me start again.

When you shutdown your app you will be testing whether the check box is checked, correct?

If it is checked then you open the Run key and use SetValue to place a value for your app in the regsitry, correct?

If it is not checked then you have to Open the Run key and call DeleteValue to remove the value for your application, correct?

Now, when you start your app you have to open the Run key and call GetValue to see if there is a value there for your app. If GetValue returns a value then you need to check your check box. If GetValue returns Nothing then there is no value there so you don't check the check box.