我有一个点击一次的应用程序,由于某些原因,我无法重新发布新版本。与此同时,我有一个dll将取代应用程序中的一个现有dll。是否可以直接进入Application Files文件夹并将其切换出来?点击中的dll似乎采用不同的格式,[file] .dll.deploy。我可以以某种方式将我拥有的dll转换为此格式并让它替换现有的吗?
答案 0 :(得分:2)
不,你不能只换出dll。 ClickOnce为正在部署的每个文件生成哈希。即使新文件具有相同的名称,它也不会包含在清单中的相同哈希值,也不会起作用。
我会在MageUI打开您的清单并尝试以这种方式更新。
如果不增加版本号,除非他们卸载/重新安装,否则没有人会获得新文件。是否有一个特殊原因你不能重新发布?
答案 1 :(得分:1)
我已经与它斗争了几天,它可以完成,但它很繁琐,使用此解决方案ClickOnce仍会扫描所有文件并显示进度条,但只下载并更新更改。
以下是我编写的应用此修补方法的过程...
请注意,此过程需要使用要升级的Click once部署的精确副本进行。
在Application Files文件夹中......
更改版本号
替换已修补的文件注意:文件使用文件名重命名.deploy例如。 Control.DLL成为control.DLL.Deploy
在根路径中
将.application复制到Application Files文件夹* 注意:此步骤并非严格必要,只是保持备份文件的相关性。
现在可以将清单文件和已修补的库复制到您的部署环境中。