I had the code to perform it using the development simulator but it won't help you. However I did some search and I found this : IApplicationActivationManager::ActivateApplication in C#?
This looked very familiar because it is quite the same API as my simulator code. I haven't tested it but you should definitely give it a try.
One last thing you might struggle with is this "AppUserModelId" thing. Going through the registry manually is not something very easy. It becomes easier with that kind of code :
RegistryKey packageKey = Registry.ClassesRoot.OpenSubKey(@"ActivatableClasses\Package");
appKey = packageKey.OpenSubKey(packageKey.GetSubKeyNames().First(x => x.StartsWith(appName)));
var serverNameKey = appKey.OpenSubKey(@"ActivatableClassId\App");
var serverName = (string)serverNameKey.GetValue("Server");
var serverKey = appKey.OpenSubKey("Server\\" + serverName);
var AppUserModelId = (string)serverKey.GetValue("AppUserModelId");