【发布时间】:2018-06-11 22:58:44
【问题描述】:
我是编程新手,在尝试使用 Click once 发布我的 winform 应用程序时遇到错误。我得到的错误是
" 在此操作期间检测到以下错误。 System.Deployment.Application.InvalidDeploymentException (SignatureValidation) - 强名称签名对此程序集 MetroFramework.dll 无效。 "
现在在创建我的项目时,我无法更改 Metro 控件的某些颜色和字体,因此我更改了 DLL 以更改默认颜色。我认为这是造成问题的原因?
使用 click once 的全部目的是让“自动更新”功能到位。以前我使用的是安装项目,我们公司的最终用户会去共享网络驱动器并重新安装应用程序每次更新。我希望实现一次点击,以便我可以让应用程序自动更新,并限制最终用户使用旧版本的应用程序。
我真的不认为我会以我的知识水平解决这个问题,尽管我做了多少次搜索..
我想澄清一下我同时遇到的情况:
我的应用程序供同事使用并连接到我们的主数据库。我能够通过添加和构建“安装项目”成功部署该项目。这使我可以制作 MSI 并创建图标等。我将安装文件放在最终用户可以找到并安装应用程序的网络驱动器中。
从头到尾一切都很棒,除了我处理软件更新的方式。目前用户要求更改,我去更新应用程序并将新的设置文件放在网络驱动器中。这样做的问题是: 1) 不会自动通知用户有可用的更新 2)用户不需要更新软件..他们可以继续使用他们拥有的版本(这是不好的)。
所以我一直在寻找一种方法,以确保在最新版本可用时提示用户更新。沿着这条路走,我在搜索中发现我可以使用“单击一次”部署方法(而不是设置项目)来实现自动更新。
我的两个问题是: A) 我什至不知道这是否是实现上述目标的最佳方法。 B)当我尝试使用“单击一个”发布时,我可以发布,但之后我无法运行 setup exe。我收到 MetroFramework “强名称签名对此程序集 MetroFramework.dll 无效。”就像我提到的,我认为这可能是因为我更改了 DLL 以获得对字体的控制。但我什至不知道如何开始纠正这一点..
【问题讨论】:
标签: c# wpf winforms publish signature