gpt4 book ai didi

c# - ClickOnce 部署留下多个版本(是的,不止两个)

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

我有一个 ClickOnce将所有旧版本留在我的磁盘上的应用程序。这是一个经常更新的内部公司应用程序,因此这对于快速膨胀我们的备份大小来说是一场灾难。

根据文档和其他 Stack Overflow 问题,应该只将当前和以前的版本保留在磁盘上。然而,每次我部署项目和升级客户端时,我都会得到所有 EXE、DLL 和数据文件的另一个副本。我没有对应用程序进行任何更改,只是在 Visual Studio 中再次推送部署。

我该如何解决这个问题?

Windows 7 和 Windows XP 以及 64 位和 32 位 Windows 似乎都会出现此问题。

我已经对安装版本的文件夹进行了比较,发现以下文件不同:

MyApp.exe.manifest
MyApp.exe.cdf-ms
MyDll1.cdf-ms
MyDll2.cdf-ms

没有实际的可执行文件不同,MyApp.manifestMyDll1.manifest 等也没有不同

换一个怎么样。在运行时查找包含我的应用程序的其他文件夹并删除它们是否安全?这会破坏任何东西吗?

ClickOnce 只是一个明显的神秘黑匣子吗?

最佳答案

我想我终于弄明白了。由于一些未知的(坦率地说,这是 Not Acceptable )原因,如果新版本正在运行,则不会发生旧版本的清理——它只是默默地失败。

清理尝试在旧版本退出时运行,但因为我重新启动了应用程序,新版本已经启动,阻止了清理。

另请注意,其他答案中提到的“清道夫服务”似乎完全是捏造的。我没有找到任何此类服务的文档,也没有找到它运行的任何证据。作为 clickonce 更新过程的一部分,清理似乎是内联发生的。

关于c# - ClickOnce 部署留下多个版本(是的,不止两个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2873522/

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