Ana*_*tts 17 .net deployment clickonce
我们正在开发一个通过ClickOnce部署的应用程序.我们有一个VeriSign代码签名证书,我们用它来签署我们的应用程序(通过signtool.exepost-build)和ClickOnce清单.我们目前有两个与签名有关的问题:
我们正在使用我们的证书签署.exe.构建我们的应用程序后,我们可以看到它已签名(例如,通过"signtool verify/pa TheExecutable.exe").但是在通过ClickOnce安装应用程序后,.exe不再签名.
我们正在使用我们的证书签署ClickOnce清单.但是当我们尝试通过ClickOnce安装应用程序时,ClickOnce安装程序会显示"Unknown Publisher".
问题#1总是发生.问题#2有时会神秘地消失,但此后不久就会回来,我们已经持续了几个星期了.
有任何想法吗?
Ana*_*tts 14
好吧,解决了这个问题的1/2的谜团:ClickOnce从中获取应用程序清单bin,但是从实际的EXE中获取obj.然后,为了分发您签名的exe,您必须在obj目录中签名该文件.
编辑:这是另一半.安装.NET 4.5 Beta会破坏ClickOnce签名/验证,即使在VS2010中也是如此.
以下是我处理清单签名和签署exe的方法.我将它添加到我的.csproj文件的底部(在文本编辑器中编辑它).
<Target Name="AfterBuild">
<CallTarget Targets="SignOutput" />
</Target>
<Target Name="SignOutput">
<PropertyGroup>
<TsUrl>http://timestamp.comodoca.com/rfc3161</TsUrl>
</PropertyGroup>
<ItemGroup>
<SignableFiles Include="$(ProjectDir)obj\$(ConfigurationName)\myappname.exe" />
</ItemGroup>
<Exec Command="signtool.exe sign /n "My Company Name LLC" /tr $(TsUrl) "%(SignableFiles.Identity)"" />
</Target>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4164 次 |
| 最近记录: |