我正在尝试使用ProvisionPackageForAllUsersAsync在计算机上为所有用户安装UWP软件包,但结果不一。有时,应用程序安装就很好。有时,有些用户获得更新,而有些则没有。
这是我的代码:
var packageManager = new PackageManager();
var stage = packageManager.StagePackageAsync(new Uri(appxPath), null);
while (stage.Status == Windows.Foundation.AsyncStatus.Started)
{
Thread.Sleep(100);
}
//check for error
var provision = packageManager.ProvisionPackageForAllUsersAsync(familyName);
while (provision.Status == Windows.Foundation.AsyncStatus.Started)
{
Thread.Sleep(100);
}
//check for error
文档指出,要提供软件包,必须满足以下要求。
C:\System Volume Information
)作为管理员,我有信心满足前两个要求,并且正在以无明显错误的代码分阶段安装软件包。
但是,我认为我没有达到第三个要求。 must be on the system volume
到底是什么意思?有没有办法以编程方式将应用程序包添加到系统卷?我是否只需要将appx文件复制到那里? Windows似乎不想允许对C:\System Volume Information
文件夹的任何访问。
我在做错什么,这导致我在尝试配置我的应用程序时看到这种不一致的部分成功?
答案 0 :(得分:0)
我不知道,但我认为“系统卷”是指安装 Windows 的磁盘或驱动器。通常它是 C:\ 但不要认为这是理所当然的。 Windows 可以安装在任何驱动器上,因此没有特别说明要将软件包复制到 C:\ 驱动器:
<块引用>要配置的应用包必须是暂存的,并且必须在 系统音量。
隐藏的系统卷信息是用于系统还原、内容索引服务等其他内容,而不是用于保存应用程序包。