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)
我知道这是不是正是你想要的,因为它显示在用户运行该应用程序的第一次,但之后他们已经安装了更新.在我们的环境中,用户无论是否更新都无法选择,因此没有什么区别.
ClickOnce不可能作为标准配置.如果要向用户显示有关更改的消息,则需要自己实现.一种方法是禁用自动更新,然后以编程方式检查更新.然后,您可以使用该版本从XML文件或类似文件中获取更改并将其显示给用户.
或者,您可以只提供HTML格式的更改日志或可能更简单的更新日志.
例如,请参阅Stack Overflow问题查找recomendation以在ClickOnce应用程序中显示发行说明.
无论哪种方式,一般来说如果有更新,为什么用户不想要它?