私は持っています(実際にコマンドに渡されるものであることを確認するために、設定後にデバッガーからコピーしました):
process.StartInfo.FileName = "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin\\signtool.exe"
process.StartInfo.Arguments = " sign /f \"C:\\Users\\...\\myPfx.pfx\" /p \"myPassword\" \"C:\\Users\\...\\Desktop\\app.exe\""
しかし、私がStart()
それをすると、アプリに署名しません。(signtoolをそのフォルダーにコピーして手動で実行すると、機能します。)したがって、デバッグのために、次のことを試しました:
System.Diagnostics.Process.Start(@"cmd.exe", @" /k " + "\"" + process.StartInfo.FileName + "\"" + " " + "\"" + process.StartInfo.Arguments + "\"");
しかし、私は得る:
「C:\Program」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
cmd
では、署名を機能させるにはどうすればよいでしょうか (または、少なくとも.
編集:みんなありがとう。問題は以下のとおりでした-引用符がありません。そして、質問を投稿する前に実際にそれを試しましたが(-すべてに引用符を追加)、そのときはうまくいきませんでした。引用符と実際のパラメーターの間に空白を追加していたことがわかりました。そのため、エラーが発生するようです。