【发布时间】:2017-08-12 23:48:24
【问题描述】:
我正在 Windows 10 64 位上进行开发,我需要添加对 DirectShow 的引用。我知道它不再包含在 Windows 10 SDK 中,但它仍然可以在 Windows 7 SDK 中使用。好吧,正如程序经理所说,我有第二台装有 Windows 7 64 位的机器,安装了 .NET Frameworks 1.1、4、4.5、4.5.1、4.5.2、4.6、4.6.1。
我在这里下载了 x64 的 SDK:
http://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDKX_EN_DVD.iso
但该(不可点击的)链接只是重定向到 Microsoft 主页。
我已经有了 Framework 4 安装程序——虽然不是 RTM。
然后我尝试搜索RTM Framework 4 并下载了这个文件:
https://www.microsoft.com/it-it/download/details.aspx?id=36359
但它的安装并非出于以下动机:
安装 guidata dell'aggiornamento 软件 KB2750147 non è applicabile oppure è bloccato da un'altra condizione sul computer。
这意味着安装不适用或机器上的其他情况被阻止。
好吧,然后我尝试继续安装Windows 7 SDK,确认默认选项。它立即结束,并且日志报告了很多类似的错误:
=== 记录已停止:21/03/2017 11:46:20 === MSI (s) (A0:88) [11:46:20:807]:产品:适用于 Windows 7 的 Microsoft Windows SDK( 7.1)—— 安装成功完成。
MSI (s) (A0:88) [11:46:20:810]:Windows 安装程序:installazione del 完整的产品。名称 prodotto:适用于 Windows 的 Microsoft Windows SDK 7 (7.1)。版本产品:7.1.30514。语言产品:1033。 生产商:微软公司。 Installazione riuscita o stato di 错误:0。
=== 记录开始:21/03/2017 11:46:22 === 操作开始 11:46:22:安装。行动开始 11:46:22: DDSE_CA_Uninstall_InstallExecuteSequenceStarts_amd64。 2017 年 3 月 21 日 11:46:22 DDSet_Status: LANGID: 1033 03/21/17 11:46:22 DDSet_Entry: 立即调度:DDSE_CA_Uninstall_InstallExecuteSequenceStarts 条目 2017 年 3 月 21 日 11:46:22 DDSet_Error:补丁挂钩:缺少必需的 属性“ProductFamily”:安装程序无法继续。 2017 年 3 月 21 日 11:46:22 DDSet_Warning:调用“getDLLName”时安装程序失败。系统错误: 0xb7 03/21/17 11:46:22 DDSet_CARetVal:0 03/21/17 11:46:22 DDSet_Exit: 立即调度:DDSE_CA_Uninstall_InstallExecuteSequenceStarts 退出 行动于 11:46:22 结束: DDSE_CA_Uninstall_InstallExecuteSequenceStarts_amd64。返回值 1。 行动开始 11:46:22:FindRelatedProducts。行动于 11:46:22 结束: 查找相关产品。返回值 0。动作开始时间 11:46:22:AppSearch。 行动于 11:46:22 结束:AppSearch。返回值 0. 动作开始 11:46:22:启动条件。行动于 11:46:22 结束:LaunchConditions。 返回值 1. 动作开始时间 11:46:22:ValidateProductID。行动结束 11:46:22:验证产品 ID。返回值 1. 动作开始 11:46:22: DDSE_CA_Uninstall_CostInitializePre_amd64。 2017 年 3 月 21 日 11:46:22 DDSet_Status: LANGID: 1033 03/21/17 11:46:22 DDSet_Entry: 立即调度:DDSE_CA_Uninstall_CostInitializePre 条目 03/21/17 11:46:22 DDSet_Error:补丁挂钩:缺少必需的属性 “ProductFamily”:安装程序无法继续。 2017 年 3 月 21 日 11:46:22 DDSet_Warning:调用“getDLLName”时安装程序失败。系统错误: 0xb7 03/21/17 11:46:22 DDSet_CARetVal:0 03/21/17 11:46:22 DDSet_Exit: 立即调度:DDSE_CA_Uninstall_CostInitializePre 退出操作 11:46:22 结束:DDSE_CA_Uninstall_CostInitializePre_amd64。返回 值 1。动作开始时间 11:46:22:CostInitialize。行动于 11:46:22 结束: 成本初始化。返回值 1. 动作开始 11:46:22: DDSE_CA_Uninstall_CostInitializePost_amd64。 2017 年 3 月 21 日 11:46:22 DDSet_Status: LANGID: 1033 03/21/17 11:46:22 DDSet_Entry: ImmediateDispatch:DDSE_CA_Uninstall_CostInitializePost 条目 03/21/17 11:46:22 DDSet_Error:补丁挂钩:缺少必需的属性 “ProductFamily”:安装程序无法继续。 2017 年 3 月 21 日 11:46:22 DDSet_Warning:调用“getDLLName”时安装程序失败。系统错误: 0xb7 03/21/17 11:46:22 DDSet_CARetVal:0 03/21/17 11:46:22 DDSet_Exit: 立即调度:DDSE_CA_Uninstall_CostInitializePost 退出操作 11:46:22 结束:DDSE_CA_Uninstall_CostInitializePost_amd64。返回 值 1。动作开始时间 11:46:22:FileCost。行动于 11:46:22 结束: 文件成本。返回值 1. 动作开始 11:46:22: DDSE_CA_Uninstall_CostFinalizePre_amd64。 2017 年 3 月 21 日 11:46:22 DDSet_Status: LANGID: 1033 03/21/17 11:46:22 DDSet_Entry: ImmediateDispatch:DDSE_CA_Uninstall_CostFinalizePre 条目 03/21/17 11:46:22 DDSet_Error:补丁挂钩:缺少必需的属性 “ProductFamily”:安装程序无法继续。 2017 年 3 月 21 日 11:46:22 DDSet_Warning:调用“getDLLName”时安装程序失败。系统错误: 0xb7 03/21/17 11:46:22 DDSet_CARetVal:0 03/21/17 11:46:22 DDSet_Exit: ImmediateDispatch: DDSE_CA_Uninstall_CostFinalizePre exit 动作结束 11:46:22:DDSE_CA_Uninstall_CostFinalizePre_amd64。返回值 1。 行动开始时间 11:46:22:CostFinalize。行动于 11:46:22 结束: 成本确定。返回值 1. 动作开始 11:46:22: DDSE_CA_Uninstall_CostFinalizePost_amd64。 2017 年 3 月 21 日 11:46:22 DDSet_Status: LANGID: 1033 03/21/17 11:46:22 DDSet_Entry: ImmediateDispatch:DDSE_CA_Uninstall_CostFinalizePost 条目 03/21/17 11:46:22 DDSet_Error:补丁挂钩:缺少必需的属性 “ProductFamily”:安装程序无法继续。 2017 年 3 月 21 日 11:46:22 DDSet_Warning:调用“getDLLName”时安装程序失败。系统错误: 0xb7 03/21/17 11:46:22 DDSet_CARetVal:0 03/21/17 11:46:22 DDSet_Exit: ImmediateDispatch:DDSE_CA_Uninstall_CostFinalizePost 退出操作 11:46:22 结束:DDSE_CA_Uninstall_CostFinalizePost_amd64。返回值 1. 动作开始 11:46:22:SetODBCFolders。操作于 11:46:22 结束:SetODBCFolders。返回值 0。动作开始 11:46:22: 迁移特征状态。操作于 11:46:22 结束:MigrateFeatureStates。 返回值 0。动作开始 11:46:22: DDSE_CA_Uninstall_InstallValidatePre_amd64。 2017 年 3 月 21 日 11:46:22 DDSet_Status: LANGID: 1033 03/21/17 11:46:22 DDSet_Entry: 立即调度:DDSE_CA_Uninstall_InstallValidatePre 条目 03/21/17 11:46:22 DDSet_Error:补丁挂钩:缺少必需的属性 “ProductFamily”:安装程序无法继续。 2017 年 3 月 21 日 11:46:22 DDSet_Warning:调用“getDLLName”时安装程序失败。系统错误: 0xb7
所有这些东西只是为了获取库并包含DirectShow 的文件!
这是当今为该平台开发的唯一方法吗?
【问题讨论】:
-
Windows SDK 7.1 示例是您从中获取代码的地方。 GraphStudioNext 维护着 DirectShow 项目(而且必须有一个很棒的工具),它的 BaseClasses 也可以在 GitHub 上找到。
标签: windows directshow