none
SignTool.exeで0x800700C1エラーが発生する RRS feed

  • 質問

  • 前回の下記の質問
    【ClickOnce】SetUp.exe内のアプリケーションのインストールURLの変更

    Setup.exeを更新するとデジタル署名が無効になります。
    その為、SignTool.exeを使ってデジタル署名を付与し直すのですが、0x800700C1エラーとなってしまいます。

    0x800700C1で調べると、エラーコード末尾のC1 (193)は、ERROR_BAD_EXE_FORMATで64bitで32bitのアプリケーション
    を動作させているからと出てきますが、使用しているPCは32bitのWindows 7です。

    また、デジタル署名の有効期限は2040年まであるため、有効期限切れではありません。

    よろしくお願いします。
    • 編集済み やじゅ 2014年4月3日 2:40 証明→署名の誤字修正
    2014年4月3日 1:32

回答

  • 自己解決しました。

    このブログ記事「signtool.exe returned error 0x800700C1」によると

    デジタル署名は無効になっているけどバイナリファイル内にはまだ残っている
    バイナリファイル内からデジタル署名を削除する必要がある。

    delcertと呼ばれる実行ファイルとソースコードが下記サイトに公開されている
    http://forum.xda-developers.com/showthread.php?p=2508061

    管理者権限のあるコマンドプロンプトを起動して、下記を実行することでデジタル署名が除去される。
    >delcert 対象実行ファイル

    この後でSignTool.exeを使うとデジタル署名が付与されることが出来ました。



    • 回答としてマーク やじゅ 2014年4月3日 1:45
    • 編集済み やじゅ 2014年4月3日 2:37 証明→署名の誤字修正
    2014年4月3日 1:45