如何以编程方式卸载 Windows Store App (JS)

How to uninstall Windows Store App programmatically (JS)

我想为我的 windows 商店应用程序创建擦除功能,所以有什么方法可以在 JavaScript 中以编程方式卸载 Windows 商店应用程序?

没有。无论是 C# 还是 C++。

坦率地说,当用户可以从开始屏幕卸载应用程序时,我不明白为什么会需要它。

这是不可能的,因为用户应该始终处于控制之中。

正如其他人已经写过的那样,程序化卸载在设计上不适用于商店安装的应用程序。

也就是说,听起来您的问题背后的 意图 是您希望为您的用户提供一种保证方式,例如,任何个人信息都会从设备,也许还有云。幸运的是,由于应用程序本身是可以保存任何此类数据的代理,因此您还可以控制清除这些数据。这样做会使应用程序 return 恢复到首次安装时的状态。

清除您的应用数据意味着:

  • 删除本地和临时 appdata 文件夹中的所有文件。
  • 删除设置容器中的所有本地应用程序数据设置。
  • 清除您放入 Windows.Storage.AccessCache 的所有内容。
  • 清除您存储在 Windows.Storage.PasswordVault 中的所有信息。

我没有提到漫游应用程序数据文件和设置是有原因的。如果您使用漫游应用程序数据,即使用户设备上的所有应用程序实例都已卸载,该数据也会自动在云中保留一段时间。这是设计使然,因此如果用户碰巧卸载了 all 的所有实例,然后在大约一个月内重新安装,他们的设置和数据仍然存在。 (想象一下清理笔记本电脑和平板电脑以便出售它们,然后再买一些新的。)

这样做的结果是,如果你想保证数据被擦除,那就完全避免使用漫游应用程序数据。如果你想漫游,那么使用另一个你有更多控制权的云服务(例如 Azure 移动服务中的表)。这样您就可以根据用户的要求专门清除所有数据。

通过执行所有这些操作,您可以为用户提供一种清除所有内容的方法,只需卸载应用程序,让应用程序处于干净状态并保护所有敏感信息。

顺便说一句,您可能对我在 Windows 开发博客 http://blogs.windows.com/buildingapps/2014/06/19/common-questions-and-answers-about-files-and-app-data-part-1-app-data/, and also the talk I did at //build 2013 called "The Story of State," http://channel9.msdn.com/Events/Build/2013/3-9118.

上的博客 post 感兴趣