gpt4 book ai didi

clickonce - 如何在 ClickOnce 安装中仅更新一个 DLL?

转载 作者:行者123 更新时间:2023-12-03 08:22:15 26 4
gpt4 key购买 nike

我正在开发一个大型的单击一次应用程序(150MB,>200 个 DLL),作为交互调试过程的一部分,我只想更新 1 个 DLL 并重新启动应用程序,而无需重新构建和重新部署整个应用程序。

那可能吗?如果是……怎么办?

问题澄清: 2009 年 9 月 26 日

我知道可以在客户端下载整个应用程序后手动修补 DLL,然后直接从本地缓存文件夹启动客户端 .EXE。这不是重点。我想知道如何在服务器上更改/添加 DLL 并让所有客户端在下次启动时获得新的 DLL。如果可能,我正在寻找“将 DLL 复制到此文件夹并编辑此文本文件”类型的答案。我特别不想在服务器上重建或重新部署单击一次安装...只需使用我在 IDE 中编译的单个 DLL 手动修补它。

最佳答案

我已经为此奋斗了几天,它可以完成,但很繁琐,使用此解决方案 ClickOnce 仍会扫描所有文件并显示进度条,但仅下载和更新更改。

这是我编写的应用此修补方法的过程...

请注意,此过程需要使用要升级的 Click once 部署的精确副本进行。

在应用程序文件文件夹中...

  • 使用 mageui 打开 .exe.manifest(假设 VS2010 为 3.5 或更高版本)
  • 更改版本号
  • 替换打过补丁的文件注意:文件被重命名为文件名 .deploy 例如Control.DLL 变成 control.DLL.Deploy
  • 使用 PFX 文件签名并保存文件

  • 在根路径中
  • 使用 mageui(3.5 或更高版本)打开 .application 文件
  • 更改版本号
  • 更改最低要求版本号
  • 选择上面修改的exe.manifest
  • 签署并保存文件

  • 将 .application 复制到 Application Files 文件夹*
    注意:这一步不是绝对必要的,只是保持备份文件的相关性。

    现在可以将 list 文件和修补库复制到您的部署环境。

    关于clickonce - 如何在 ClickOnce 安装中仅更新一个 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574713/

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