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

2024-03-17

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

那可能吗?如果是这样...怎么办?

问题澄清:2009年9月26日

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


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

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

请注意,此过程需要使用要升级的“单击一次”部署的精确副本来进行。

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

  1. 使用 mageui 打开 .exe.manifest(版本 3.5 或更高版本,假设使用 VS2010)
  2. 更改版本号

  3. 替换已修补的文件 注意:文件被重命名为文件名 .deploy Control.DLL 变为 control.DLL.Deploy

  4. 使用 PFX 文件签名并保存文件

在根路径中

  1. 使用 mageui 打开 .application 文件(版本 3.5 或更高版本)
  2. 更改版本号
  3. 更改所需的最低版本号
  4. 选择上面修改的exe.manifest
  5. 签名并保存文件

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ClickOnce 安装中仅更新一个 DLL? 的相关文章

  • AWS Lambda 中的“导入请求”没有层?

    我在 Python 3 9 中有一个 lambda 函数 它非常简单 只需发送一个帖子请求 过去几周效果很好 我已在 CloudFormation 中多次删除并重新创建堆栈 但没有出现任何问题 随机地 今天它开始抛出错误 errorMess

随机推荐