c# - .appxbundle 无法修改注册表
问题描述
我有这段简单的代码,添加我的应用程序以在 Windows 启动时运行。工作正常。
RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rk.SetValue("my_app", Application.ExecutablePath);
然后我将它与 Windows 应用程序打包项目打包,将其连接到 Windows 商店,选择“创建应用程序包..”并获得生成的 .appxbundle。到目前为止还好。我在本地安装它。(还安装生成的证书(.cer),所以我可以安装它。)
一旦我启动已安装的应用程序并单击运行上述代码的按钮,注册表中没有任何变化!它不会崩溃,我有一个 try..catch 代码。它只是默默地忽略它。
从 Visual Studio 运行它工作正常,注册表得到更新。
实际上,我想要的只是在 Windows 启动时启动应用程序,我对如何实现这一点并不是特别感兴趣,所以欢迎任何想法!
编辑:我忘了说最重要的东西:它是一个 Windows 桌面、Windows 窗体应用程序。它不是一个 UWP 应用,而是一个继承普通 System.Windows.Forms.Form 的窗口,用 x86 编译。
Xavier 提到了 StartupTask 扩展,它是一个 nuget 包,但它似乎在您拥有 UWP 应用程序时使用。
解决方案
实际上,我想要的只是在 Windows 启动时启动应用程序,我对如何实现这一点并不是特别感兴趣,所以欢迎任何想法!
你需要windows.startupTask
为打包的 UWP 应用使用扩展。请参阅用户登录 Windows 时启动可执行文件。使用此扩展程序,您可以在用户登录时启动您的应用程序。
请注意:用户必须至少启动一次您的应用程序才能注册此启动任务。
推荐阅读
- javascript - 删除所选文本中具有特定类的任何跨度
- android - 调试器没有在 livedata 观察者内的断点处中断?(附有 Gif)Android
- r - 如何在 R 中生成特定的设计矩阵?
- git - 将版本保存在 GitHub 中的某处
- javascript - 如何在不重复的情况下随机匹配同一个数组中的几个数据?
- java - Itemtouchhelper & ActionMode:如何组合多选和重新排列项目
- python - 从 python 导出格式良好的文本到 word doc
- elasticsearch - 匹配数组中只有一个字母的精确字符串
- python - Tkinter 全局变量/.get()
- javascript - 有没有办法通过firebase google auth获取用户位置信息?