You could create a scheduled task to run your app. But im guessing you want this to happen for users automatically?
well I have always used the answer in Tuntu's reply and found this the best way i have a included a vb example below
Imports Microsoft.Win32
Private Sub AddCurrentKey(ByVal name As String, ByVal path As String)
Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
key.SetValue(name, path)
End Sub
Private Sub RemoveCurrentKey(ByVal name As String)
Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
key.DeleteValue(name, False)
End Sub
you can then use to add the reg key
AddCurrentKey(System.Reflection.Assembly.GetEntryAssembly.FullName, System.Reflection.Assembly.GetEntryAssembly.Location)
and to remove it
RemoveCurrentKey(System.Reflection.Assembly.GetEntryAssembly.FullName, System.Reflection.Assembly.GetEntryAssembly.Location)
or
AddCurrentKey("Application Name", "Path to application")