Smart Client Offline Block on Windows 2000

Topics: CAB & Smart Client Software Factory
Jul 27, 2004 at 2:35 AM
originally posted by: Mullvaden

(not sure if I did a repost of the message, if so: sorry about that)
I would like to know why the Smart Client Offline Block has Windows XP as a client requirement, why won’t Windows 2000 Professional do? It is very hard to convince my client to upgrade 1000+ computers just because of this, and before I dig into building my own "SCOB Light" I would like to hear from you guys that Windows 2000 Professional is out the question. And what part o SCOB that invalidates use of W2K? Can I omit that part?

Thanks in advance,
Jul 27, 2004 at 5:36 AM
originally posted by: bbutton


I didn't intentionally use any XP-specific things, so I'm not sure why that requirement is there. I suspect it is to reduce the testing burden (test on XP only, as opposed to some set of OS's.). Remember that Patterns and Practices is a small group, so it has limited resources.

What I can do is to ask around with the folks who wrote those requirements and find out why that limitation was added and report back here.

I suspect that it will work, but that it was never specifically tested. But I could be wrong about this, and I'll let you know when I do find out.

Jul 27, 2004 at 5:45 AM
originally posted by: Mullvaden

Thanks a lot for the rapid reply. I really like what you have done with the Offline Block, so it would be a shame not to utilize it.
Jul 29, 2004 at 7:46 AM
originally posted by: bbutton

OK, I did some research, raised the issue in our group, and here is the answer I was finally given:

Offline Block was thoroughly tested in WinXP. Even though Win2000 was out of scope for the project we did some testing and found the following:

1- Depending on the IE version you have installed the connection state algorithm may vary. In the current OAB implementation, we rely on the WinINet API function “InternetGetConnectionState” to determine the connection status. (See

OAB Architecture lets you use your own strategy for connection status detection, being this module a “plug-in” that you may replace to fit your own needs. (See WinInetDetectionStrategy Class in the OAB Reference).

For increased functionality and reliability, you may want to create your own plug-in that, for example, may test connectivity to your real network resource, activating the whole TCP/IP stack, not just the ethernet interface.

2- If you are using encryption, there is a limitation in the amount of information you can store. In Win2K this limit is 1.2 MB.

3- There are memory leaks that may affect your application in an un-patched Win2K environment. To avoid this, make sure you have the following hot fixes applied: KB824145

KB832483, KB828749, KB826232, KB828035, KB825119, KB824105, KB823182, KB824141, KB824146 as well as latest Windows updates

So it looks like it will work, but with a few modifications and patches.

I hope this helps, and if not, please feel free to drop me a note any time.