.appxBundle无法修改注册表



我有一个简单的代码,在Windows启动时添加了我的应用程序。工作正常。

RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
rk.SetValue("my_app", Application.ExecutablePath);

然后,我将其与Windows应用程序包装项目打包,将其连接到Windows Store,选择"创建应用程序包" ..并获得结果.appxbundle。到目前为止很好。我在本地安装。(还安装生成的证书(.cer(,以便我可以安装它。(

我启动已安装的应用程序并单击运行上面代码的按钮,注册表什么都不会改变!它不会崩溃,我尝试了代码仔细。它只是默默地忽略它。

从Visual Studio运行它正常工作,注册表将更新。

实际上,我想要的只是在Windows启动时启动的应用程序,我对如何实现这一目标并不特别感兴趣,因此欢迎任何想法!


编辑:我忘了说最重要的话:它是Windows桌面,Windows Forms应用程序。它不是UWP应用程序,而是继承普通system.windows.forms.form的窗口,用x86编译。

Xavier提到了启动持久性扩展名,它是一个nuget软件包,但是当您拥有UWP应用程序时,它似乎使用。

实际上,我想要的只是在Windows启动时启动的应用程序,我对如何实现这一目标并不特别感兴趣,因此欢迎任何想法!

您需要为包装的UWP应用程序使用windows.startupTask扩展名。当用户登录Windows时,请参阅启动可执行文件。使用此扩展程序,您可以在用户登录时启动应用程序。

请注意:用户必须至少启动您的应用程序才能注册此启动任务。

最新更新