我尝试更新我们的构建过程,以便对所有程序集和安装程序进行代码签名: 1)生成所有项目2)对其输出进行签名3)生成安装程序(msi,带有VS2010安装项目) 4)对安装程序进行签名
我遇到的问题是,在第3步中,Installer-Project将主要输出从obj-文件夹中取出。但在步骤2中,我获取了MSBuild-Task的输出,它们位于bin文件夹中。因此,我的msi中有一个无符号的主输出。
MSBuild-调用:
<MSBuild Projects="%(SolutionFiles.FullPath)" ContinueOnError ="false" Properties="Configuration=$(BuildConfiguration)" Targets="Build">
<Output TaskParameter="TargetOutputs" ItemName="AssembliesBuildByChildProjects"/>
</MSBuild>签名使用cmd-File:
<Exec
Command=""$(SignPath)signcode.cmd" "%(AssembliesBuildByChildProjects.Fullpath)" /t"
WorkingDirectory="$(SignPath)" />谢谢
发布于 2010-09-17 17:13:30
我找到了一个解决方案,不是很好-但可能是最坏的:-)
我只需对obj-文件夹中的所有输出文件进行签名:
<ItemGroup>
<PrimaryOut
Include="@(AssembliesBuildByChildProjects->'..\**\obj\**\%(FileName).%(Extension)')" />
</ItemGroup>
<Exec
Command=""$(SignPath)signcode.cmd" "%(PrimaryOut.Fullpath)" /t"
WorkingDirectory="$(SignPath)" />
<Exec
Command=""$(SignPath)signcode.cmd" "%(AssembliesBuildByChildProjects.Fullpath)" /t"
WorkingDirectory="$(SignPath)" />https://stackoverflow.com/questions/3724793
复制相似问题