A cross-platform .NET library to register programs to run at computer startup.
using RunOnStartup;
// Define a unique key - this string will identify your program to unregister later
const string UNIQUE_NAME = "cool-executable-42dad1492ea57616";
// Register an executable to run whenever the current user signs in
RunOnStartupManager.Instance.Register(UNIQUE_NAME, @"/path/to/executable", allUsers: false);
// To unregister:
RunOnStartupManager.Instance.Unregister(UNIQUE_NAME, allUsers: false);