0

前に聞かれたらごめんなさい。

Visual Studio 2010を使用して、pfxファイルを使用してアセンブリに署名しようとしています。これにより、ビルド時に次と同じように機能します。

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

myKey.pfx[プロジェクトのプロパティ]->[署名]タブで[アセンブリに署名する]をオンにして、厳密な名前のキーファイルとして設定しました。

これは[署名]タブの機能ですか、それとも間違った目的で使用しようとしていますか。

私は何か簡単なものが欠けていると確信していますそれは何ですか?

編集:明確にするために、署名をシェル化するためにビルド後のスクリプトを追加する代わりの方法を探しています。

4

1 に答える 1

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
于 2011-11-20T07:23:45.093 に答える