【问题标题】:Problems in Code Sign代码符号中的问题
【发布时间】:2014-09-04 11:40:34
【问题描述】:

我在对我的 Visual Studio 项目进行代码签名时遇到了困难。我的 Visual Studio 解决方案中有多个项目。每个项目都在生成不同的程序集。我正在尝试为所有这些项目的输出制作安装程序。

我创建了一个用于对程序集进行签名的 BATCH 脚本。而且我能够成功签署我的项目的程序集。

我什至已经成功签署了 MSI 安装程序。

那么,我遇到了什么问题?

我面临的问题是,当我在 Visual Studio 中构建安装和部署项目时,安装中添加的程序集没有签名。虽然,我在构建设置项目之前成功地签署了它们。

我在这里发现了 2 篇关于 stackoverflow 的文章有类似的问题:How to sign installation files of a Visual Studio .msi Signed exe becomes unsigned after adding project output in setup package using visual studio 2008

但这也不适合我。在构建安装项目之前,我曾尝试签署项目的 OBJ 文件。但是,添加到项目中的程序集仍然没有签名。

所以,我投降了,想在这里提问。任何帮助将不胜感激。

谢谢

问候 阿曼

【问题讨论】:

  • 您何时签署程序集?重建安装和部署项目会导致所有引用项目的重建,我建议为每个项目(右键单击项目、属性、构建事件)设置一个构建后事件,该事件在构建后对程序集进行签名。
  • 我已经在构建后事件中添加了一个代码签名命令,并在项目属性的“运行构建后:”组合框中选择了“成功构建”。但是程序集仍然没有在安装程序中签名。 :(
  • 当我构建单个项目时,它们的程序集已成功签名,但当我构建安装项目时,则没有。

标签: c# .net visual-studio-2010 code-signing setup-project


【解决方案1】:

在设置和部署项目的文件系统页面中,我发现右键单击“来自...的主要输出”选择“输出”表明它使用 \obj\Debug\myfile.dll 中的 .dll 构建

更改构建后命令行后,它对我有用。把它改成这样:

 cscript "C:\signmyfile.vbs" "$(ProjectDir)\obj\$(ConfigurationName)\$(TargetFileName)"

其中 "C:\signmyfile.vbs" 是您的课程签名方法

编辑:在我使用 cscript 时将 .bat 更改为 .vbs

【讨论】:

  • 我在 C# 项目解决方案中使用批处理脚本,因此,我必须在脚本中使用关键字“call”更改“cscript”,它对我有用。 :) 非常感谢……在寻找问题的解决方案后我很累……你救了我的一天 :) 非常感谢……!
  • 我认为您需要删除 $(ProjectDir) 之后的“\”,因为它是自动插入的。您可能还需要包含构建平台。例如 `cscript "C:\signmyfile.vbs" "$(ProjectDir)obj\$(Platform)\$(ConfigurationName)\$(TargetFileName)"。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
相关资源
最近更新 更多