Windows 7 我可以在Windows XP上使用Windows功能区用户界面吗?怎样?
我从阅读中了解到,是Windows7中的一个COM对象,而只是围绕它的一个.NET面板,以允许在Windows窗体应用程序中使用Ribbon UI 我成功地实现了一个Hello World Windows窗体应用程序,该应用程序使用了以下包装器: 它运行在我的开发机器上,即Windows7Windows 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组件作为先决条件 谢谢
问题:
- 这个“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个版本),请查看