.NET Questions and Solutions

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘microsoft web site’

Error message when you use the “IMSAdminBase::CopyKey” method as a part of the IIS 6.0 Compatibility components in IIS 7.0: “Exception from HRESULT: 0×80070003″

Symptoms
When you use the IMSAdminBase::CopyKey method as part of the IIS 6.0 Compatibility components that are included with IIS 7.0, the ApplicationHost.config file becomes corrupted. Additionally, you receive the following error message when you run a Microsoft .NET Framework application that tries to read the configuration file:

Unhandled Exception: System.IO.DirectoryNotFoundException: The system cannot find the path specified. (Exception from HRESULT: 0×80070003)The following error message is logged in the ABO Mapper log file:

Failed to generate custom nodes.error = 800700b7
Resolution
Hotfix information A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
If the hotfix is available for download, there is a “Hotfix download available” section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or tocreate a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support(http://support.microsoft.com/contactus/?ws=support)Note The “Hotfix download available” form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.PrerequisitesTo apply this hotfix, you must have IIS 7.0 and the IIS 6.0 Compatibility componentsinstalled.Restart requirementYou mustrestart the computer after you apply this hotfix.Hotfix replacement information This hotfix does not replace any other previously released hotfixes. Registry information To use this hotfix, you do not have to make any changes to the registry. File informationThe English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.x86-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformAbocomp.dll7.0.6001.22154209,40810-Apr-200804:57×86Coadmin.dll7.0.6001.2215475,77610-Apr-200804:57×86Iisadmin.dll7.0.6001.2215420,48010-Apr-200804:59×86Iiscfg.dll7.0.6001.22154991,74410-Apr-200804:59×86Inetinfo.exe7.0.6001.2215413,82410-Apr-200803:15×86Infoadmn.dll7.0.6001.2215416,38410-Apr-200804:59×86Infocomm.dll7.0.6001.22154227,32810-Apr-200804:59×86Infoctrs.dll7.0.6001.221549,72810-Apr-200804:59×86Infoctrs.hNot Applicable3,27618-Dec-200721:05Not ApplicableInfoctrs.iniNot Applicable22,87218-Dec-200721:05Not ApplicableIsatq.dll7.0.6001.2215455,29610-Apr-200804:59×86Iscomlog.dll7.0.6001.2215419,96810-Apr-200804:59×86Metadata.dll7.0.6001.22154268,28810-Apr-200805:00×86Rpcref.dll7.0.6001.221547,68010-Apr-200805:02×86Wamreg.dll7.0.6001.2215432,25610-Apr-200805:02×86x64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformAbocomp.dll7.0.6001.22154229,88810-Apr-200805:22×64Coadmin.dll7.0.6001.2215482,94410-Apr-200805:23×64Iisadmin.dll7.0.6001.2215424,06410-Apr-200805:25×64Iiscfg.dll7.0.6001.221541,058,30410-Apr-200805:25×64Inetinfo.exe7.0.6001.2215415,87210-Apr-200803:51×64Infoadmn.dll7.0.6001.2215422,52810-Apr-200805:25×64Infocomm.dll7.0.6001.22154270,33610-Apr-200805:25×64Infoctrs.dll7.0.6001.2215412,28810-Apr-200805:25×64Infoctrs.hNot Applicable3,27618-Dec-200721:06Not ApplicableInfoctrs.iniNot Applicable22,87218-Dec-200721:06Not ApplicableIsatq.dll7.0.6001.2215464,51210-Apr-200805:26×64Iscomlog.dll7.0.6001.2215423,04010-Apr-200805:26×64Metadata.dll7.0.6001.22154284,67210-Apr-200805:26×64Rpcref.dll7.0.6001.221549,21610-Apr-200805:28×64Wamreg.dll7.0.6001.2215437,88810-Apr-200805:29×64Abocomp.dll7.0.6001.22154209,40810-Apr-200804:57×86Coadmin.dll7.0.6001.2215475,77610-Apr-200804:57×86Iisadmin.dll7.0.6001.2215420,48010-Apr-200804:59×86Iiscfg.dll7.0.6001.22154991,74410-Apr-200804:59×86Infoadmn.dll7.0.6001.2215416,38410-Apr-200804:59×86Infocomm.dll7.0.6001.22154227,32810-Apr-200804:59×86Infoctrs.dll7.0.6001.221549,72810-Apr-200804:59×86Isatq.dll7.0.6001.2215455,29610-Apr-200804:59×86Iscomlog.dll7.0.6001.2215419,96810-Apr-200804:59×86Metadata.dll7.0.6001.22154268,28810-Apr-200805:00×86Rpcref.dll7.0.6001.221547,68010-Apr-200805:02×86Wamreg.dll7.0.6001.2215432,25610-Apr-200805:02×86IA-64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformAbocomp.dll7.0.6001.22154521,72810-Apr-200805:10IA-64Coadmin.dll7.0.6001.22154193,02410-Apr-200805:12IA-64Iisadmin.dll7.0.6001.2215454,78410-Apr-200805:15IA-64Iiscfg.dll7.0.6001.221541,382,40010-Apr-200805:15IA-64Inetinfo.exe7.0.6001.2215428,16010-Apr-200803:43IA-64Infoadmn.dll7.0.6001.2215440,44810-Apr-200805:15IA-64Infocomm.dll7.0.6001.22154555,00810-Apr-200805:15IA-64Infoctrs.dll7.0.6001.2215424,06410-Apr-200805:15IA-64Infoctrs.hNot Applicable3,27618-Dec-200721:06Not ApplicableInfoctrs.iniNot Applicable22,87218-Dec-200721:06Not ApplicableIsatq.dll7.0.6001.22154139,26410-Apr-200805:15IA-64Iscomlog.dll7.0.6001.2215451,20010-Apr-200805:15IA-64Metadata.dll7.0.6001.22154569,34410-Apr-200805:15IA-64Rpcref.dll7.0.6001.2215414,33610-Apr-200805:18IA-64Wamreg.dll7.0.6001.2215477,31210-Apr-200805:19IA-64Abocomp.dll7.0.6001.22154209,40810-Apr-200804:57×86Coadmin.dll7.0.6001.2215475,77610-Apr-200804:57×86Iisadmin.dll7.0.6001.2215420,48010-Apr-200804:59×86Iiscfg.dll7.0.6001.22154991,74410-Apr-200804:59×86Infoadmn.dll7.0.6001.2215416,38410-Apr-200804:59×86Infocomm.dll7.0.6001.22154227,32810-Apr-200804:59×86Infoctrs.dll7.0.6001.221549,72810-Apr-200804:59×86Isatq.dll7.0.6001.2215455,29610-Apr-200804:59×86Iscomlog.dll7.0.6001.2215419,96810-Apr-200804:59×86Metadata.dll7.0.6001.22154268,28810-Apr-200805:00×86Rpcref.dll7.0.6001.221547,68010-Apr-200805:02×86Wamreg.dll7.0.6001.2215432,25610-Apr-200805:02×86

Description of database normalization basics in Access 2000

Symptoms
This article explains database normalization terminology for beginners. A basic understanding of this terminology is helpful when discussing the design of a relational database.
NOTE: Microsoft also offers a WebCast that discusses the basics of database normalization. To view this WebCast, please visit the following Microsoft Web site:
http://support.microsoft.com/servicedesks/webcasts/wc060600/wc060600.asp?fr=1(http://support.microsoft.com/?scid=http%3a%2f%2fsupport.microsoft.com%2fservicedesks%2fwebcasts%2fwc060600%2fwc060600.asp%3ffr%3d1) For additional information about this topic in an earlier version of Access, click the following article number to view the article in the Microsoft Knowledge Base:
100139?(http://support.microsoft.com/kb/100139/) Database normalization basics
Resolution
Description of normalization Normalization is the process of organizing data in a database. This includes creating tables and establishing relationships between those tables according to rules designed both to protect the data and to make the database more flexible by eliminating redundancy and inconsistent dependency.
Redundant data wastes disk space and creates maintenance problems. If data that exists in more than one place must be changed, the data must be changed in exactly the same way in all locations. A customer address change is much easier to implement if that data is stored only in the Customers table and nowhere else in the database.
What is an “inconsistent dependency”? While it is intuitive for a user to look in the Customers table for the address of a particular customer, it may not make sense to look there for the salary of the employee who calls on that customer. The employee’s salary is related to, or dependent on, the employee and thus should be moved to the Employees table. Inconsistent dependencies can make data difficult to access because the path to find the data may be missing or broken.
There are a few rules for database normalization. Each rule is called a “normal form.” If the first rule is observed, the database is said to be in “first normal form.” If the first three rules are observed, the database is considered to be in “third normal form.” Although other levels of normalization are possible, third normal form is considered the highest level necessary for most applications.
As with many formal rules and specifications, real world scenarios do not always allow for perfect compliance. In general, normalization requires additional tables and some customers find this cumbersome. If you decide to violate one of the first three rules of normalization, make sure that your application anticipates any problems that could occur, such as redundant data and inconsistent dependencies.
The following descriptions include examples.
First normal formEliminate repeating groups in individual tables. Create a separate table for each set of related data. Identify each set of related data with a primary key. Do not use multiple fields in a single table to store similar data. For example, to track an inventory item that may come from two possible sources, an inventory record may contain fields for Vendor Code 1 and Vendor Code 2.
What happens when you add a third vendor? Adding a field is not the answer; it requires program and table modifications and does not smoothly accommodate a dynamic number of vendors. Instead, place all vendor information in a separate table called Vendors, then link inventory to vendors with an item number key, or vendors to inventory with a vendor code key.
Second normal formCreate separate tables for sets of values that apply to multiple records. Relate these tables with a foreign key. Records should not depend on anything other than a table’s primary key (a compound key, if necessary). For example, consider a customer’s address in an accounting system. The address is needed by the Customers table, but also by the Orders, Shipping, Invoices, Accounts Receivable, and Collections tables. Instead of storing the customer’s address as a separate entry in each of these tables, store it in one place, either in the Customers table or in a separate Addresses table.
Third normal formEliminate fields that do not depend on the key. Values in a record that are not part of that record’s key do not belong in the table. In general, any time the contents of a group of fields may apply to more than a single record in the table, consider placing those fields in a separate table.
For example, in an Employee Recruitment table, a candidate’s university name and address may be included. But you need a complete list of universities for group mailings. If university information is stored in the Candidates table, there is no way to list universities with no current candidates. Create a separate Universities table and link it to the Candidates table with a university code key.
EXCEPTION: Adhering to the third normal form, while theoretically desirable, is not always practical. If you have a Customers table and you want to eliminate all possible interfield dependencies, you must create separate tables for cities, ZIP codes, sales representatives, customer classes, and any other factor that may be duplicated in multiple records. In theory, normalization is worth pursing. However, many small tables may degrade performance or exceed open file and memory capacities.
It may be more feasible to apply third normal form only to data that changes frequently. If some dependent fields remain, design your application to require the user to verify all related fields when any one is changed.
Other normalization forms Fourth normal form, also called Boyce Codd Normal Form (BCNF), and fifth normal form do exist, but are rarely considered in practical design. Disregarding these rules may result in less than perfect database design, but should not affect functionality.
Normalizing an example table These steps demonstrate the process of normalizing a fictitious student table. Unnormalized table:
Collapse this tableExpand this table
Student#AdvisorAdv-RoomClass1Class2Class31022Jones412101-07143-01159-024123Smith216201-01211-02214-01First Normal Form: No Repeating Groups
Tables should have only two dimensions. Since one student has several classes, these classes should be listed in a separate table. Fields Class1, Class2, and Class3 in the above records are indications of design trouble.
Spreadsheets often use the third dimension, but tables should not. Another way to look at this problem is with a one-to-many relationship, do not put the one side and the many side in the same table. Instead, create another table in first normal form by eliminating the repeating group (Class#), as shown below:
Collapse this tableExpand this table
Student#AdvisorAdv-RoomClass#1022Jones412101-071022Jones412143-011022Jones412159-024123Smith216201-014123Smith216211-024123Smith216214-01Second Normal Form: Eliminate Redundant Data
Note the multiple Class# values for each Student# value in the above table. Class# is not functionally dependent on Student# (primary key), so this relationship is not in second normal form.
The following two tables demonstrate second normal form: Students
Collapse this tableExpand this table
Student#AdvisorAdv-Room1022Jones4124123Smith216Registration
Collapse this tableExpand this table
Student#Class#1022101-071022143-011022159-024123201-014123211-024123214-01Third Normal Form: Eliminate Data Not Dependent On Key
In the last example, Adv-Room (the advisor’s office number) is functionally dependent on the Advisor attribute. The solution is to move that attribute from the Students table to the Faculty table, as shown below:Students
Collapse this tableExpand this table
Student#Advisor1022Jones4123SmithFaculty
Collapse this tableExpand this table
NameRoomDeptJones41242Smith21642

An exception occurs, and event IDs 4999 and 5000 are logged when you modify the Outlook Web Access user interface

Symptoms
You modify the Microsoft Office Outlook Web Access user interface by following the steps in the “Specifying Icons for Custom Content Items” section of the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/bb891875(EXCHG.80).aspx(http://msdn2.microsoft.com/en-us/library/bb891875(EXCHG.80).aspx)When you use Outlook Web Access to browse to a Microsoft Exchange Server 2007 mailbox, an exception that blocks the regular operation occurs. Additionally, the following events are logged in the Application event log:
Event Type: Error
Event Source: MSExchange Common
Event Category: General
Event ID: 4999
Description:
Watson report about to be sent to dw20.exe for process id: <process ID>, with parameters: E12IIS, <processor>, <version>, OWA, M.E.C.Owa, M.E.C.O.C.ThemeManager.RenderThemeFilePath, System.IndexOutOfRangeException, <address>, <version>. ErrorReportingEnabled: True
Event Type: Error
Event Source: Microsoft Exchange Server
Event Category: None
Event ID: 5000
Description:
EventType e12iis, P1 <processor>, P2 <version>, P3 owa, P4 m.e.c.owa, P5 m.e.c.o.c.thememanager.renderthemefilepath, P6 system.indexoutofrangeexception, P7 <address>, P8 <version>, P9 NIL, P10 NIL.
Resolution
To resolve this problem, install Update Rollup 2 for Exchange Server 2007 Service Pack 1. For more information about Update Rollup 2 for Exchange Server 2007 Service Pack 1, see the following Exchange Help topic:
Description of Update Rollup 2 for Exchange Server 2007 Service Pack 1 (http://go.microsoft.com/fwlink/?LinkId=152558)For more information about how to obtain the latest Exchange service pack or update rollup, see the following Exchange Help topic:
How to Obtain the Latest Service Pack or Update Rollup for Exchange 2007(http://go.microsoft.com/fwlink/?LinkId=152570)

ADO help is not displayed when you reference the ADO 2.7 or later Object Library

Symptoms
When you add a reference to the ActiveX Data Objects (ADO) 2.7 or later Object Library in Microsoft Visual Basic Editor, and then you press F1 to obtain context-sensitive Help for ADO, a blank window may appear in Microsoft Visual Basic Help.
Resolution
To obtain the Help for ADO 2.7 or later, you must download and then install the Windows Platform Core SDK. To download the Windows Platform Core SDK, visit the following Microsoft Web site:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/(http://www.microsoft.com/msdownload/platformsdk/sdkupdate/)After you install the Windows Platform Core Software Development Kit (SDK), follow these steps to obtain Help for the appropriate ADO topic: Start Platform SDK documentation. To do this, click Start, point to Programs, point to Microsoft Platform SDK Month Year, and then click Platform SDK Documentation.
Note The name of the Microsoft Platform SDK Month Year command may change for the latest available version of the Windows Platform Core SDK.In the Platform SDK documentation, search for the required topic.