Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 我可以在Windows XP上使用Windows功能区用户界面吗?怎样?_Windows 7_Windows Installer_Ribbon_Windows Ribbon Framework - Fatal编程技术网

Windows 7 我可以在Windows XP上使用Windows功能区用户界面吗?怎样?

Windows 7 我可以在Windows XP上使用Windows功能区用户界面吗?怎样?,windows-7,windows-installer,ribbon,windows-ribbon-framework,Windows 7,Windows Installer,Ribbon,Windows Ribbon Framework,我从阅读中了解到,是Windows7中的一个COM对象,而只是围绕它的一个.NET面板,以允许在Windows窗体应用程序中使用Ribbon UI 我成功地实现了一个Hello World Windows窗体应用程序,该应用程序使用了以下包装器: 它运行在我的开发机器上,即Windows7 问题: 这个“hello,world”应用程序会在Vista上运行吗?XP?我需要下载一些东西到那些机器上才能实现吗 是否有办法在MSI安装程序中指定Windows功能区UI组件作为先决条件 谢谢

我从阅读中了解到,是Windows7中的一个COM对象,而只是围绕它的一个.NET面板,以允许在Windows窗体应用程序中使用Ribbon UI

我成功地实现了一个Hello World Windows窗体应用程序,该应用程序使用了以下包装器:

它运行在我的开发机器上,即Windows7


问题:

  • 这个“hello,world”应用程序会在Vista上运行吗?XP?我需要下载一些东西到那些机器上才能实现吗

  • 是否有办法在MSI安装程序中指定Windows功能区UI组件作为先决条件

谢谢


浏览我发现的,这是Windows7上提供Ribbon UI的DLL。它将这些列为最少支持的客户端:

Windows 7、带SP2的Windows Vista以及针对Windows Vista的平台更新


我该如何在MSI中检查它呢?

据我所知,您的依赖关系在Windows XP上不起作用。这似乎不是一个可再发行的组件(尽管我承认我曾试图将虚拟机移植到XP机器上,但我会对虚拟机进行黑客攻击)


由于它是不可再发行的,我不确定在MSI中进行搜索是否有任何意义,因为你可以依靠检查操作系统的主要版本(Win7)。

你可以自由地在任何地方使用功能区UI(取决于;这基本上要求你不要制作半途而废的版本)

有些公司创建了自己的功能区控件。其中一些实现(即Microsoft的Windows Ribbon框架)仅适用于Windows 7或Windows Vista(先安装下载)


如果要检查Windows Ribbon Framework在客户端计算机上是否可用,请尝试创建
UIRibbonFramework
对象:

IUIFramework* pFramework = NULL;
HRESULT hr = ::CoCreateInstance(
            CLSID_UIRibbonFramework, 
            NULL,
            CLSCTX_INPROC_SERVER, 
            IID_PPV_ARGS(&pFramework));
if (FAILED(hr))
{
  //Ribbon not available - fallback to something else
  return;
}

谢谢你的回复。好的,在WinXP上不可用。Vista呢?文档页面说它可以在Vista上使用“平台更新”。有什么想法吗?我该怎么查呢?还有,我很好奇。你用XP进行了一些黑客攻击。在XP上运行应用程序时会发生什么情况,这取决于UIribbon.dll?你试过了吗?我只是想看看它是否可以注册CLSID。如果查看该CodePlex项目的源代码,您将发现一个具有CLSID guid的类文件。对于MSI,您可以编写一个AppSearch/RegLocator组合,在注册表中搜索该CLSID。顺便说一句,KB971644是Vista的平台更新,但它只能通过WSUS和Windows update提供。但是,它有一个子目录KB960362(),可供XP上的ribbon UI下载(vista/2008/x86/x64有4个版本),请查看