インストールされている .NET Framework のバージョンをチェックするスクリプト
.NET Frameworkのバージョンを確認する方法を参考に WSH スクリプトを書いた。
拡張子を .wsf で保存して実行してくださいねー。
<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?> <package> <job id="Registry"> <?job error="True" debug="True" ?> <script language="JScript"> <![CDATA[ var checker = new DotNetChecker (); var result = ""; result += checker.FormatResult (checker.Check10 (), ".NET Framework 1.0"); result += checker.FormatResult (checker.Check11 (), ".NET Framework 1.1"); result += checker.FormatResult (checker.Check11JP (), " Japanese Langage Pack"); result += checker.FormatResult (checker.Check20 (), ".NET Framework 2.0"); result += checker.FormatResult (checker.Check20JP (), " Japanese Langage Pack"); result += checker.FormatResult (checker.Check30 (), ".NET Framework 3.0"); result += checker.FormatResult (checker.Check30JP (), " Japanese Langage Pack"); result += checker.FormatResult (checker.Check35 (), ".NET Framework 3.5"); result += checker.FormatResult (checker.Check35JP (), " Japanese Langage Pack"); WScript.Echo (result); function DotNetChecker () { this.reader = new RegReader (); this.Check10 = function () { var install = this.reader.RegRead ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\Full\\v1.0.3705\\1041\\Microsoft .NET Framework Full v1.0.3705 (1041)\\Install"); if (install == null || "" + install == "0") return null; var version = this.reader.RegRead ("HKLM\\SOFTWARE\\Microsoft\\Active Setup\\Installed Components\\{78705f0d-e8db-4b2d-8193-982bdda15ecd}\\Version"); if (version == null) version = this.reader.RegRead ("HKLM\\SOFTWARE\\Microsoft\\Active Setup\\Installed Components\\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24}\\Version"); if (version == null) return 0; var regex = /^1,0,3705,(\d+)$/; var m = regex.exec (version); var sp = 0; if (m != null && m.length > 1) sp = m [1] - 0; return sp; } this.Check11 = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v1.1.4322"); } this.Check20 = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727"); } this.Check30 = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.0"); } this.Check35 = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.5"); } this.Check11JP = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v1.1.4322\\1041"); } this.Check20JP = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727\\1041"); } this.Check30JP = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.0\\1041"); } this.Check35JP = function () { return this.CheckKey ("HKLM\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.5\\1041"); } this.CheckKey = function (key) { var install = this.reader.RegRead (key + "\\Install"); if (install == null || "" + install == "0") return null; var sp = this.reader.RegRead (key + "\\SP"); if (sp == null) sp = 0; return sp; } this.FormatResult = function (value, label) { var result = label; switch (value) { case null: result += ": not installed.\n"; break; case 0: result += ": installed.\n"; break; default: result += ": SP" + value + " installed.\n"; break; } return result; } } function RegReader () { this.shell = WScript.CreateObject ('WScript.Shell'); this.RegRead = function (name) { var ret = null; try { ret = this.shell.RegRead (name); } catch (e) { //WScript.Echo (e.number + "\n" + e.description); } return ret; } return this; } ]]> </script> </job> </package>
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2401
コメント