Visual Studio 2010 PFX代码签名

时间:2011-11-14 12:45:53

标签: visual-studio-2010 code-signing pfx signtool

如果之前被问到,我很抱歉。

使用Visual Studio 2010,我尝试使用pfx文件对程序集进行签名,以便在构建时执行与以下相同的工作:

signtool sign /f myKey.pfx /p password1 myDll.dll

我已将myKey.pfx设置为强名称密钥文件,并在项目属性中选中了“签署程序集” - >签名标签。

这是签名选项卡的功能,还是我尝试将其用于错误的内容。

我确信我错过了一些简单的东西是什么?

编辑:只是为了澄清,我正在寻找替代方案,只需添加一个Post-Build脚本来填充签名。

1 个答案:

答案 0 :(得分:0)

使用我的安装/部署项目的PreBuild事件中的VB脚本解决了我的项目的OBJ文件夹中的所有.DLL和.EXE文件,并运行了signtool命令(包括SDK的完整路径)

Sub ShowSubFolders(keyFile, fFolder)
    Set objFolder = objFSO.GetFolder(fFolder.Path)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
        If UCase(objFSO.GetExtensionName(objFile.name)) = "DLL" Or UCase(objFSO.GetExtensionName(objFile.name)) = "EXE" Then
            'Wscript.Echo objFile
            Dim objResult
            Set objShell = WScript.CreateObject("WScript.Shell")    
            objResult = objShell.Run("""C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool"" sign /f " & keyFile & " """ & objFile & """", 0, True)
        End If
    Next

    For Each Subfolder in fFolder.SubFolders
        Call ShowSubFolders(keyFile, Subfolder)
    Next
End Sub