MsiViewFetchを使用すると、SQLクエリからmsiにレコードを取得できます。 しかし、ファイルテーブルmsiに次のレコードが存在するかどうか、または行/レコードの数を確認する定数または関数がありますか?次のレコードがmsiファイルに存在するかどうかをチェックする方法は?
答えて
いいえWindowsインストーラーのSQLの実装はかなり制限されています。利用可能なのは、ERROR_NO_MORE_ITEMSを返すまで、MsiViewFetchを繰り返し呼び出すオプションです。一度すべてのレコードを取得したら、それを実行します。途中で数を追跡し、返されたすべてのオブジェクトを適切に処理することは、あなた次第です。たとえば、正常に返された各レコードはMsiCloseHandleで閉じなければならず、通常はビュー自体をMsiViewCloseで終了する必要があります。
前述のように、これはラップアラートによって異なる表現が可能です。たとえば、WindowsインストーラオートメーションインターフェイスのView.Fetchメソッドは、すべてのレコードを既に取得している場合はNothingを返します。リソースのクリーンアップは、通常、問題の言語の規則を使用するように変更されています。
特に、Pythonのmsilibは、Python独自のインストーラの作成をサポートするために特別に実装されたWindowsインストーラ機能のラッパーです。それは汎用目的のために意図されていなかったので、他のラッパーのクリーチャーの快適さに欠けています。 implementation of View.Fetchは、不成功の戻りコードをMSIErrorに変換し、ERROR_NO_MORE_ITEMSはERROR_SUCCESSではないことがわかります。したがって、あなたの使用のためには、MSIErrorを捕まえてERROR_NO_MORE_ITEMSのためにするか、の例外の文字列をチェックしてください。
私はPythonで以下のコードを試しましたが、失敗しています。 – user2331760
https://bugs.python.org/file47271/MSIFileRead.py – user2331760
C#などの言語には、これを抽象化するサードパーティのライブラリがあります。それでなぜ私は言語について尋ねたのですか? –
- 1. レコードが既に存在するかどうかチェックする
- 2. MVCにレコードが存在するかどうかチェックする
- 3. Python MySQdbでレコードが存在するかどうかをチェックする方法
- 4. Android SQL:データベースにレコードが存在するかどうかをチェック
- 5. MongodbとRuby gem - レコードが存在するかどうかをチェック
- 6. レコードがアクティブなレコードのクエリでRails 5に存在しないかどうかをチェックする方法は?
- 7. チェックボックスが存在するかどうかチェックする方法PHP
- 8. ファイルが別のサーバーに存在するかどうかをチェック
- 9. 他のウェブサイトにファイルが存在するかどうかをチェック
- 10. POSTMANにオブジェクトが存在するかどうかをチェックする方法は?
- 11. グラフがmarklogicデータベースに存在するかどうかをチェックする方法は?
- 12. ReactNativeにプロパティが存在するかどうかをチェックする方法は?
- 13. 式の次または最後の値がJavaに存在するかどうかをチェックする方法
- 14. MVCコアコンフィグレーションファイルのセクションが存在するかどうかをチェックする方法は?
- 15. ColdFusion:特定の要素が2次元配列に存在するかどうかをチェックする方法は?
- 16. オブジェクトが既にHashSetに存在するかどうかをチェックする方法?
- 17. ArangoDBにコレクションが既に存在するかどうかをチェックする方法
- 18. ノックアウト観測値が存在するかどうかをチェックする方法は?
- 19. あなたのアンドロイドアプリケーションからFirebaseストレージにファイルが存在するかどうかをチェックする方法は?
- 20. あるディレクトリ内のファイルが別のディレクトリに存在するかどうかをチェックする方法は?
- 21. データテーブルに列が存在するかどうかをチェックする方法
- 22. 結合テーブルに行が存在するかどうかをチェックする方法 -
- 23. dllhost.exeにManaged .NET DLLが存在するかどうかをチェックする方法
- 24. パラメータがarraylist内に存在するかどうかをチェックする方法
- 25. 変数がフレックスに存在するかどうかをチェックする方法
- 26. ノードBookshelf.jsフィールドがテーブルに存在するかどうかをチェックする方法
- 27. レコードが存在するかどうかをチェックして、Cでデータベースにアクセスする方法#
- 28. ファイルがすべてのサブディレクトリに存在するかどうかをチェックする方法は?
- 29. oozieを使用してファイルがHDFSの場所に存在するかどうかをチェックする方法は?
- 30. Makefileの "foreach"の中にファイルが存在するかどうかをチェックする方法は?
この3つの異なる言語にタグを付けました。どちらが答えを求めていますか? –