.net - 使用 ClickOnce .NET 应用程序显示修订历史记录的机制

标签 .net clickonce history revision changelog

Possible Duplicate:
Looking for recomendation to show release notes in ClickOnce applications

我使用 ClickOnce 部署 .NET Winforms 应用程序,主要是为了轻松自动检测到软件更新。

目前,当发布新版本时,会通知用户有可用更新,但没有机制向他们显示此新更新中实际包含的内容。理想情况下,我想要一种简单的方法将其连接到我的错误跟踪系统(我们使用的是Redmine)。

现在我不致力于 ClickOnce,因此对其他允许轻松自动更新的替代方案持开放态度,但我真的很想让用户知道新软件更新中包含哪些类型的更改,并可能允许他们重新访问此内容帮助\新增功能菜单中的信息。

与 .NET 无关,但我发现 Adob​​eAir 似乎在这方面做得很好,并且 iTunes Apps 也有一种方法可以在升级之前显示更改的内容,ClickOnce 或其他 .NET 替代方案可以做到这一点吗?

谢谢!

最佳答案

我处理这个问题的方法是在部署中包含一个 html 页面;在此页面上,显示更新信息。然后,当您的应用程序运行时,检查并查看该文件是否存在,以及 ApplicationDeployment.IsFirstRun 是否为 true,如果是,则显示该页面。您也可以打开浏览器并显示在线页面(如果他们可以访问互联网)。

仅当用户在更新或安装 ClickOnce 应用程序后首次运行应用程序时,IsFirstRun 才为 true。您还需要在检查 IsFirstRun 之前检查 IsNetworkDeployed;这会检查它是否作为 ClickOnce 应用程序运行。如果您检查 IsFirstRun 并且它没有作为 C/O 应用程序运行,它将抛出异常。

     if (ApplicationDeployment.IsNetworkDeployed)
     {
        if (ApplicationDeployment.CurrentDeployment.IsFirstRun)
        {
           //Show the page if it exists
        }
     }

关于.net - 使用 ClickOnce .NET 应用程序显示修订历史记录的机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10524637/

相关文章:

c++ - CoCreateInstance : Create a COM instance defined in a . NET 库?

visual-studio-2010 - Bootstrap 包未显示在先决条件菜单中

java - Java 栈和递归

git - 从源代码中删除旧提交

perl - Perl调试器可以将ReadLine历史记录保存到文件中吗?

php - RijndaelManaged.CreateEncryptor key 扩展

.net - Redis 副本处理失败的连接字符串

.net - 并行GDI +图像调整大小.net

MSBuild 不尊重我的 ClickOnce 应用程序的 PublishUrl 属性

visual-studio-2012 - Visual Studio 2012 中缺少 Visual C++ 的先决条件