我有一个Windows应用商店的桌面应用程式与我尝试写入,以便以下模式注册表有我的应用程序自动启动,每当用户登录:
// The path to the key where Windows looks for startup applications
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
// Add the value in the registry so that the application runs at startup
rkApp.SetValue("MyApp", Application.ExecutablePath.ToString());
这正好不向用户显示任何错误。关键是没有写入到注册表中。我通过侧面加载包进行测试。如果我与应用程序的实际的可执行测试它的工作原理确定。
任何提示?
注:使用桌面桥技术的桌面应用程序不会转换为UWP。它被出版了fullTrust能力。
编辑:正如下面的状态接受的答案 - 这个特定问题的解决方案 - 让Windows上运行的应用程序启动是创建启动任务。对于这方面的例子可以在这里找到:
https://github.com/qmatteoq/DesktopBridge/tree/master/Extras/StartupTask
如果我理解你正在写的钥匙,你真正想要的是在启动时启动应用程序的方式。您可以通过添加对windows.StartupTask扩展支持这样做的UWP应用程序和桌面应用程序桥。
请访问以下链接:
这是由设计,打包的应用程序。写操作不会转到全局注册表,但当地的一个特定于应用程序和用户。
如果你读操作,你写你的注册表后,你将得到正确的值,但其他应用/系统中的进程将不会看到你对注册表的更改。
这样做的细节记录在这里:https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-behind-the-scenes#registry