gpt4 book ai didi

clickonce - 自定义 clickonce 下载屏幕

转载 作者:行者123 更新时间:2023-12-01 13:40:27 29 4
gpt4 key购买 nike

众所周知,当我们双击已安装的 clickonce 应用程序时,会弹出一个“clickonce 屏幕”,上面写着“正在验证系统要求”。然后如果服务器中有更新版本,clickonce 更新本地安装的版本,并启动应用程序。有什么方法可以自定义整个过程。这并不意味着我想对安装/升级部分做些什么,我只是想改变整个事情的 GUI。像屏幕上显示“正在启动应用程序……”以及不确定的进度条之类的东西就可以了。该屏幕应该代替所有 clickonce 弹出窗口,但允许 clickonce 在后台执行实际操作。我的意思是那种闪屏,但它覆盖了 clickonce 屏幕的 GUI ...有什么建议吗???

最佳答案

可以通过使用 ApplicationDeployment 类以编程方式更新应用程序。但在这种情况下,您应该实现更新逻辑,根据问题,它可能简单也可能复杂。

如果您正在以编程方式检查和下载更新,您可以取消选中“发布”窗口中的更新选项,即应用程序不会被 ClickOnce 更新,并将执行您编写的所有更新逻辑。在代码中,您可以添加启动画面并同步更新,或者添加一些“动态”并使用 CheckForDetailedUpdate 方法提供的数据让用户知道更新的进度。

小样本:

    [STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

bool isUpdated = tryUpdateApplication();

if (isUpdated)
{
Application.Restart();
}
else
{
Application.Run(new MainForm());
}
}

static bool tryUpdateApplication()
{
bool result = false;

try
{
UpdateCheckInfo info = ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate();

if (info.UpdateAvailable)
{
//Show what you want to show
ApplicationDeployment.CurrentDeployment.Update();
//Hide what you showed
result = true;
}
}
catch (Exception ex) //better to catch the specific exceptions
{
//some exception handling logic
}

return result;
}

关于clickonce - 自定义 clickonce 下载屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9683740/

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