【问题标题】:Click once Winform App - Exception Strong name signature单击一次 Winform App - 异常强名称签名
【发布时间】: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


    【解决方案1】:

    您是否正在为使用 Click Once 制作安装程序而苦恼?您可以尝试在我过去做过的 Windows 窗体中制作一个。我为自动更新所做的是在我的网站上托管一个文件,应用程序每次都会下载该文件,当我发布更新时,我将文件内容更改为自动安装程序(即 WinForms)的位置,以便下载和运行。这对您来说可能是一个很好的解决方案。我对MetroFramework.dll 的体验不是很好,我最终放弃了使用它。 MetroFramework.dll 文件还必须与可执行文件位于同一目录中才能正常工作,这是在创建安装程序时要牢记的。希望我有所帮助:)

    【讨论】:

    • 感谢 ProudAviator 的反馈,这非常令人鼓舞,我非常感谢。我在上面重写了我的问题,希望它能澄清你的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多