2

MSI 内のファイルの相対パスを計算する必要があります。現在、Fileテーブルにクエリを実行して、FileName に対応するコンポーネントを取得しています。次に、このコンポーネントを使用してコンポーネント テーブルをクエリし、Directory_ を見つけます。次に、この Directory_ を使用して Directory テーブルにクエリを実行し、Directory_ の親ディレクトリを見つけます。

その後、$TARGETDIR に到達するまで、以前の親への Parent_Directory のディレクトリ テーブルをクエリし、ファイルのパスを作成し続けます。ここでは、$TARGETDIR のプロパティ値を置き換えて絶対パスを取得します。

私の質問は、これらすべてが MSI データベース内のテーブルに対して多数のクエリを必要とするため、かなりのパフォーマンス ヒットがあるということです。C++ または VC++ のライブラリに別の API がありますか、それとも Microsoft は同様の (しかし既製の) ソリューションを提供していますか? どんな種類の助けにも本当に感謝します!

ありがとう、シャンカ

4

1 に答える 1

0

あなたの質問をよく理解していれば、必要なのは文字列と文字列操作を操作することです。C++ は文字列クラスでこれを提供しています。別の方法として、Qt はファイル パスを操作するための機能を提供しています。

于 2012-10-10T12:03:38.260 に答える