Showing posts from 2006

Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats

Microsoft recently released a compatability pack allowing users of Office 2000, XP, and 2003 to be able to open, edit, and save files in the new 2007 format. This applies to Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) files. Before installing the compatability pack, users should be sure that all office updates are in place. To download this free utility, go to

Visual Studio 2005 SP1

Microsoft released SP1 for Visual Studio 2005 earlier this month. To view all of the new features in VS2005 along with SP1 enhancements, go to

To download SP1, go to

For related issues with installing SP1, go to

Microsoft support for classic ASP and VB6

Q: Do you know the date when Microsoft will end support for classic Asp and VB6?

A: Primary support ended in April of 2005 for those products. They are currently in the "extended support lifecycle" which means that we only provide free security fixes. That will be ending next year in April and then there will only be the "online" support of KB articles that are already published.

If you have a customer still using them, I highly recommend you upgrade them, as that technology just isn't up to the task of dealing with Today's types of security, scalability or reliability requirements.

Thanks to Bill Steele (Microsoft) for providing this info first hand.

Salary Survey

ComputerWorld has conducted a salary survery for a large variety of developers. It also provides a breakdown per region and vertical industry. To view these results and see how your salary compares, go to the 2006 Salary Survey. In addition, check out other related articles compiled by ComputerWorld.

* Salary Survey 2006: Smart Salary Tool For Comparing Pay

* 2006 Salary Survey Blog: 'I Want a Raise'

* Gender Gap: Women's Paychecks Still Lag Men's

Overseas Outsourcing

I came across an article from Computer World that looks at Overseas outsourcing in a different light. Typically the argument has been cost vs. quality, but in this article many are saying outsourcing is becoming a necesary evil due to lack of resources in the western hemisphere. A shortage of IT graduates from Western universities is leading companies to call on developing countries to meet research demand, Microsoft Chairman Bill Gates said today.

To read the full article, go to


Q: I have a For-Next loop where intensive processing takes place. I would like the application to respond other events during execution of this code.

A: The method DoEvents() will handle this requirement. By placing a call to DoEvents at the top of the loop, this method will process all messages queued from the Operating System, including shutting down the application. Using the DoEvents() method requires a reference to System.Windows.Forms.dll. Furthermore, the DoEvents() method is found in the class System.Windows.Forms.Application.

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click

Dim intCounter as Integer

For intCounter = 1 To 1000
DoEvents() 'located in System.Windows.Forms.Application
'Processing Procedure here

End Sub

VB 2005 Presentation

For those that missed the last SIG meeting on VB 2005, you can catch it Monday night (Nov. 6th). I have been asked to give the VB 2005 presentation at a local community college. The presentation is scheduled for Monday, November 6th, 2006, from 6:00 – 8:00 PM. If you're interested, please e-mail me for more information at

New Content Management Functionality in Microsoft Office 2007

Microsoft recently announced that EMC Corp's Documentum will offer better integration with Microsoft Office 2007, especially with SharePoint 2007. The Documentum product will offer it's content management functionality without requiring an upgrade.

There are two main new offerings from Microsoft:
Content Services for SharePoint, which provides access to the Documentum repository within SharePoint so users can check documents in and out and manage metadata and virtual documents. Archive Services for SharePoint, which can either manually or automatically move content into SharePoint.To read more about this, click here.

Microsoft due to release 11 security updates on October 10, 2006

On Tuesday, October 10, 2006 Microsoft will release 11 security updates. Six patches affect Windows, 4 affect Office, and 1 affecting the .Net Framework. A brief summary of these patches is listed below.

6 Microsoft Security Bulletins affecting Microsoft Windows. The highest Maximum Severity rating for these is Critical. These updates will be detectable using the Microsoft Baseline Security Analyzer. Some of these updates will require a restart.

4 Microsoft Security Bulletins affecting Microsoft Office. The highest Maximum Severity rating for these is Critical. These updates will be detectable using the Microsoft Baseline Security Analyzer. These updates may require a restart.

1 Microsoft Security Bulletin affecting Microsoft .NET Framework. The highest Maximum Severity rating for this is Moderate. These updates will be detectable using the Microsoft Baseline Security Analyzer and the Enterprise Scan Tool. These updates may require a restart.
Microsoft Windows Malicious Software Removal…
Take a look at and you'll notice an item buried in this announcement for Visual Studio SP1 Beta.

Development compatibility and support on Vista:
VS 2005 SP1 supported;
VS 2005 NOT supported;
VS 2003/2002 NOT supported;
VB6 supported!

Interesting! Thanks to Mark H. for passing this interesting tid-bit along.

*** Great Lakes Geek Freebie Software - Today Only ***

*** Great Lakes Geek Freebie Software - Today Only ***

Download NTI Ninja software free on 9/26NewTech Infosystems (NTI) is making their new Ninja software - a USB data storage and protection software solution - available free.Unlike most fixed partition USB software, NTI Ninja allows users to adjust the size of their public and private partitions on their portable storage device. In addition, the software provides users with complete storage area anti-tamper encryption and password protection.The new software was developed to meet the dramatic increase in today's mobile workforce, the increased use of USB storage devices and the need to protect content and data from being stolen or compromised on the small, portable devices.Get it on the 26th for free or pay $24.95 after that.The link is at

*** More Freebies ***
While you are in the mood for free stuff, check out the Free Book on Security Engineering. Ross Anderson is a professor of security engineering…

FAQ about the latest IE bug

Listed below are a set of FAQ questions surrounding the new IE bug.

What's the problem? A vulnerability newly discovered in Microsoft Internet Explorer could allow an attacker to take over a targeted machine -- even a machine whose patches are all up to date.

What's it called? The Common Vulnerabilities and Exposures list tentatively designates this vulnerability as CVE-2006-4868. McAfee calls it Exploit-VMLFill; Trend Micro calls it EXPL_EXECOD.A; Symantec calls it Trojan.Vimalov, reflecting its probable Russian origin. SecurityFocus assigns it a Bugtraq ID of 20096.

Which programs and versions are affected? Internet Security Systems reports that the flaw affects all versions of IE that include support for VML, which means Versions 5 and 6, though tests so far have generally looked at Version 6. There have been no reports of the attack working on IE 7. Recent versions of Outlook and Outlook Express are also vulnerable, as are all versions and service packs for Windows 2000 and X…

Does MOSS 2007 support folders?

Q: I was wondering if document libraries in SharePoint 2007 support folders within them. Does MOSS 2007 support folders?

A: Yes, MOSS (Microsoft Office SharePoint Server) does support folders within a document library (see screen caption below). To create a folder, simply click "New" and select "New Folder".


As discussed during our last meeting, SharePoint 2007 has many new features. And as with any new feature, some confusion is bound to be included. Two of those new features are ODC and BDC. To help clear some of the confusion around these 2 items, here's a brief explanation of the two.

ODC (Office Data Connection) is used to connect Excel Services to a specific database, without making the user remember userID, password, DB Name, server name, etc. Instead, all these items are stored in an XML format file with the extension name .ODC. The .ODC file can be created by using the Excel client to create the file, then upload the file to a Data Connection Library. Once uploaded, a user simply refers to the ODC file, where all connection string parameters are stored. The data connection can then be used by various Excel Web Parts to display the data and KPIs. To read more about the ODC, go to

BDC (Business Data Catalog) is an…

Spreadsheet Web Part Add-In for Microsoft Office Excel 2003

During our last meeting we discussed SharePoint 2007 and how Excel Services is one of it's big features. I recenly found a web part that enables the use of Excel 2003 with Windows SharePoint Services.

The Spreadsheet Web Part Add-In for Microsoft® Office Excel 2003 makes it easy to design your own Spreadsheet Web Parts and save them to a site based on Microsoft Windows® SharePoint™ Services.

For more information or to download the Excel web part, click here.

What is WinFX?

Q: What is WinFX?

A: WinFX is an Object Oriented set of APIs that leverage the .Net Framework and expose that breadth of the Longhorn OS to developers. WinFX contains .Net Framework(FW) and is available in managed code. It builds on and extends the .Net FW

As the name may suggest, WinFX consists of 2 major parts:
1. WIN (Windows): Win32 APIs.
2. FX (Framework): speaks to .Net Framework

There are 4 Portions of WinFX
1. Presentation
2. Data
3. Communications
4. Fundamentals

In addition, WinFX offers functionality from other systems:
Avalon fucntionality is in the System.Windows namespace. This is the new presentation SubSystem for Longhorn.ASP.Net and Indigo functionality are both in the System.Web namespace. Indigo is the new technology for web services.WinFS functionality is in the System.Storage namespace. It contains relational aspects of the file system.Yukon Functionality for database access is in System.Data.SQL Server namespace

Difference between XHTML and DHTML

Q: What is the difference between XHTML and DHTML?

A: XHTML is a more structured version of HTML, which
sits nicely with the XML structure. XML (eXtensible Markup Language) is used to identify the data contents (i.e. name, address, phone, etc.) XML can then be used with XSLT to render the contents in different ways. Couple XML with HTML and you have a XHTML.

DHTML (Dynamic Hypertext Markup Language) is a Microsoft derived term. It is a combination of HTML, CSS, and JavaScript. It all works via the DOM (Document Object
Model). This is a method of referencing objects within a document so that
you can manipulate them through JavaScript.

Manipulating Event Log

A few people have asked about error logging in .Net. Listed below is an article on logging errors and events to the system event log. In addition, another article is listed to help automate parsiong the event log file when needed.

Error and Event Logging in VB.NET
This article describes an approach to writing to a custom error log and to writing events into the system event log.VB.NET; Windows, .NET (.NET 2.0); Win32, VS (VS2005)

Parsing event log(*.evt) file
An article on parsing/opening event log files(*.evt) using C# 2.0; Windows (Win2K, WinXP, Win2003), .NET (.NET 2.0); Win32, VS (VS2005)

Recovering data from a crashed hard drive

Q: I have an external USB hard drive that is no longer showing up as an active volume. What can I do to recover the data from the drive?

A: There are several tools on the market to assist with recovering data from a crashed drive. Listed below are a few of these tools.
Spinrite from www.grc.comOntrack's tools from www.ontrack.comPC Inspector has also received high remarks. This freeware tool is available at

Microsoft IE7 RC1

Microsoft is gearing up to ship Internet Explorer 7 (IE7) for Windows XP by offering a late beta release of the Web browser, known as Release Candidate 1. Expected to ship during the last quarter of this year, well ahead of Windows Vista, IE7 is the first real upgrade of the browser since the summer of 2004. And it is the first version of Internet Explorer in this decade to offer actual new features.

IE7 Release Candidate 1 (RC1) is available for download from Microsoft. For more information about Internet Explorer 7's new features, visit Microsoft's IE site.

To read the full story, go to

To help customers become more secure and up-to-date, Microsoft will distribute Internet Explorer 7 as a high-priority update via Automatic Updates for Windows XP and Windows Server 2003 soon after the final version of the browser is released (planned for fourth quarter 2006)…

Ajax Examples

I recently found a few helpful articles on, discussing various ways of using Ajax.

Using Ajax.NET Pro in a SharePoint Web Part
The article describes how to configure Ajax.NET Pro with SharePoint so that it can be used in Web Parts.

Introduction to Anthem.NET
How to do AJAX without writing any JavaScript.

Magic AJAX: Applying AJAX to your existing Web Pages
How to apply AJAX technologies to your web pages without replacing ASP.NET controls and/or writing JavaScript code.

An Introduction to AJAX Techniques and Frameworks for ASP.NET
This article introduces AJAX to ASP.NET developers implementing an example web page in different ways using ASP.NET Atlas, ASP.NET callbacks, Ajax.Net, Anthem.Net and MagicAjax.Net.

Simple AJAX implementation for ASP.NET Web applications
The article describes a simple approach of implementing AJAX functionality in ASP.NET web applications.

Visual Studio .NET 2003 Service Pack 1

Microsoft recently released Service Pack 1 for Visual Studio 2003 containing many fixes to problems published on KB (Knowledge Base). For a complete list of all the bug fixes, go to;en-us;918007&sd=rss&spid=3040.

To download the service pack, go to

Microsoft Patches Contain Memory Bugs

Earlier this month, Microsoft released 12 patches for fixing 23 vulnerabilities. Of those 12 patches, MS06-040 and MS06-042 were discovered to have memory bugs causing programs to crash.

MS06-040 affects programs that use very large chunks of memory on some versions of Windows. According to Microsoft, programs such as Microsoft Navision 3.7, which require allocations of more than 1GB of memory, can crash after the update is installed.
Most Windows systems do not experience the bug, but Microsoft Windows Server 2003 and the 64-bit version of Windows XP Professional Edition are affected. Microsoft's hotfix for this problem can be downloaded from their site.

More troublesome has been the MS06-042 update for Internet Explorer, which has caused browser crashes while using Web-based applications such as PeopleSoft, Siebel and Unicenter. Microsoft issued a hotfix for this update earlier in the week and is promising to reissue the buggy update next Tuesday. For more information on this b…

What is "Atlas"?

Q: What is "Atlas"?

A: "Atlas" is the code name for a set of ASP.Net technologies used to add Ajax (Asynchronous JavaScript And XML) support to ASP.NET. It consists of a client-side script framework, server controls, and more. In other words, Atlas is Microsoft's implementation of Ajax.

This new Web development technology from Microsoft integrates client script libraries with the ASP.NET 2.0 server-based development framework. In addition, "Atlas" offers you the same type of development platform for client-based Web pages that ASP.NET offers for server-based pages. And because "Atlas" is an extension of ASP.NET, it is fully integrated with server-based services. "Atlas" makes it possible to easily take advantage of AJAX techniques on the Web and enables you to create ASP.NET pages with a rich, responsive UI and server communication. However, "Atlas" isn’t just for ASP.NET. You can take advantage of the rich client framewo…

Using SPUserUtil to synchronize SharePoint user Display Names, E-mail addresses with Active Directory

I found an article on keith Ritchie's blog detailing how to use SPUserUtil to synchronize SharePoint user Display Names and Email addresses with the information in Active Directory

SPUserUtil will mean either WSSUserUtil or SPSUserUtil respectively (WSSUserUtil is used to administer Windows SharePoint Sites on a standalone WSS Farm/Virtual server OR Windows SharePoint sites in the same virtual server of a SharePoint Portal Server 2003 site.) SPSUserUtil is a superset of WSSUserUtil, designed for working on SharePoint Portal Server Areas.

To view the article, go to

What is AJAX and how do you use it?

Q: What is AJAX and how do you use it?

A: AJAX is short for Asynchronous JavaScript and XML. For more information and an example on how to create an AJAX site, go to

Detecting Mobile Browsers

As discussed in our last meeting, web applications can be built to handle both PC browsers and mobile browsers. To do so, the application needs to detect if the browser is a mobile device and redirect the application to a page designed to display UI adequate for the smaller mobile browser. Detecting the browser is done using the following code sample, and it's typically placed in the Page_Load() of the login.aspx or default.aspx

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
If Request.Browser.IsMobileDevice = True Then
End If
End If

Catch ex As Exception
End Try

End Sub

Determining if an address is within a radius of a zip code

Q: I need to take a list of vendors and be able to extract those vendors within a mileage of a zip code. For example, list all vendors within 40 miles of 44131. Is there a utility that will facilitate this?

A: The USPS offers several free web services that perform these functions. Go to and click on "web tools" in the lower left corner.

Web Part Compatibility

When web parts first came out with SharePoint 2001, there wasn't much of an issue with compatibility. However, now with SharePoint 2003 out for several years, ASP.Net 2.0 supporting web parts, and soon SharePoint 2007 will be released, one has to consider version compatibility among these versions. Listed below are some facts to help decipher any compatibility issues.

Using Son of SmartPart will allow you to run ASP.NET 2.0 UserControls and WebParts in SharePoint 2003.SharePoint 2003 web parts will not work in ASP.NET 2.0 pages with Web Part Zones.SharePoint 2003 web parts will work in SharePoint 2007.In addition, take time to review Dino Esposito's article "WebParts: From Sharepoint to ASP.NET 2.0". It discusses the similarities and differences between the two models.

What Software is Installed on a PC?

Q: Does anyone know of any FREE software that I can use that will tell me in a report format what software is installed on a pc? I have to rebuild a few computers and it would be nice to be able to just run a peice of software from a thumb drive and get a quick report.

A: Listed below are two vendors that sell products specifically for this purpose.

Your worst security risk may work for you!

Most developers consider security as an outside risk. However, contrary to popular belief, most security breeches occur from within an organization. This article from discusses this issue in more detail and offers some solutions to combat this problem.

Checklist for Testing Web Parts

For those developing web parts for SharePoint, here's an article on testing web parts. The article has a checklist and detailed How-To instructions on changing the various settings to test the web part for different scenarios.

SharePoint 2003 Limitations using WMSDE

Q: I want to use WMSDE for a very limited POC (proof of Concept) of SPS 2003. Other than Search and performance, are there any other things to be concerned about?

A: If SPS 2003 is not installed WSS uses a special version of MSDE, known as SQL Server 2000 Desktop Engine (Windows), or WMSDE. This is an unthrottled version of MSDE designed only to be used by Windows components, and as such is not limited in the same way as MSDE. The maximum size limit and current connections limit have both been removed. However it is still much more limited than SQL Server 2000 in the following ways:WMSDE does not include enterprise management tools such as those provided with SQL Server 2000 (e.g. SQL Enterprise Manager MMC tool) for backing up and restoring the database. However command line tools can still be used (e.g. stsadm tool). WMSDE can only be managed locally – you cannot remotely connect. WMSDE does not support full-text search – so search from within team sites is not possible. You cannot d…

Windows Fundamentals

Microsoft Corp. released a new version of its operating system for businesses this week that extends the life of older PCs by effectively turning them into thin-client computers. Called "Windows Fundamentals" for Legacy PCs, the software is offered only to customers on Microsoft's Software Assurance licensing and maintenance program.

It is not a full-featured operating system, but it improves the security and manageability of PCs for customers with systems that are too old for Windows XP and who aren't ready to upgrade their hardware, Microsoft said.

For the full article, visit

Can 32-Bit Applications run on Windows 2003 64-Bit?

Q: Can I run SQL Server 2000 32 bit on Windows 2003 64 bit?

A: The short answer is yes. WOW64 (Windows on Windows 64) is a compatibility environment provided by the operating system that allows a 32-bit application to run on a Windows 64-bit operating system. For more information, see 64–Bit Windows Part 11: Windows on Windows 64.

For web applications, Windows Server 2003 SP1 enables WOW64 compatibility for 32–bit Web applications in IIS 6.0. Based on the value of a metabase property, IIS will either start a 32–bit or a 64–bit worker process. In other words, IIS 6.0 can run applications in WOW64 or native 64–bit, but not both. For more information, see Windows Server 2003 SP1 enables WOW64 compatibility for 32-bit Web applications in IIS 6.0.

Nine Tips to Enhance IIS Security

Listed below is a link to an article on 9 tips to enhance security using IIS 6.0. To view the article, go to

Next Versions of VS and SQL Server

Orcas: code name for the next version of Visual Studio, due in 2007 or 2008. One of the big
features of the new VS is Language-Integrated Query (LINQ). LINQ is a breakthrough technology that eliminates the impedance mismatch among different data domains. With LINQ, developers do not need to learn separate query syntaxes when querying over diverse data domains such as XML, Relational and Objects. LINQ has been very well received both last year at its announcement at the PDC, and more recently at Tech-Ed in Boston. Orcas, the next version of Visual Studio, includes LINQ infrastructure that enables this powerful combination of languages and API’s, as well as concrete support in multiple programming languages and data domains.

Orcas is based on the .Net Framework 3.0, which is comprised of the existing .NET Framework 2.0 components, including ASP.NET, WinForms, ADO.NET, CLR, and additional base class libraries. It will also include Windows Presentation Foundation (WPF), Windows Communicatio…

Passing values to JavaScript

Q: I have an ASP.Net application where I would like to pass the value of a variable to JavaScript code on the same page. How can I do that?

A: An article found at explains exactly how to do that. First, place the script in a separate .js file. Then pass the required value to the script using Page.ClientScript.RegisterClientScriptBlock().

In ASP.Net 2.0 Page.ClientScript.RegisterClientScriptBlock() is used to download and store a script in a browser's cache for quicker reponse in the browser.

Another similar method is Page.ClientScript.RegisterStartupScript(). This method is best used when you have a JavaScript function that you want to initiate when the page is loaded. The code, including this method call, would be placed in the Page_Load() event handler.

For more information, go to

Best Practices for Developing Web Parts

For those developing web parts, Microsoft has released "Best Practices for Developing Web Parts for SharePoint Products and Technologies" . This can be accessed at

Importing Mutliple Web Parts Simultaneously

During the last SIG meeting, one of the members asked if multiple web parts could be deployed simultaneously. There was no obvious way to use the SharePoint UI to import multiple web parts at once. However, other solutions are available by use of STSADM.EXE and InstallAssemblies.EXE.

To use the Stsadm.exe command to deploy a Web Part package on a server computer running Windows SharePoint Services, open a command prompt, and then type the following command:

stsadm.exe -o addwppack -filename Web_Part_Pack_name [-url URL] [-globalinstall] [-force]

A series of these commands can be entered into a batch file and used to import multiple web parts simultaneously.

STSADM.EXE is a standard SharePoint utility, and is installed by default on the SharePoint server.

InstallAssemblies is an assembly installation tool for Windows SharePoint Services. The tool is designed for use within development and testing environments. By default, InstallAssemblies will start in interactiv…

Office 2007 Delayed

Microsoft announced today that office 2007 will be delayed for the purpose of shipping a better product. Different versions of Office 2007 will shipping at different times in 2007.

The 2 business editions are:
Office Professional Plus 2007
Office Enterprise 2007

The 6 consumer versions are:
Office Home 2007
Office Student 2007
Office Professional 2007
Office Small Business 2007
Office Standard 2007
Office Ultimate 2007 edition.

The business editions are now expected to ship by the end of 2006, a few months later than the previously announced October date. Consumer editions are expected to ship in "early 2007", instead of the January 2007.

To try Office 2007 Beta2 online, please go to

Web Part Resources

As a follow-up to this month's meeting, listed below are a few SharePoint 2003 Web Part resources.
Web Part Template for Visual Studio
Son of Smart Part
“The Rational Guide to Building SharePoint Web Parts”
“Microsoft SharePoint Products and Technologies Resource Kit”
This list has been incorporated into the PowerPoint presentation. The presentation is titled SharePoint 2003 Web Parts and is listed under the Previous Presentations section of the SIG web site.

Retrieving Identity Values

Q: How do you retrieve the Identity value of a row that was last inserted in a SQL Server DB?

A: SCOPE_IDENTITY, IDENT_CURRENT, and @@IDENTITY can all be used to return values inserted into IDENTITY columns. However, each one has its own scope limitations. Scope refers to a specific module (i.e. a stored procedure, trigger, function, batch).

SCOPE_IDENTITY will return last identity values generated in any table in the current session, but within the current scope.
IDENT_CURRENT returns the value generated for a specific table in any session and any scope. It is not limited by scope and session, but it is limited to a specified table.
@@IDENTITY will return the last IDENTITY column value inserted across any scope in the current session, but it is not limited to a specific scope. For more information, see

Microsoft ForeFront

Microsoft recently announced a new line of products designed for security at all levels, called ForeFront. The Forefront product line currently consists of the following products:

- Forefront Client Security (formerly called Microsoft Client Protection)
- Forefront Security for Exchange Server (currently called Microsoft Antigen for Exchange)
- Forefront Security for SharePoint (currently called Antigen for SharePoint)
- Antigen for Instant Messaging
- Microsoft Internet Security and Acceleration Server 2006 Release CandidateAthough some of these products (i.e. ISA) are not new to the market, they have been incorporated into the new package now known as "ForeFront". For more information visit ForeFront homepage. Also, be sure to see the FAQ section and video demo.

SharePoint 2003 SDK 3.0

Microsoft recently released SharePoint Software Development Kit v3.0. To download the SDK, go to

Microsoft Technical Preview in Cleveland

Microsoft Technical Preview Featuring Vista, Office and Exchange
Microsoft® is making a special appearance in Cleveland, OH on Wendesday, June 21, 2006, to give a presentation to Greater Cleveland PC User Group members (and guests) about technical details of the upcoming releases of Vista, Exchange and Office. Microsoft experts will be giving in-depth technical presentations and demos and there will be Q&A time. In addition, they will be providing refreshments and raffle prizes. As with all GCPCUG meetings, this is free and open to the public. GCPCUG requests that each attendee be included in an RSVP email to to insure that there is enough seating and food. Please include the number of people attending in the RSVP.
Event Information Wendesday, June 21, 2006, 5:00 to 9:30 PM
Cleveland Renaissance Hotel
Ballroom B 24 Public Square
Cleveland, OH 44113
(216) 696-5600 Free and open to the public
Subject Content Microsoft Vista - This presentation will serve as a deep dive into…

Web Part Debugging Tip

Here's a little tip on SharePoint that I wanted to share with everyone. When debugging a web part on a SharePooint site and there are problems bringing up the page, try the following. Manually enter the URL of the page in question and add "?contents=1" to the end of the URL. Once you press enter, the page returned is the "Manage Web Part Page".

This will list all web parts on that page, including their title, type, display on page, and personalized properties. This will help identify if other web parts on the page are causing problems with opening the page.

File Access in VB.Net

Listed below is an example of file access in VB.Net, utilizing many of the I/O functions. First the routine creates a file, then deletes it. This routine is used only for demonstration purposes.

Sub FilePurge()

Static dtLastPurgeTime As DateTime
Dim dtNow As DateTime
Dim intCounter As Integer
Dim Files() As String
Dim strGUID As String, strTXTName As String

While True
strGUID = System.Guid.NewGuid.ToString
strTXTName = "C:\Temp\STB_" & strGUID & ".TXT"

'Create a uniquely named .TXT file
Dim swTXT As StreamWriter
swTXT = File.AppendText(strTXTName)

'Wait 2 seconds before proceeding

dtNow = Now
Dim lTimeDiff As Long = DateDiff(DateInterval.Hour, dtLastPurgeTime, dtNow)

If lTimeDiff > 24 And Now.Hour = 22 Then 'Check if last purge was more then 24 hours ago and current hour is 10PM

'Purge *.TXT files
Files = Directory.GetFiles("C:\Temp", "STB_*.TXT")
For intCounter = Fi…

Upcoming .Net related events

Listed below are upcoming events in the Cleveland area pertaining to .Net development:
June 8th: ONSQL SIG MeetingJune 10th: GCPCUG General MeetingJune 22nd: MSDN EventJune 27th: C#/VB.Net SIGIf you have any questions about these events, please e-mail me at

The LINQ Project & SQL Prompt

Microsoft has begun work on the next version of .Net. One of the key features is integrated SQL commands. T-SQL keywords and commands will now be part of intellisense, elimating spelling errors. In addition, table and field names will also be incorporated in intellisense. This project is named LINQ (Language Integrated Query). To read more about LINQ, please visit The LINQ Project.

For those that can't wait for the next release of .Net to use this feature, Red Gate Software has introduced SQL Prompt. This product provides SQL Intellisense in Microsoft Query Analyzer, SQL Server 2005 Management Studio, Visual Studio 2005, Visual Studio .NET 2003, SQL Server 2000 Enterprise Manager, and UltraEdit32. To read more about this product or to download a free version, please visit the SQL Prompt web site.

Detecting a user's group in SharePoint 2003

Listed below is a C# example of programmatically querying the group(s) a user belongs to on a SharePoint 2003 site:

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

private boolean IsContributor()
boolean bContributor = false;
SPWeb currentWeb = SPControl.GetContextWeb(this.Context);
SPRoleCollection currentRoles = currentWeb.CurrentUser.Roles;

foreach(SPRole myRole in currentRoles)
strRoles = myRole.Name.ToString();

if (strRoles == "Contributor")
bContributor = true;

return bContributor;


"File or assembly name Microsoft.VisualBasic.Compatibility, or one of its dependencies, was not found."

I had an windows application that was converted from Visual Basic 6.0 to VB.Net 2003. After it ran fine in development, I moved to production where I received the following error "File or assembly name Microsoft.VisualBasic.Compatibility, or one of its dependencies, was not found."

Since the application was converted from an older version of VB and uses some legacy functions, it requires "Microsoft.VisualBasic.Compatibility.dll". This library was originally found on the development machine in C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322, but was not found on the production server.

The easiest way to resolve this is simply to copy the .DLL into the working directory of the application. The .DLL can also be packaged with the project installation to avoid the same issue from repeating with future installs.

Preventing Timeout while debugging XML Web Services

When debugging XML Web Services, an exception appears indicating the operation has timed out. To resolve this problem, set the TimeOut property on the XML web service object to -1. This will set it to infinite timeout.

This tip was found in "Debugging Applications For Microsoft .Net and Microsoft Windows"

"It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual"

Q: I have an ASP.Net application that when launched produces the following error:

It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

What can I do to resolve it?

A: This could be do to the virtual directory not being configured as an application.
To create an Application using a Virtual Directory, use the following procedure.
Open the IIS Manager (inetmgr.exe)Right click on "Virtual Directory" and select "Properties".Click on the "Create" button. The Virtual Directory is now configured as an Application and the ASP.Net should work as expected. If not there maybe a conflict with the settings in the Machine.config file.

Microsoft Expression Products

Microsoft has released a new product line called Expression, targeting web designers and developers. The product line up consists of 3 products:
Expression Graphic Designer: used for creating vector or pixel-based rich graphics with texture and dimensionsExpression Interactive Designer: for creating an engaging and interactive interface using multi-media.Expression Web Designer: used for building optimal web sites using a visual designer and leveraging ASP.Net, XML, and XHTML.Web designers can incorporate elements from each product into a single web site. In addition, all these products can be used in conjunction with Visual Studio 2005 to leverage the capabilities of programming languages such as C# and VB.Net. Projects can then be built and deployed from Visual Studio.

For more information or to download a trial version, visit the Expression home page at

Microsoft Expression Web Designer

Today Microsoft has released the beta version of Expression Web Designer. It is intended to replace Frontpage, which is being phased out of the product lineup.

In addition, Expression Web Designer will also offer reporting tools for web developers to help identify sites where Cascading Style Sheets are causing errors, accessibility of the site to handicapped Web users, and how many errors users of older Web browsers are encountering when viewing the site.

To download the CTP (Community Technology Preview) beta version, go to

Generating a GUID

Q: How can I create a unique value without using a counter?

A: The .Net framework provides a method for generating a universally unique identifier or GUID and can be accessed as shown below:

Dim strGUID as String = System.GUID.NewGuid().ToString()

GUID is short for Globaly Unique Identifier. This number is
based on IP address, MAC address, and date/time. It's represented as a series of alpha-numeric characters in the format {8-4-4-4-12}.

Using the NewGuid() method allows unique numbers to be generated by one function call, without concern for repeating identifiers or counters.

C# in SQL Server 2005 Reporting Services

Q: I know that VB.Net functions are available in SQL Server 2005 RS (Reporting Services), but does it also accept C# commands?

A: The expression language for Reporting Services is VB.Net only. You can call an assembly that contains functions written in C#. This is a very valid option, but the call from within the report will be with the VB.Net syntax.

Thanks to Mike Shelton (Microsoft) for answering this question.

MS Certification Courses

Q: Where can I take a class that would be geared toward certification in either .NET forms or ASP.Net? I interested in exams 70-315 or 70-316.

A: Check out this link ( It lists the tests needed for passing the MCSD along with MS courses. You can register with these exact same course numbers at CCC or CSU Continuing Education, or any other MS certified training facility.

Also, right now MS is offering a free second shot exam if you register before end of June. For more info, see

Microsoft Application Verifier

Microsoft recently released v3.1 of Application Verifier. This is a runtime verification tool for unmanaged code that assists in finding subtle programming errors that can be difficult to identify with normal application testing. Run the Application Verifier tests on your code to identify issues within heaps, handles, and locks. The product is available for Windows Server 2003, Windows Vista, and Windows XP. To read more about it or to download it, go to

HTML-based Text Editor

I came across an MSDN article that describes how to build an HTML-based text editor. The final product is professional in appearence and functionality, complete with font editing, drop down list boxes and a splash screen to display a company logo. To see how this editor is created in 6 steps, go to

Microsoft Downloads

I found a few interesting downloads, free from Micorsoft.

User Profile Hive Cleanup Service:The User Profile Hive Cleanup service helps to ensure user sessions are completely terminated when a user logs off. System processes and applications occasionally maintain connections to registry keys in the user profile after a user logs off. In those cases the user session is prevented from completely ending. This can result in problems when using Roaming User Profiles in a server environment or when using locked profiles as implemented through the Shared Computer Toolkit for Windows XP.

Port Reporter:Port Reporter logs TCP and UDP port activity on a local Windows system. Port Reporter is a small application that runs as a service on Windows 2000, Windows XP, and Windows Server 2003.…

AV for Vista

Q: I installed Vista on a home machine but I can’t find an AV program that I can install on it. Do you have any recommendations.

A: The EZ Antivirus product from Computer Associates will run on Vista. You can download a free day trial version from

BizTalk 2006 RTM

Microsoft recently released BizTalk 2006. The new version features more that 20 new adapters. The Enterprise and Standard Editions of BizTalk Server 2006 include adapters for popular applications such as SAP, Siebel, Peoplesoft, Oracle Database, and JD Edwards at no extra charge. In addition, the following features are also included:
Simplifeied installationServer Health MonitoringEnhanced BAM (Business Activity Monitor)Flat File WizardFor more information on the new features, please visit

To download a trial version of BizTalk 2006, go to

Microsoft Offers Virtual Server for Free

In a strategic move in the virtualization market, Microsoft is now offering Virtual Server 2005 R2 Enterprise Edition free of charge to the public. This product is similar to its client counterpart Virtual PC, but is intended for server products. To learn more about the differences between the 2 products, go to

To download Virtual Server, go to

Brulant Game Night


You're invited to test your gaming skills against your fellow technology gurus. Our first event was such a success, please join us again for networking, food, drinks, and the chance to win bragging rights as the master of:

* Texas Hold 'Em
* Halo 2
* Chess
* Foozball
* Madden
* and more!

Throughout the night, we'll be giving away great prizes. Feel free to suggest any other games we might consider, and bring a friend, the more the merrier!

When? Wednesday, April 5th, 5:30 p.m.-?

Where? Brulant's NEW Headquarters3700 Park East Drive, Suite 300Beachwood, OH 44122

To Register: Visit, and click on the "register" button for each person that plans on attending!

Microsoft Anti-Cross Site Scripting Library

Microsoft has recently released an Anti-Cross Site Scripting Library to help prevent cross site scripting attacks. To download the Anti-Cross Site Scripting Library, go to

A Cross Site Scripting attack (XSS) occurs when a hacker inserts a link in an e-mail or web forum that appears to be legitimate (i.e., However, the link actually a malicious script code embedded in the URL. When the unsuspecting user clicks the link, the script is executed on the host web site. The script code maybe used to transfer cookies from the victim's PC to the hacker's machine. The cookies may contain user ID's, passwords, or possibly credit card information, all which can be used for illegal purposes. To read more about this security attack, visit

Error while trying to run project: unable to start debugging on the web server

Q: When I tried to debug my ASP.Net project (VS 2003), I received the error "Error while trying to run project: unable to start debugging on the web server." How do I correct this?

A: Depending on the remainder of the error message, there are different methods of resolving this error. For more detailed information on fixing this issue, go to

What is the difference between classes and modules?

Q: What is the difference between classes and modules?

A: Visual Studio.Net stores code in either classes or modules. Classes are used for items that define their own storage and have persistent data. In addition classes must be instantiated before they're used, unless the keywords "Static" (C#) or "Shared" (VB.Net) are used.
Modules, on the other hand, can be viewed as simple code libraries where the methods can be called directly.

Site Context Search Box in SPS

Microsoft has recently made available sample code for creating a site search box in SPS (SharePoint Portal Server). Use the search box sample to customize the Windows SharePoint Services site-level Search box to return Microsoft SharePoint Portal Server Search (SharePointPSSearch) results. This download contains sample Microsoft Visual C# code for creating the custom search box and a deployment package (CAB file) for installing the sample. You can modify this sample code to fit your needs. To download the sample code, visit

Bug Found in McAfee's Update Program

The McAfee update (DAT 4715) released on Friday was designed to protect computers against the W95/CTX virus. But because of a programming error, the update also incorrectly identified renamed and quarantined hundreds of legitimate executables including popular ones such as excel.exe, lsetup.exe, uninstall.exe, shutdown.exe and reg.exe.

For companies that had configured their McAfee antivirus program to automatically delete bad files, the error resulted in the loss of hundreds, and in some cases even thousands, of files on systems in which the update had been installed, said Johannes Ullrich, chief technology officer at the SANS Internet Storm Center (ISC) in Bethesda, Md.

The full article can be found at,10801,109525,00.html?source=NLT_AM&nid=109525

MDAC Component Checker

As a follow-up to yesterday's post, I found a Microsoft utility used to check the MDAC components and provide detailed information on all the related files. The utility can be downloaded from at

MDAC Version

Q: How do I find out what version of MDAC I have on my machine?

A: MDAC is short for Microsoft Data Access Components. The MDAC version information is stored in the registry in KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess\Version. To download the latest version of MDAC (currently 2.8), go to

Detecting Network Sniffers

I came across a cool utility on the MSDN web site. PromqryUI (short for Promiscuous Query User Interface) is a GUI tool that detects network interfaces running in promiscuous mode (i.e. network sniffers). To download this free utility, go to

SQL Server Report Pack for SPS 2003

Microsoft produced a report pack specifically aimed at SharePoint 2003 site utilization. This is a set of 8 Microsoft SQL Server 2000 Reporting Services reports that work with a sample database of information extracted from a SharePoint Portal Server environment.

The Report Pack includes the following reports:Storage ReportShows a listing of the virtual servers and the number of collections, sites, areas, lists, files and size. Also shows a size distribution and storage usage chart, and a top 20 sites based on size. Storage Trend ReportShows four charts illustrating the virtual server storage trend, site collection growth trend, area growth trend and list growth trend. Site Trend ReportShows hit counts for virtual servers, collections, areas and lists. Also shows the top 20 sites based on hits. Comprehensive Site Collections ReportShows the list of site collections, who owns the collection, configurable characteristics about the owner and the date the collection was last accessed. Det…

Computer Myth Busters

I came across this link on Yahoo discussing computer related myths (

I thought it was worth while to post to show how the general public perceives computers. Let me know what you think.

Microsoft - Cisco Partnership

Microsoft and Cisco have entered into a partnership to develop products for voice and data collaboration, targeting business uesrs. The overall package includes 30 products, most of which are enhancements or updates to existing technologies, but 3 of them are entirely new:The Cisco Unified Presence Server collects information about a user's availability status (such as whether they're on the phone or on a computer at any given time).The Cisco Unified Client, a program that allows users to make desktop video calls as well as sort, view and play messages on their PCs.The Cisco Unified Customer Interaction Analyzer, a service that can be used in contact centers, which can analyze the tone of a customer's voice as well as how and where to route a call.The two companies will work together to integrate Microsoft Office Communicator 2005 and Microsoft Office Live Communications technologies with Cisco's Unified Communications System.

The package of tools will allow customers …

How Microsoft sets up their own SQL Servers.

This is an interesting blog article from Operations ( It details how they setup their SQL Servers. It is interesting that they do not use clusters, preferring log shipping to keep multiple servers up to date, and perform "manual failover" from web sites by modifying connection strings. Also interesting is that they run SQL Servers behind Network Load Balancers.

Thanks to Mark H. for passing this article along.

Versions of Windows Vista (Europe)

On yesterday's blog (, I posted a summary describing the 6 versions of Windows Vista. In addition to those 6 versions, Microsoft will be releasing 2 additional "N" versions to comply with the European Union's anti-trust rulings. Vista Home Basic and Vista Business will be both be offered as "N" versions, without a Windows Media Player. For more information, goto,10801,109097,00.html?source=NLT_PM&nid=109097

Versions of Windows Vista

Windows Vista is Microsoft's latest operating system, due to be released in the 2nd half of 2006. The product will have 6 different offerings, targeting the 6 major segments of the user population. Each offering will have different capabilities to accomodate that particular segment.

The 6 versions of Windows Vista are comprised of 2 for businesses, 3 for consumers, and 1 for emerging markets:
Windows Vista Business: For small business users.Windows Vista Enterprise: For high-end business users in large global organizations with highly complex IT infrastructures.Windows Vista Home Basic: For consumers with basic PC tasks (browse the Internet, e-mail, basic document creation).Windows Vista Home Premium: For more sophisticated home users using Tablet PCs or digital entertainment.Windows Vista Ultimate: For high-end home and business users. This version that has it all! It's the first operating system that brings together all the entertainment features, mobility features and busines…


Q: What is LC.EXE?

A: LC.EXE (License Compiler) is a command line utility provided with .Net Framework 2.0. By default this utility is installed in C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin. When executed, LC.exe will read license information from a text file and include it with .Net assembly. For more information, goto

Recently a KB (Knowledge Base) article was published for a bug regading this utility. The License Compiler (Lc.exe) throws an exception when a .NET Framework 2.0 application consumes licensed components on a computer that is running a 64-bit operating system. For more information, see KB article 913961.

Using Shutdown.exe

Q: How can I remotely shutdown a machine in a workgroup?

A: Use the Shutdown.exe command with the –m switch. This command is found in the Windows System directory (i.e. C:\Windows\system32 for Win XP), and will allow you to specify a remote computer name to shutdown. See the following for more info

Usage: shutdown [-i -l -s -r -a] [-f] [-m \\computername] [-t xx] [-c "c
omment"] [-d up:xx:yy]

No args Display this message (same as -?)
-i Display GUI interface, must be the first option
-l Log off (cannot be used with -m option)
-s Shutdown the computer
-r Shutdown and restart the computer
-a Abort a system shutdown
-m \\computername Remote computer to shutdown/restart/abort
-t xx Set timeout for shutdown to xx seconds
-c "comment" Shutdown comment (maximum of 127 characters)
-f Forces running applications to close without war
-d [u][p]:xx:yy The reason code for the shutdown
u is the user code
p is a planned shutdown code
xx is the major reason code (positive integer less than 256…

Special Offer for a C# Class

Interested in taking a "Programming with C#" class? Due to a last minute cancelation, Solutient is in need of students for next week's class, Class 2124 for Feb 27-March 3, 2006.
This class provides students with the knowledge and skills they need to develop C# applications for the Microsoft .NET Platform. The course focuses on C# program structure, language syntax, and implementation details.

Next week's special price: $995 Learn More
If interested, please contact Steve Luc at Solutient by email ( or by phone at 216-654-0025. Visit Solutient on the web at

Windows Defender

Microsoft Windows Anti-spyware tool has now been enhanced and renamed to Windows Defender. Currently the product is in its 2nd Beta release. To download it, go to

Microsoft Security Patches

Microsoft plans to release 7 security patches on February 14th, 2006.

1 patch affecting Microsoft Windows Media Player.4 patches affecting Microsoft Windows (some will require a restart).1 patch affecting Microsoft Windows and Microsoft Office (require a restart).1 patch affecting Microsoft Office (may require a restart).For more information, please goto

Detecting a ClickOnce Application

Q: How do I tell if I'm currently running in the context of a ClickOnce application?

A: You can see if a ClickOnce application is running in the current AppDomain by checking the AppDomain.CurrentDomain.ActivationContext property. If that value is non-null, then the domain is running a ClickOnce application. The ActivationContext will also get you the name of that application. There may be situations (such as choosing an isolated storage scope), where having this information is necessary and useful.

For more info, visit

File Upload Limit

Q: I’m using code very similar to that in this article ( The problem I have is when I try to upload a 9 MB file, I immediately get “Page cannot be displayed” error. Execution doesn’t even reach the PageLoad() event. The size limit for an IMAGE type in SQL Server 2000 is 2GB+, so size should not be a problem here. When I try the same function for files under 4MB, everything works as expected. What's the problem?

A: Your web application can only upload a file size of 4 MB only. To upload files more than 4mb you have to add option in the web.config file and set the maximum file size there.

In addition, if you're running IIS6, you could be hitting the limit for AspMaxRequestEntityAllowed. If the Content-Length header field of the HTTP request is larger than this limit, the page will bomb out immediately. You can increase the value in IIS6's metabase. For more info, goto…

What is _vti_cnf ?

Q: What is _vti_cnf?

A: This is a special folder created by Frontpage for use with IIS. Other folders may include _vti_script, _vti_pvt, or _vti_txt. For a complete list of FrontPage special files and folders, goto This folder is not required for an ASP.Net application so it can be deleted manually.

Discount training for SIG Members

Solutient is offering a wide variety of .Net classes at a discounted rate exclusively for SIG members. The complete list is posted on the SIG web site at under the "Links" section. To receive the C#/VB.Net special interest group membership preferred pricing, you must mention promotion code A16. If you have any questions, please contact Steve Luc at

Setting the Default Button in ASP.Net 1.1

Q: I have an ASP.Net 1.1 search form with several buttons on it (Search, Clear, Logoff) and a search word field. Currently, if the user enters text in the "Search Word” fields, and presses ENTER, the logoff button (located on the banner at the top of the form) is activated and the user is prompted if he wants to logoff. How can I change it so the ENTER key will activate the “Search” button instead? In other words, how can I make the “Search” button, the default button?

A: In ASP.Net the enter button executes the first button on the page. So create a button that is not visible (width is set to 1 px) and placed it at the top of the page before the logoff button. Change the background color if needed and make sure it cannot be seen. Then set the click event in .aspx page to execute the search button click event. When the user presses enter, the first button is executed and it will call the search method.

An invite to all SIG members


You're invited to test your gaming skills against your fellow technology gurus. Join us for networking, food, drinks, and the chance to win bragging rights as the master of:
* Texas Hold 'Em
* Halo 2
* Chess
* Foozball
* Human Tic-Tac-Toe
* Madden
* CounterStrike
* and more!
Throughout the night, we'll be giving away great prizes. Feel free to suggest any other games we might consider, and bring a friend, the more the merrier!
When? Thursday, February 2nd, 5:30 p.m.-?Where? Brulant's NEW Headquarters3700 Park East Drive, Suite 300Beachwood, OH 44122To Register: Visit, and click on the "register" button for each person that plans on attending!

Marketing Communications Manager
216 896 8938 / direct

3700 park east drive, suite 300
beachwood, ohio 44122
216 896 8900 /…

Accessing Version Number in .Net

Q: How do I programatically access the version number of an ASP.Net application?

A: The version number, and other general information, is kept in the AssemblyInfo.vb (for VB.Net projects). All information is housed in attributes in the file, as listed below:

Assembly: AssemblyTitle("MyApp")
Assembly: AssemblyDescription("A Sample Program")
Assembly: AssemblyCompany("ABC Software Corp.")
Assembly: AssemblyProduct("")
Assembly: AssemblyCopyright("2006")
Assembly: AssemblyTrademark("")
Assembly: CLSCompliant(True)
Assembly: AssemblyVersion("2.0.*")

To access the application version through .Net code, use
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(). The value displayed will be 4 sets of numbers, separated by '.' (similar to TCP/IP address). The version information for an assembly consists of the following four values:
Major Version
Minor Version
Build Number

MSDN Beta Home Page

One of the tips I give to developers who want to stay up to date on the latest .Net information is to view MSDN web site ( regularly. It's a good idea to set it as your default home page so you can glance the headlines everytime you open a browser.

Expanding on that idea, Microsoft is now working on a Beta MSDN site ( . The 2 big features of the new site are Country specific content and "My MSDN" for personalized content management.