如何用ClickOnce提供更新说明?

Str*_*ric 8 c# clickonce updates

我们有一个应用程序,我编写了很多年,现在我通过ClickOnce推送更新.该应用程序位于我们的主文件服务器上.但是每当我推出更新时,我都会被问到我改变了什么!有没有办法用ClickOnce提供个性化的更新说明,这将是用户友好的?例如,当用户启动他们的应用程序时,ClickOnce会询问"新版本是否可用.您要更新吗?",在下面我可以描述我已更新的内容?或者ClickOnce是不可能的?

Hir*_*ind 11

这是我如何做到的.我在我的启动代码中以Release模式调用此方法:

using System.Deployment.Application;
...

private void DisplayChangeLog()
{
    if (!ApplicationDeployment.IsNetworkDeployed)
        return;

    if (!ApplicationDeployment.CurrentDeployment.IsFirstRun)
        return;

    ThreadPool.QueueUserWorkItem(state =>
        Execute.OnUIThread(() => <Pop up window with latest changes> ));
}
Run Code Online (Sandbox Code Playgroud)

我知道这是不是正是你想要的,因为它显示在用户运行该应用程序的第一次,但之后他们已经安装了更新.在我们的环境中,用户无论是否更新都无法选择,因此没有什么区别.


Dav*_*ams 6

ClickOnce不可能作为标准配置.如果要向用户显示有关更改的消息,则需要自己实现.一种方法是禁用自动更新,然后以编程方式检查更新.然后,您可以使用该版本从XML文件或类似文件中获取更改并将其显示给用户.

或者,您可以只提供HTML格式的更改日志或可能更简单的更新日志.

例如,请参阅Stack Overflow问题查找recomendation以在ClickOnce应用程序中显示发行说明.

无论哪种方式,一般来说如果有更新,为什么用户不想要它?