我正在尝试让我的持续集成从命令行的 msbuild 中创建构建智能设备 cab 项目。我发现的所有内容都说使用从 Visual Studio 中构建项目时创建的 inf 文件(带有 cabwiz)。有没有办法使用 .vddproj 文件创建 inf 以便我可以将它与 cabwiz.exe 一起使用?
3 回答
您最好的选择是从 msbuild 任务运行 devenv.exe(或 devenv.com),或者窃取 Visual Studio 生成的 INF 并使用它从 msbuild 任务运行 cabwiz.exe。
MVP 讨论:http ://social.microsoft.com/Forums/en-US/csharpide/thread/a3caae81-fd79-45a9-ac38-f471e30e5b2a
CabWiz.exe:http: //msdn.microsoft.com/en-us/library/aa924359.aspx
INF 参考:http: //msdn.microsoft.com/en-us/library/aa924371.aspx
示例: http : //blog.enterprisemobile.com/2008/07/automating-build-versioning-and-publishing-smart-device-projects-with-team-foundation-build/ http://blog.opennetcf.com/ ctacke/2008/09/18/AutomatingCABFileGenerationWithMSBUILD.aspx http://guystarbuck.blogspot.com/2006/08/automate-build-of-windows-moble-cab.html
如何将“智能设备 CAB 项目”添加到您的解决方案(在 Visual Studio 2005 和 2008 中可用)?这些项目从解决方案中其他项目的输出构建 .inf 文件并生成“cabwiz.exe”以生成最终的 cab。
我个人使用 NAnt 而不是 MSBuild,并且更喜欢手动编辑我的 inf 文件(不经常更改),但 CAB 项目似乎是使用 MSBuild 的解决方案的方式。
PS:如果您的 cab 需要将注册表 dword 设置为 -1 (0xffffffff),请小心:众所周知,cabwiz 有一个讨厌的错误。
PS2:另请注意this other post。