人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WSH(VBS) 「Windows Installer」「.NET Framework」 を調べるスクリプト

以下の条件を調べるスクリプトを教えて下さいませんか?


・「Windows Installer」のインストール有無を確認したい。
・「Windows Installer」のバージョンを確認したい。
・「.NET Framework」のインストール有無を確認したい。
・「.NET Framework」のバージョンを確認したい。


※「レジストリのここを見て判断すればいいんだよ!」という回答でも良いです。(自分でコーディングします)
2つセットでの回答を期待しています。


※あと、VBの得意な方はこちらの回答もお願いできますか。
http://q.hatena.ne.jp/1169471461
http://q.hatena.ne.jp/1169685758
http://q.hatena.ne.jp/1169688676

●質問者: wwworz
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.NET Framework VB VBS Windows WSH
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tokuya_n
●80ポイント ベストアンサー

.NetFrameworkはたぶんこんな感じで探せるような気がする。

もっと良い方法とかあるかな。

あんまりテストもしてないので、そこはご勘弁。

On Error Resume Next

Const HKEY_LOCAL_MACHINE = &H80000002

strComputer = "."

Set objRegistry=GetObject("winmgmts:\\" & _

strComputer & "\root\default:StdRegProv")

strKeyPath = "SOFTWARE\Microsoft\.NETCompactFramework"

objRegistry.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubkeys

For Each objSubkey In arrSubkeys

If Left(objSubkey,4) = "v1.0" Then

WScript.Echo ".Framework v1.0がインストール済"

End If

If Left(objSubkey,4) = "v2.0" Then

WScript.Echo ".Framework v2.0がインストール済"

End If

Next


Installerはどうでしょうね...

WindowsXPは標準が2.0だから、

KB893803が当たってるかどうかで2.0なのか3.1なのかは分かるといえるのかな?

やっつけ仕事で

Set Shell = WScript.CreateObject("WScript.Shell")

RegKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB893803v2\Fix Description"

Installer = ""

On Error Resume Next

Installer = Shell.RegRead(RegKey)

On Error GoTo 0

if Installer="" then

WScript.Echo "「Windows Installer 3.1」が見つからない"

else

WScript.Echo "「Windows Installer 3.1」が見つかった"

end if

とかじゃ駄目でしょうか。

◎質問者からの返答

WMIというのを初めてしりました。

とても勉強になりました。

Frameworkの確認は良さそうですね。

Installerの確認は、

SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

のところのサブキーを全てなめて、DisplayNameを1つ1つチェックすることで対応してみました。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ