Brian Button - One Agile Coder

Blogging on all things .Net, C#, and Agile

My Links

Blog Stats

News

Archives

Post Categories

Agile Solutions Group

Blogs I read

Enterprise Library V1 Team

WMI, LUA, and a surprise for me!

Note to self: WMI and LUA don’t play together nicely.

I’ve been researching a bug that many of you Enterprise Library users may have encountered. According to our instructions, you have to run installutil against all EL assemblies, to allow them to load up their performance counters, event log sources, and WMI schema. If you do this as an admin, things work beautifully. If you run your EL-based app with less than admin privileges, interesting things happen with WMI, but that has been covered on other blogs.

What I want to cover today is what happens during development when you are creating code that attempts to publish WMI events or data.

Example Test

Here is an example test to show what I’m talking about. The behavior of this test is different, depending on whether you’re running as an admin or not. But the difference it not something that you might intuitively expect to happen.

	[TestClass]
	public class WMIExplorationFixture
	{
		List inputData = new List();

		[TestCleanup]
		public void RevokeAllInstances()
		{
			foreach (MyData instance in inputData)
			{
				Instrumentation.Revoke(instance);
			}
		}

		[TestMethod]
		public void CanSendSinglePieceOfData()
		{
			MyData myData = Create("foo!!!", 7);
			myData.Published = true;

			int instanceCount = GetInstanceCount();
			List results = GetInstances();

			Assert.AreEqual(1, instanceCount);
			Assert.AreEqual(myData, results[0]);
		}

		private MyData Create(string myFoo, int myCount)
		{
			MyData instance = new MyData(myFoo, myCount);
			inputData.Add(instance);

			return instance;
		}

		private List GetInstances()
		{
			List results = new List();
			using (ManagementClass wmiClass = new ManagementClass(@"\\.\root\WMIExploration:MyData"))
			{
				foreach (ManagementObject instance in wmiClass.GetInstances())
				{
					int count = (int)instance["MyCount"];
					string value = (string)instance["MyFoo"];

					results.Add(new MyData(value, count));

					instance.Dispose();
				}
			}
			return results;
		}

		private int GetInstanceCount()
		{
			int instanceCount = 0;
			using (ManagementClass wmiClass = new ManagementClass(@"\\.\root\WMIExploration:MyData"))
			{
				instanceCount = wmiClass.GetInstances().Count;
			}
			return instanceCount;
		}
	}

And here is the class that represents the WMI schema:

	public class MyData : Instance
	{
		private string myFoo;
		private int myCount;

		public MyData(string myFoo, int myCount)
		{
			this.myFoo = myFoo;
			this.myCount = myCount;
		}

		public string MyFoo { get { return myFoo;  } }
		public int MyCount { get { return myCount; } }

		public override bool Equals(object obj)
		{
			if (obj.GetType() != typeof(MyData)) return false;

			MyData other = (MyData)obj;
			return this.MyCount == other.MyCount && this.MyFoo == other.MyFoo;
		}

		public override int GetHashCode()
		{
			return 1;
		}
	}

So, if you’re LUA, this test never passes. But, depending on what action that were taken, it can fail for one of two basic reasons.

The first reason that it can fail is that the schema may never have been installed into WMI. This is the exception you see in that case:

------ Test started: Assembly: WMISpikes.dll ------

TestCase '' failed: Test method WMISpikes.WMIExplorationFixture.CanSendSinglePieceOfData threw exception:  System.Exception: This schema for this assembly has not been registered with WMI..
	at System.Management.Instrumentation.Instrumentation.Initialize(Assembly assembly)
	at System.Management.Instrumentation.Instrumentation.GetInstrumentedAssembly(Assembly assembly)
	at System.Management.Instrumentation.Instance.set_Published(Boolean value)
	C:\Development\SourceDepot\EnterpriseLibrary\Spikes\WMISpikes\WMISpikes\WMIExplorationFixture.cs(28,0): at WMISpikes.WMIExplorationFixture.CanSendSinglePieceOfData()


0 succeeded, 1 failed, 0 skipped, took 0.00 seconds.

You can fix this by installing the schema, using installutil. Once you’ve done that as an admin and gone back to running your tests as LUA, your tests now fail for this reason:

------ Test started: Assembly: WMISpikes.dll ------

TestCase '' failed: Test method WMISpikes.WMIExplorationFixture.CanSendSinglePieceOfData threw exception:  System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x80041003.
	at System.Management.ThreadDispatch.Start()
	at System.Management.Instrumentation.InstrumentedAssembly..ctor(Assembly assembly, SchemaNaming naming)
	at System.Management.Instrumentation.Instrumentation.Initialize(Assembly assembly)
	at System.Management.Instrumentation.Instrumentation.GetInstrumentedAssembly(Assembly assembly)
	at System.Management.Instrumentation.Instance.set_Published(Boolean value)
	C:\Development\SourceDepot\EnterpriseLibrary\Spikes\WMISpikes\WMISpikes\WMIExplorationFixture.cs(28,0): at WMISpikes.WMIExplorationFixture.CanSendSinglePieceOfData()


0 succeeded, 1 failed, 0 skipped, took 0.00 seconds.

This error (0x80041003) says that you have no permission to be sending this data to WMI, which is true if you’re running LUA. By default, only a very limited set of users is allowed to send data into WMI, and changing this appears to be rather twisted and convoluted (it can be done, but probably only by experts).

Now for the surprising twist

If I recompile my program and rerun the tests, while still running as LUA, I go back to the first exception message. What apparently happens is that compiling your program invalidates the schema registration and you have to rerun installutil. Surprise!

Surprising twist #2

If you are running your tests as a Local Administrator, registration of your schema class happens automatically for you when the program is run the first time. So the above test works all the time, without ever having to run installutil. Surprise!

Why am I posting this?

I’m posting this because I’ve seen a lot of Enterprise Library users having this exact problem. I spent a while today researching it, and I wanted to write my conclusions down somewhere so that I can refer to them later when I have this problem again :) The page I used to find most of this out was here.

My main conclusion is that it is very difficult to run WMI-publishing code as LUA. It seems to almost require being an admin to run correctly and easily. You can add some sort of security descriptor to your data or event class to allow it to be given to WMI, but that’s pretty confusing from the explanations I’ve seen. You can use wmimgmt.msc to give certain users permission to write to particular WMI namespaces, but this also seems to be a pretty big hurdle for Enterprise Library customers to have to climb. It just seems like WMI needs to be run as admin to work easily and correctly. Not real happy about that answer.

I hope that this information is going to help someone, sometime to avoid wasting a lot of time tracking down this issue. With any luck, that person will be me :)

— bab

 

Now playing: Alice In Chains - Dirt - Rain When I Die

posted on Friday, June 24, 2005 1:40 PM

Feedback

# re:WMI, LUA, and a surprise for me! 8/28/2005 10:22 AM 红外热像仪

WMI, LUA, and a surprise for me!ooeess

# re:WMI, LUA, and a surprise for me! 9/1/2005 8:48 AM 特斯拉计

WMI, LUA, and a surprise for me!ooeess

# re:WMI, LUA, and a surprise for me! 9/1/2005 9:25 PM PID调节器

WMI, LUA, and a surprise for me!ooeess

# re:WMI, LUA, and a surprise for me! 9/5/2005 8:17 AM 烟气分析仪

WMI, LUA, and a surprise for me!ooeess

# re:WMI, LUA, and a surprise for me! 9/6/2005 4:57 AM 拉伸仪

WMI, LUA, and a surprise for me!ooeess

# re:WMI, LUA, and a surprise for me! 9/7/2005 1:24 AM 工业pH计

WMI, LUA, and a surprise for me!ooeess

# re:WMI, LUA, and a surprise for me! 9/8/2005 11:59 PM 超声波液位计

WMI, LUA, and a surprise for me!ooeess

# re: WMI, LUA, and a surprise for me! 1/9/2006 10:23 AM 气体检测仪

WMI, LUA, and a surprise for me!ooeess

# re: WMI, LUA, and a surprise for me! 3/12/2006 7:42 AM whales

No problem!!!!

# re: WMI, LUA, and a surprise for me! 5/11/2006 9:05 PM 6699

http://kan101ster.googlepages.com/chengrdy.htm
http://kan101ster.googlepages.com/chengrlt.htm
http://kan101ster.googlepages.com/chengrtp.htm
http://kan101ster.googlepages.com/chengrxs.htm
http://kan101ster.googlepages.com/huangsdy.htm
http://kan101ster.googlepages.com/huangstp.htm
http://kan101ster.googlepages.com/huangswz.htm
http://kan101ster.googlepages.com/huangsxs.htm
http://kan101ster.googlepages.com/jiqdy.htm
http://kan101ster.googlepages.com/jiqxdy.htm
http://kan101ster.googlepages.com/mnsp.htm
http://kan101ster.googlepages.com/seqdy.htm
http://kan101ster.googlepages.com/seqtp.htm
http://kan101ster.googlepages.com/seqwz.htm
http://kan101ster.googlepages.com/seqxs.htm
http://kan101ster.googlepages.com/xingady.htm
http://kan101ster.googlepages.com/xingalt.htm
http://kan101ster.googlepages.com/zipai.htm
http://kan101ster.googlepages.com/yhjqmm.htm
http://kan101ster.googlepages.com/rentys.htm
http://kan101ster.googlepages.com/sanjp.htm


# re: WMI, LUA, and a surprise for me! 5/17/2006 9:00 AM 6699

http://blogs.ya.com/xhxadybar/files/bbsman.htm
http://blogs.ya.com/xhxadybar/files/crbbs.htm
http://blogs.ya.com/xhxadybar/files/freedy.htm
http://blogs.ya.com/xhxadybar/files/freesj.htm
http://blogs.ya.com/xhxadybar/files/jwtuan.htm
http://blogs.ya.com/xhxadybar/files/lovdy.htm
http://blogs.ya.com/xhxadybar/files/lovedy.htm
http://blogs.ya.com/xhxadybar/files/luxiang.htm
http://blogs.ya.com/xhxadybar/files/manxs.htm
http://blogs.ya.com/xhxadybar/files/mmyh.htm
http://blogs.ya.com/xhxadybar/files/mnzp.htm
http://blogs.ya.com/xhxadybar/files/rtystj.htm
http://blogs.ya.com/xhxadybar/files/sanjipian.htm
http://blogs.ya.com/xhxadybar/files/smalldy.htm
http://blogs.ya.com/xhxadybar/files/sqxs.htm
http://blogs.ya.com/xhxadybar/files/yesdy.htm
http://blogs.ya.com/xhxadybar/files/zhaody.htm
http://kan106.googlepages.com/200601.htm
http://kan106.googlepages.com/200602.htm
http://kan106.googlepages.com/200603.htm
http://kan106.googlepages.com/200604.htm
http://kan106.googlepages.com/200605.htm
http://kan106.googlepages.com/200606.htm
http://kan106.googlepages.com/200607.htm
http://kan106.googlepages.com/200608.htm
http://kan106.googlepages.com/200609.htm
http://kan106.googlepages.com/200610.htm
http://kan106.googlepages.com/200611.htm
http://kan106.googlepages.com/200612.htm
http://kan106.googlepages.com/200613.htm
http://kan106.googlepages.com/200614.htm
http://kan106.googlepages.com/200615.htm
http://kan106.googlepages.com/200616.htm
http://kan106.googlepages.com/200617.htm
http://kan106.googlepages.com/200618.htm
http://kan106.googlepages.com/200619.htm
http://kan106.googlepages.com/200620.htm
http://kan106.googlepages.com/200621.htm
http://kan106.googlepages.com/200622.htm
http://kan106.googlepages.com/200623.htm
http://kan106.googlepages.com/200624.htm
http://kan106.googlepages.com/200625.htm
http://kan106.googlepages.com/200626.htm

# re: WMI, LUA, and a surprise for me! 5/21/2006 8:33 AM 6699

http://perso.wanadoo.es/007dy/chenrdy.htm
http://perso.wanadoo.es/007dy/chenrlt.htm
http://perso.wanadoo.es/007dy/chenrtp.htm
http://perso.wanadoo.es/007dy/chenrwz.htm
http://perso.wanadoo.es/007dy/chenrxs.htm
http://perso.wanadoo.es/007dy/huangsdy.htm
http://perso.wanadoo.es/007dy/huangslt.htm
http://perso.wanadoo.es/007dy/huangstp.htm
http://perso.wanadoo.es/007dy/huangswz.htm
http://perso.wanadoo.es/007dy/huangsxs.htm
http://perso.wanadoo.es/007dy/jiqxdy.htm
http://perso.wanadoo.es/007dy/sanjp.htm
http://perso.wanadoo.es/007dy/seqdy.htm
http://perso.wanadoo.es/007dy/seqlt.htm
http://perso.wanadoo.es/007dy/seqtp.htm
http://perso.wanadoo.es/007dy/seqwz.htm
http://perso.wanadoo.es/007dy/seqxs.htm
http://perso.wanadoo.es/007dy/xiezhen.htm
http://perso.wanadoo.es/007dy/xingady.htm
http://perso.wanadoo.es/007dy/xingalt.htm
http://perso.wanadoo.es/007dy/xinggmn.htm
http://perso.wanadoo.es/007dy/yishu.htm
http://perso.wanadoo.es/007dy/zipai.htm
http://perso.wanadoo.es/007dy/zouguang.htm
http://perso.wanadoo.es/007dy/jiqdy.htm
http://my.opera.com/opdy05/homes/blog/sanjip.htm
http://my.opera.com/opdy05/homes/blog/huangsedy.htm
http://my.opera.com/opdy05/homes/blog/seqingdy.htm
http://my.opera.com/opdy05/homes/blog/jiqingxdy.htm
http://my.opera.com/opdy05/homes/blog/chengrendy.htm
http://my.opera.com/opdy05/homes/blog/xingaidy.htm
http://my.opera.com/opdy05/homes/blog/xiezhen.htm
http://my.opera.com/opdy05/homes/blog/zouguang.htm
http://my.opera.com/opdy05/homes/blog/zipai.htm

# re: WMI, LUA, and a surprise for me! 7/12/2006 8:36 PM W34SFD

http://www.greatestjournal.com/users/aochuang/697.html
http://www.greatestjournal.com/users/aochuang/397.html
http://www.greatestjournal.com/users/aochuang/840.html
http://www.greatestjournal.com/users/aochuang/1195.html
http://www.greatestjournal.com/users/aochuang/1389.html
http://www.greatestjournal.com/users/aochuang/1673.html
http://www.greatestjournal.com/users/aochuang/2045.html
http://www.greatestjournal.com/users/aochuang/2102.html
http://www.greatestjournal.com/users/aochuang/2318.html
http://www.greatestjournal.com/users/aochuang/2745.html
http://www.greatestjournal.com/users/aochuang/2903.html
http://www.greatestjournal.com/users/aochuang/3281.html
http://www.greatestjournal.com/users/aochuang/3468.html
http://www.greatestjournal.com/users/aochuang/3689.html
http://www.greatestjournal.com/users/aochuang/3878.html
http://www.greatestjournal.com/users/aochuang/4150.html
http://www.greatestjournal.com/users/aochuang/4525.html
http://www.greatestjournal.com/users/aochuang/4799.html
http://www.greatestjournal.com/users/aochuang/5076.html
http://www.greatestjournal.com/users/aochuang/5360.html
http://www.greatestjournal.com/users/aochuang/5607.html
http://www.greatestjournal.com/users/aochuang/5851.html
http://www.greatestjournal.com/users/aochuang/6048.html



# re: WMI, LUA, and a surprise for me! 7/24/2006 1:26 AM YYY888

http://www.99tvb.com
http://www.99tvb.net
http://www.rhuu.com
http://pic.rhuu.com
http://xiaohai6.googlepages.com/2840.htm
http://xiaohai6.googlepages.com/2841.htm
http://xiaohai6.googlepages.com/2842.htm
http://xiaohai6.googlepages.com/2843.htm
http://xiaohai6.googlepages.com/2844.htm
http://xiaohai6.googlepages.com/2845.htm
http://xiaohai6.googlepages.com/2846.htm
http://xiaohai6.googlepages.com/2847.htm
http://xiaohai6.googlepages.com/2848.htm
http://xiaohai6.googlepages.com/2849.htm
http://xiaohai6.googlepages.com/2850.htm
http://xiaohai6.googlepages.com/2851.htm
http://xiaohai6.googlepages.com/2852.htm
http://xiaohai6.googlepages.com/2853.htm
http://xiaohai6.googlepages.com/2854.htm
http://xiaohai6.googlepages.com/2855.htm
http://xiaohai6.googlepages.com/2856.htm
http://xiaohai6.googlepages.com/2857.htm
http://xiaohai6.googlepages.com/2858.htm
http://xiaohai6.googlepages.com/2859.htm
http://xiaohai6.googlepages.com/2860.htm
http://xiaohai6.googlepages.com/2861.htm
http://xiaohai6.googlepages.com/2862.htm
http://xiaohai6.googlepages.com/2863.htm
http://xiaohai6.googlepages.com/2864.htm
http://xiaohai6.googlepages.com/2865.htm
http://xiaohai6.googlepages.com/2866.htm
http://xiaohai6.googlepages.com/2867.htm
http://xiaohai6.googlepages.com/2868.htm
http://xiaohai6.googlepages.com/2869.htm
http://xiaohai6.googlepages.com/2870.htm
http://xiaohai6.googlepages.com/2871.htm
http://xiaohai6.googlepages.com/2872.htm
http://xiaohai6.googlepages.com/2873.htm
http://xiaohai6.googlepages.com/2874.htm
http://xiaohai6.googlepages.com/2875.htm
http://xiaohai6.googlepages.com/2876.htm
http://xiaohai6.googlepages.com/2877.htm
http://xiaohai6.googlepages.com/2878.htm
http://xiaohai6.googlepages.com/2879.htm
http://xiaohai6.googlepages.com/2880.htm
http://xiaohai6.googlepages.com/2881.htm
http://xiaohai6.googlepages.com/2882.htm
http://xiaohai6.googlepages.com/2883.htm
http://xiaohai6.googlepages.com/2884.htm
http://xiaohai6.googlepages.com/2885.htm
http://xiaohai6.googlepages.com/2886.htm
http://xiaohai6.googlepages.com/2887.htm
http://xiaohai6.googlepages.com/2888.htm
http://xiaohai6.googlepages.com/2889.htm
http://xiaohai6.googlepages.com/2890.htm
http://xiaohai6.googlepages.com/2891.htm
http://xiaohai6.googlepages.com/2892.htm
http://xiaohai6.googlepages.com/2893.htm
http://xiaohai6.googlepages.com/2894.htm
http://xiaohai6.googlepages.com/2895.htm
http://xiaohai6.googlepages.com/2896.htm
http://xiaohai6.googlepages.com/2897.htm
http://xiaohai6.googlepages.com/2898.htm
http://xiaohai6.googlepages.com/2899.htm
http://xiaohai6.googlepages.com/2900.htm
http://xiaohai6.googlepages.com/2901.htm
http://xiaohai6.googlepages.com/2902.htm
http://xiaohai6.googlepages.com/2903.htm
http://xiaohai6.googlepages.com/2904.htm
http://xiaohai6.googlepages.com/2905.htm
http://xiaohai6.googlepages.com/2906.htm
http://seo178.googlepages.com/2732.htm
http://seo178.googlepages.com/2733.htm
http://seo178.googlepages.com/2734.htm
http://seo178.googlepages.com/2735.htm
http://seo178.googlepages.com/2736.htm
http://seo178.googlepages.com/2737.htm
http://seo178.googlepages.com/2738.htm
http://seo178.googlepages.com/2739.htm
http://seo178.googlepages.com/2740.htm
http://seo178.googlepages.com/2741.htm
http://seo178.googlepages.com/2742.htm
http://seo178.googlepages.com/2743.htm
http://seo178.googlepages.com/2744.htm
http://seo178.googlepages.com/2745.htm
http://seo178.googlepages.com/2746.htm
http://seo178.googlepages.com/2747.htm
http://seo178.googlepages.com/2748.htm
http://seo178.googlepages.com/2749.htm
http://seo178.googlepages.com/2750.htm
http://seo178.googlepages.com/2751.htm
http://seo178.googlepages.com/2752.htm
http://seo178.googlepages.com/2753.htm
http://seo178.googlepages.com/2754.htm
http://seo178.googlepages.com/2755.htm
http://seo178.googlepages.com/2756.htm
http://seo178.googlepages.com/2757.htm
http://seo178.googlepages.com/2758.htm
http://seo178.googlepages.com/2759.htm
http://seo178.googlepages.com/2760.htm
http://seo178.googlepages.com/2761.htm
http://seo178.googlepages.com/2762.htm
http://seo178.googlepages.com/2763.htm
http://seo178.googlepages.com/2764.htm
http://seo178.googlepages.com/2765.htm
http://seo178.googlepages.com/2766.htm
http://seo178.googlepages.com/2767.htm
http://seo178.googlepages.com/2768.htm
http://seo178.googlepages.com/2769.htm
http://seo178.googlepages.com/2770.htm
http://seo178.googlepages.com/2771.htm
http://seo178.googlepages.com/2772.htm
http://seo178.googlepages.com/2774.htm
http://seo178.googlepages.com/2775.htm
http://seo178.googlepages.com/2776.htm
http://seo178.googlepages.com/2777.htm
http://seo178.googlepages.com/2778.htm
http://seo178.googlepages.com/2779.htm
http://seo178.googlepages.com/2780.htm
http://seo178.googlepages.com/2781.htm
http://seo178.googlepages.com/2782.htm
http://seo178.googlepages.com/2783.htm
http://seo178.googlepages.com/2784.htm
http://seo178.googlepages.com/2785.htm
http://seo178.googlepages.com/2786.htm
http://seo178.googlepages.com/2787.htm
http://seo178.googlepages.com/2788.htm
http://seo178.googlepages.com/2789.htm
http://seo178.googlepages.com/2790.htm
http://seo178.googlepages.com/2791.htm
http://seo178.googlepages.com/2792.htm
http://seo178.googlepages.com/2793.htm
http://seo178.googlepages.com/2794.htm
http://seo178.googlepages.com/2795.htm
http://seo178.googlepages.com/2796.htm
http://seo178.googlepages.com/2797.htm
http://seo178.googlepages.com/2798.htm
http://seo178.googlepages.com/2799.htm
http://seo178.googlepages.com/2800.htm
http://seo178.googlepages.com/2801.htm
http://seo178.googlepages.com/2802.htm
http://seo178.googlepages.com/2803.htm
http://seo178.googlepages.com/2804.htm
http://seo178.googlepages.com/2805.htm
http://seo178.googlepages.com/2806.htm
http://seo178.googlepages.com/2807.htm
http://seo178.googlepages.com/2808.htm
http://seo178.googlepages.com/2809.htm
http://seo178.googlepages.com/2810.htm
http://seo178.googlepages.com/2811.htm
http://seo178.googlepages.com/2812.htm
http://seo178.googlepages.com/2813.htm
http://seo178.googlepages.com/2814.htm
http://seo178.googlepages.com/2815.htm
http://seo178.googlepages.com/2816.htm
http://seo178.googlepages.com/2817.htm
http://seo178.googlepages.com/2818.htm
http://seo178.googlepages.com/2819.htm
http://seo178.googlepages.com/2820.htm
http://seo178.googlepages.com/2821.htm
http://seo178.googlepages.com/2822.htm
http://seo178.googlepages.com/2823.htm
http://seo178.googlepages.com/2824.htm
http://seo178.googlepages.com/2825.htm
http://seo178.googlepages.com/2826.htm
http://seo178.googlepages.com/2827.htm
http://seo178.googlepages.com/2828.htm
http://seo178.googlepages.com/2831.htm
http://seo178.googlepages.com/2832.htm
http://seo178.googlepages.com/2833.htm
http://seo178.googlepages.com/2839.htm
http://my.opera.com/bbzz606/homes/blog/2541.htm
http://my.opera.com/bbzz606/homes/blog/2540.htm
http://my.opera.com/bbzz606/homes/blog/2539.htm
http://my.opera.com/bbzz606/homes/blog/2538.htm
http://my.opera.com/bbzz606/homes/blog/2537.htm
http://my.opera.com/bbzz606/homes/blog/2536.htm
http://my.opera.com/bbzz606/homes/blog/2535.htm
http://my.opera.com/bbzz606/homes/blog/2534.htm
http://my.opera.com/bbzz606/homes/blog/2533.htm
http://my.opera.com/bbzz606/homes/blog/2532.htm
http://my.opera.com/bbzz606/homes/blog/2531.htm
http://my.opera.com/bbzz606/homes/blog/2530.htm
http://my.opera.com/bbzz606/homes/blog/2529.htm
http://my.opera.com/bbzz606/homes/blog/2528.htm
http://my.opera.com/bbzz606/homes/blog/2527.htm
http://my.opera.com/bbzz606/homes/blog/2526.htm
http://my.opera.com/bbzz606/homes/blog/2525.htm
http://my.opera.com/bbzz606/homes/blog/2524.htm
http://my.opera.com/bbzz606/homes/blog/2523.htm
http://my.opera.com/bbzz606/homes/blog/2522.htm
http://my.opera.com/bbzz606/homes/blog/2521.htm
http://my.opera.com/bbzz606/homes/blog/2520.htm
http://my.opera.com/bbzz606/homes/blog/2519.htm
http://my.opera.com/bbzz606/homes/blog/2518.htm
http://my.opera.com/bbzz606/homes/blog/2517.htm
http://my.opera.com/bbzz606/homes/blog/2516.htm
http://my.opera.com/bbzz606/homes/blog/2515.htm
http://my.opera.com/bbzz606/homes/blog/2514.htm
http://my.opera.com/bbzz606/homes/blog/2513.htm
http://my.opera.com/bbzz606/homes/blog/2512.htm
http://my.opera.com/bbzz606/homes/blog/2511.htm
http://my.opera.com/bbzz606/homes/blog/2510.htm
http://my.opera.com/bbzz606/homes/blog/2509.htm
http://my.opera.com/bbzz606/homes/blog/2508.htm
http://my.opera.com/bbzz606/homes/blog/2507.htm
http://my.opera.com/bbzz606/homes/blog/2506.htm
http://xiaohai9.googlepages.com/avdy.htm
http://xiaohai9.googlepages.com/cd.htm
http://xiaohai9.googlepages.com/crdy.htm
http://xiaohai9.googlepages.com/crsp.htm
http://xiaohai9.googlepages.com/crwz.htm
http://xiaohai9.googlepages.com/crxs.htm
http://xiaohai9.googlepages.com/hsdy.htm
http://xiaohai9.googlepages.com/hswz.htm
http://xiaohai9.googlepages.com/hsxs.htm
http://xiaohai9.googlepages.com/jqdy.htm
http://xiaohai9.googlepages.com/jqsp.htm
http://xiaohai9.googlepages.com/jqwz.htm
http://xiaohai9.googlepages.com/mmyh.htm
http://xiaohai9.googlepages.com/mnzp.htm
http://xiaohai9.googlepages.com/qbdy.htm
http://xiaohai9.googlepages.com/qjdy.htm
http://xiaohai9.googlepages.com/sjp.htm
http://xiaohai9.googlepages.com/sqdy.htm
http://xiaohai9.googlepages.com/sqlt.htm
http://xiaohai9.googlepages.com/sqwz.htm
http://xiaohai9.googlepages.com/sqxs.htm
http://xiaohai9.googlepages.com/tkdy.htm
http://xiaohai9.googlepages.com/xady.htm
http://xiaohai9.googlepages.com/xjydy.htm
http://xiaohai9.googlepages.com/xshdy.htm
http://xiaohai9.googlepages.com/xzdy.htm
http://xiaohai9.googlepages.com/yymnsp.htm
http://xiaohai9.googlepages.com/hstp.htm
http://xiaohai9.googlepages.com/sqtp.htm
http://xiaohai9.googlepages.com/crtp.htm
http://xiaohai9.googlepages.com/zg.htm
http://seo168.googlepages.com/2732.htm
http://seo168.googlepages.com/2733.htm
http://seo168.googlepages.com/2734.htm
http://seo168.googlepages.com/2735.htm
http://seo168.googlepages.com/2736.htm
http://seo168.googlepages.com/2737.htm
http://seo168.googlepages.com/2738.htm
http://seo168.googlepages.com/2739.htm
http://seo168.googlepages.com/2740.htm
http://seo168.googlepages.com/2741.htm
http://seo168.googlepages.com/2742.htm
http://seo168.googlepages.com/2743.htm
http://seo168.googlepages.com/2744.htm
http://seo168.googlepages.com/2745.htm
http://seo168.googlepages.com/2746.htm
http://seo168.googlepages.com/2747.htm
http://seo168.googlepages.com/2748.htm
http://seo168.googlepages.com/2749.htm
http://seo168.googlepages.com/2750.htm
http://seo168.googlepages.com/2751.htm
http://seo168.googlepages.com/2752.htm
http://seo168.googlepages.com/2753.htm
http://seo168.googlepages.com/2754.htm
http://seo168.googlepages.com/2755.htm
http://seo168.googlepages.com/2756.htm
http://seo168.googlepages.com/2757.htm
http://seo168.googlepages.com/2758.htm
http://seo168.googlepages.com/2759.htm
http://seo168.googlepages.com/2760.htm
http://seo168.googlepages.com/2761.htm
http://seo168.googlepages.com/2762.htm
http://seo168.googlepages.com/2763.htm
http://seo168.googlepages.com/2764.htm
http://seo168.googlepages.com/2765.htm
http://seo168.googlepages.com/2766.htm
http://seo168.googlepages.com/2767.htm
http://seo168.googlepages.com/2768.htm
http://seo168.googlepages.com/2769.htm
http://seo168.googlepages.com/2770.htm
http://seo168.googlepages.com/2771.htm
http://seo168.googlepages.com/2772.htm
http://seo168.googlepages.com/2774.htm
http://seo168.googlepages.com/2775.htm
http://seo168.googlepages.com/2776.htm
http://seo168.googlepages.com/2777.htm
http://seo168.googlepages.com/2778.htm
http://seo168.googlepages.com/2779.htm
http://seo168.googlepages.com/2780.htm
http://seo168.googlepages.com/2781.htm
http://seo168.googlepages.com/2782.htm
http://seo168.googlepages.com/2783.htm
http://seo168.googlepages.com/2784.htm
http://seo168.googlepages.com/2785.htm
http://seo168.googlepages.com/2786.htm
http://seo168.googlepages.com/2787.htm
http://seo168.googlepages.com/2788.htm
http://seo168.googlepages.com/2789.htm
http://seo168.googlepages.com/2790.htm
http://seo168.googlepages.com/2791.htm
http://seo168.googlepages.com/2792.htm
http://seo168.googlepages.com/2793.htm
http://seo168.googlepages.com/2794.htm
http://seo168.googlepages.com/2795.htm
http://seo168.googlepages.com/2796.htm
http://seo168.googlepages.com/2797.htm
http://seo168.googlepages.com/2798.htm
http://seo168.googlepages.com/2799.htm
http://seo168.googlepages.com/2800.htm
http://seo168.googlepages.com/2801.htm
http://seo168.googlepages.com/2802.htm
http://seo168.googlepages.com/2803.htm
http://seo168.googlepages.com/2804.htm
http://seo168.googlepages.com/2805.htm
http://seo168.googlepages.com/2806.htm
http://seo168.googlepages.com/2807.htm
http://seo168.googlepages.com/2808.htm
http://seo168.googlepages.com/2809.htm
http://seo168.googlepages.com/2810.htm
http://seo168.googlepages.com/2811.htm
http://seo168.googlepages.com/2812.htm
http://seo168.googlepages.com/2813.htm
http://seo168.googlepages.com/2814.htm
http://seo168.googlepages.com/2815.htm
http://seo168.googlepages.com/2816.htm
http://seo168.googlepages.com/2817.htm
http://seo168.googlepages.com/2818.htm
http://seo168.googlepages.com/2819.htm
http://seo168.googlepages.com/2820.htm
http://seo168.googlepages.com/2821.htm
http://seo168.googlepages.com/2822.htm
http://seo168.googlepages.com/2823.htm
http://seo168.googlepages.com/2824.htm
http://seo168.googlepages.com/2825.htm
http://seo168.googlepages.com/2826.htm
http://seo168.googlepages.com/2827.htm
http://seo168.googlepages.com/2828.htm
http://seo168.googlepages.com/2831.htm
http://seo168.googlepages.com/2832.htm
http://seo168.googlepages.com/2833.htm
http://seo168.googlepages.com/2839.htm

# re: WMI, LUA, and a surprise for me! 10/22/2007 5:21 PM seo

Great code. Thank you.

# re: WMI, LUA, and a surprise for me! 6/16/2008 1:31 PM wes

thanks for the info men...

Title  
Name  
Url
Spam Protection:
Enter the code you see:
If you can't read it, click your refresh button to get a new image.
Comments