No.1ベストアンサー
- 回答日時:
やり方はいろいろあると思いますが、msiつまりWindows Installerオブジェクトを介してインストールされたアプリの情報にアクセスする方法です。
まずアプリからWindows Installerにアクセスします。参照設定で「Microsoft Windows Installer Object Library」への参照を設定します。次に
CreateObject("WindowsInstaller.Installer")
でWindows Installerオブジェクトが作成されます。このオブジェクトから、様々な情報にアクセスしたり操作することができるようになります。
目的のProductCodeがわかっていれば、ProductInfoメソッドで各情報を取得できます。
たとえば以下のように。
---------------------
Public Function GetInfoByProductCode(sProductCode As String, sInfoName As String) As String
Dim objInstaller As WindowsInstaller.Installer
Set objInstaller = CreateObject("WindowsInstaller.Installer")
GetInfoByProductCode = objInstaller.ProductInfo(sProductCode, sInfoName)
End Function
---------------------
これで、
---------------------
?GetInfoByProductCode("{123456789-XXX-XXX-XXX-XXX}", "RegCompany")
株式会社○○○
---------------------
のように使えます。"RegCompany" の部分は、Publisher、PackageName、RegOwner、VersionString、InstallDate…などなどで各情報が返ります。
バージョン共通で使えるようにするには、ProductCodeではなくUpgradeCodeをもとに検索するといいです。メソッドRelatedProducts(UpgradeCode)で、同じUpgradeCodeのアプリが複数返されます。
これを順にVersionStringを比較し、最新バージョンだけを特定したりします。
No.3
- 回答日時:
同じ質問を分割すると違反になるので、
↓こちらは削除したほうがいいと思いますよ。
http://okweb.jp/kotaeru.php3?q_id=1557565
削除方法
http://feedback.okweb.ne.jp/fQA.php?qid=13039
> 登録はインストーラが行なっているのではないのですか。登録の方法はどうするのでしょうか
ユーザーがインストール時に値を入力して、MSIにて「RegisterUser」アクションが実行されれば登録されます。
No.2
- 回答日時:
> RegCompanyとRegOwnerの情報だけ空文字になって返って来ません。
こちらの質問が締め切られていなかったので、こちらに投稿します。
同じ質問を分割すると違反になると思うので、
↓こちらは削除依頼を出してください。
http://okweb.jp/kotaeru.php3?q_id=1557565
で、空文字が返る件ですが、単純に登録されていないだけなのでは?
まずはその点を確認してください。
参考までに、取得できる属性は以下のとおりです。
HelpLink
HelpTelephone
InstallDate
InstallLocation
InstalledProductName
InstallSource
LocalPackage
ProductID
Publisher
PackageName
RegCompany
RegOwner
URLInfoAbout
URLUpdateInfo
VersionMinor
VersionMajor
VersionString
この回答へのお礼
お礼日時:2005/08/03 22:06
早急な御回答ありがとうございます。
違反の件はよく理解できていなくて申し訳ありません。
登録はインストーラが行なっているのではないのですか。登録の方法はどうするのでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows PC 「スタート」の表示 1 2022/05/14 14:27
- X(旧Twitter) カギをかけているツイッターの検索について教えてください。 2 2022/11/07 17:22
- 電子書籍 ファイルピックについて 1 2022/08/07 00:07
- iPhone(アイフォーン) 位置情報アプリの友どこについてなんですが、昨日まで全く使えていたのに、今日いきなりバグって使えなくな 1 2023/07/22 16:04
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- Windows 10 windows11 update の「更新の再開」について初歩的な質問なのですが 1 2022/10/19 00:57
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- 画像編集・動画編集・音楽編集 Native Accessのインストールが先に進みません 2 2022/09/14 13:34
- システム 仕事でRPAを使ってるのですが、インストールをしてライセンスに接続しようとしたら 「Manageme 1 2022/12/02 01:06
- Windows 8 SSD換装の注意点? アプリケーションインストールでの弊害? 4 2023/01/06 04:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Smartyでのエラー
-
ピクチャーボックスに点を打つ...
-
VB.NETでのnothing の意義について
-
Visual BasicでJavaアプレット...
-
MIME::Parserのparse_dataメソ...
-
インターフェースとトレイトっ...
-
エクセルVBAで、条件に一致する...
-
【JAVA】与えられた金額を貨幣...
-
変数名の付け方
-
「天声人語」をインターネット...
-
「タイプ初期化子が例外をスロ...
-
戻り値がクラスオブジェクト
-
EXCEL VBAにて動的にCheckBOXを...
-
オブジェクトレベルとメタレベル
-
canvasに描画したものを全て削...
-
標準モジュールとクラスモジュ...
-
private static という変数の修飾
-
【sendkeysメソッドが動かずに...
-
Javaの関数名が長い?
-
『独習JAVA』が難しい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
servletからjspへオブジェクト...
-
VB.netでメソッドからコントロ...
-
JSPでのArrayListの表示につい...
-
VBAでの[]
-
javaで、、、
-
C#のクラスで値渡しをする
-
Excel VBA 定数にオブジェクト...
-
Dispose()は、どんな時に使うの...
-
Vba ListViewの行挿入に関して...
-
Javaでブラウザ判定
-
getParameter()について
-
VB.NETでのnothing の意義について
-
PrintFormを使用してのプリント
-
ピクチャーボックスに点を打つ...
-
String型からlong型への変換は...
-
drawStringの座標について
-
エクセルVBA/SpecialCellsで特...
-
GridViewに行追加するには?
おすすめ情報