我们使用Nant来使用Clickonce准备我们的软件的设置。嵌入清单后无法签署引导程序可执行文件(setup.exe)
使用signtool签署dll(s)和exe(s)。
signtool命令:signtool sign /f ${certFile} /p ${certFilePwd} {path of setup.exe}
使用Mt.exe嵌入到exe文件清单。
mt命令:mt -manifest {manifest file} -outputresource:{filepath};#1
我们有两个exe文件。一个是我们的app.exe,另一个是setup.exe(由clickonce创建的引导程序)
在嵌入清单后,app.exe在签名时没有问题。
但SETUP.EXE 签署嵌入后明显是给下面的错误:
SignTool Error: SignedCode::Sign returned error: 0x80070057. The parameter is incorrect.
清单文件包含:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
<ms_asmv2:security>
<ms_asmv2:requestedPrivileges>
<ms_asmv2:requestedExecutionLevel level="asInvoker"
uiAccess="false"></ms_asmv2:requestedExecutionLevel>
</ms_asmv2:requestedPrivileges>
</ms_asmv2:security>
</ms_asmv2:trustInfo>
</assembly>
没有错误,如果我不嵌入清单前的迹象,但它不能工作,因为任何文件需要改变后辞职。
我也尝试以下步骤:
- 符号的setup.exe
- 嵌入体现
- (在如上述该步骤中同样的错误)
是否有任何有辞职SETUP.EXE解决方案/这个问题的解决方法?
似乎没有解决方法/解决方法 – Riken 2013-02-26 03:58:25
您是否尝试使用法师重新签署清单? http://msdn.microsoft.com/en-us/library/xc3tc5xx.aspx – 2013-02-27 01:05:09
是的,它给错误。我认为法师不能用来签署一个exe文件,它被用来签署应用程序清单和。应用程序文件 – Riken 2013-02-27 11:37:37