3

Arik Poznanskiのブログを読んで、WindowsリボンUIフレームワークはWindows 7のCOMオブジェクトであり、WindowsRibbonラッパーはその周りの.NETベニアであり、リボンUIをWindowsフォームアプリケーションで使用できるようにすることを理解しています。

このラッパーを使用するHelloWorldWindowsフォームアプリの実装に成功しました。

WindowsリボンHelloWorld

それは私の開発マシンであるWindows7で実行されています。


質問:

  • この「Hello、World」アプリケーションはVistaで実行されますか?XP?それを実現するために、それらのマシンに何かをダウンロードする必要がありますか?

  • MSIインストーラーでWindowsリボンUIコンポーネントを前提条件として指定する方法はありますか?

ありがとう


閲覧してみると、リボンUIを提供するWindows7上のDLLであるUIRibbon.dllのドキュメントが見つかりました。サポートされている最小のクライアントとしてこれらをリストします。

Windows 7、SP2を搭載したWindows Vista、およびWindowsVistaのプラットフォームアップデート

MSIでそれを確認するにはどうすればよいですか?

4

2 に答える 2

1

リボン UI は、好きな場所で自由に使用できます (リボン ライセンス契約に従います。基本的に、中途半端なバージョンを作成しないように求められます)。

独自のリボン コントロールを作成した会社があります。これらの実装の一部 (つまり、Microsoft の Windows リボン フレームワーク) は、Windows 7 または Windows Vista (最初にダウンロードをインストールした場合) でのみ動作します。


Windows リボン フレームワークがクラ​​イアント マシンで使用できることを確認する場合は、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;
}
于 2011-06-18T01:12:17.230 に答える
1

私が知る限り、あなたは Windows XP では動作しない依存関係を利用しています。これは再配布可能なコンポーネントのようには見えません (ただし、VM を XP マシンに移植できるかどうかを確認するために VM をハッキングしたことは認めます)。

再配布可能ではないため、OS メジャー バージョン ( Win7 ) を確認するだけでよいので、MSI で検索しても意味がありません。

于 2011-04-25T02:53:23.837 に答える