gpt4 book ai didi

c# - 如何在客户端计算机上将 XBAP 更新到最新版本?

转载 作者:IT王子 更新时间:2023-10-29 04:31:39 24 4
gpt4 key购买 nike

我开发了一个嵌入在 ASP.NET 网页中的 XAML 浏览器应用程序 (XBAP)。我在获取最新版本的 XBAP 以在客户端计算机上更新时遇到问题。在开发过程中,我不得不使用 Mage.exe 工具清除应用程序缓存,以便在本地计算机上运行时可以看到我的更改。除了在命令行中执行 Mage.exe -cc 外,我还发现 rundll32 dfshim CleanOnlineAppCache 也能正常工作。

但是,我不想要求客户在命令行中运行任何命令。我需要做什么才能使 XBAP 在客户端计算机上自动更新?先前版本的 XBAP 继续运行,而不是在客户端计算机上刷新更新的 XBAP。

更新

我在这个问题上创建了一个赏金,因为我有同样的问题。根据我在网上阅读的内容,XBAP 应该将缓存的版本号与网络服务器上的版本号进行比较,如果不同则下载新版本。我已验证我的版本号不同,但缓存的副本仍然是我启动 XBAP 时正在运行的副本。

如果我在 asp.net 页面之外启动 XBAP,缓存的副本也会出现,尽管如果我更改 url 参数,我确实会得到新版本。

更新#2

我发现 XBAP 会在 XP 32 位机器上自动更新,但不会在我的 Windows 7 64 位机器上自动更新。

最佳答案

你可以尝试这样的事情,虽然我在 XAPs 而不是 XBAPs 中使用它它可能也适用于你:

(以下是片段)

public partial class App : Application
{
/// <summary>
/// Creates a new <see cref="App"/> instance.
/// </summary>
public App()
{
Application.Current.CheckAndDownloadUpdateAsync();
// rest of code

编辑

本来建议在发布之间增加版本号,但似乎已经解决了。这种行为是否发生在所有浏览器上?可能是一些特定于 IE 的错误/奇怪(我已经看到很多仅 IE 的不当行为......不会让我感到惊讶)

关于c# - 如何在客户端计算机上将 XBAP 更新到最新版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5912711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com