我们有一个现有的excel插件应用程序,正在被多个客户使用。使用临时证书(Excel_TemporaryKey.pfx
)对其进行签名,并使用mage.exe
对其进行签名,但是某些客户对此表示担心,因为他们的公司策略不支持该证书。因此,我们决定使用SignTool.exe
进行签名,因为我们可以使用该实用程序。
我们能够使用SignTool签名setup.exe文件,并能够安装已签名的程序包(setup.exe
)。但是,安装后,后期操作不起作用。我们使用vb脚本文件在应用清单文件中添加<postaction>
标签。
需要执行后期操作才能将excel模板复制到客户系统,并在其台式计算机上创建快照。以下是我们尝试添加到清单文件中的发布操作
<vstav3:postActions>
<vstav3:postAction>
<vstav3:entryPoint class="FileCopyPDA.FileCopyPDA">
<assemblyIdentity name="FileCopyPDA" version="1.0.0.0" language="neutral" processorArchitecture="msil" >
</vstav3:entryPoint>
<vstav3:postActionData>
</vstav3:postActionData>
</vstav3:postAction>
</vstav3:postActions>
如何在应用清单文件中添加<postaction>
并使用SignTool.exe
辞职,还是可以通过其他任何方式?
我们可以在项目解决方案中添加app.manifest
文件并使其起作用吗?我们该怎么做?
我已将本文用于host an Addin in GitHub。
从开始-所有程序-Microsoft Visual Studio-Visual Studio工具-Visual Studio的开发人员命令提示符,右键单击并选择“以管理员身份运行”
右键单击并粘贴以下命令。将突出显示的单词更新为您要为证书命名的名称。
第一次运行时排除“ -f”参数,否则将不会创建.pfx文件。
MakeCert /n "CN=Anthony" /r /h 0 /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" /e "01/16/2174" /sv Anthony.pvk
Anthony.cer pvk2pfx -pvk Anthony.pvk -spc Anthony.cer -pfx Anthony.pfx –f
** 1:日期格式为美国标准MM / DD / YYYY*注2:“-f”参数用于覆盖现有文件。
在Visual Studio项目属性中,选择“签名”,然后单击“从文件中选择...”。导航到C:\ Windows \ System32并选择证书文件(* .pfx)要了解有关二手工具的更多信息
Makecert
http://msdn.microsoft.com/en-us/library/bfsktky3%28v=vs.80%29.aspx
Pvk2Pfx
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672%28v=vs.85%29.aspx