Wednesday, November 21, 2007

Unable to register BLL using regasm

Today I faced a problem while registring the Business Logic Layer (Bll) using regasm from command prompt. Error was something related to Access rights while writting registry key i.e. somthing like "Unable to write............ HKEY_CLASSES_ROOT\PostNexusNET_BLL.XMLProcessor\CLSID"

My first opinion was that there must be some access related problem as I have installed a genuine Windows XP (Service Pack 2) in my PC and often branded PCs wont allow you to modify registry entries as a normal user.

When opened registry from run menu using regedit command and reached at the above described location, I found an empty entry named "PostNexusNET_BLL.XMLProcessor" with a child key "CLSID" with no values. I tried to delete, edit and rename that key but could not succeed. I restarted the computer in safe mode and tried the same options, but even then could not succeed. Note that I have assigned full rights/permissions to the "PostNexusNET_BLL.XMLProcessor" key.

After trying so mnay options and reading so many blogs on the interent, found NO solution for two days. I'll consider myself lucky that I found one solution which is described below:

1) Right click the registry key which you are not able to manipulate (edit, delete or rename), then click on Permissions.

2) Select your username from the list, if not present in the list, click add and type the name of the user, Click OK.

3) Then click Advanced, select your user from the list and check the box with "Replace permission entries........". Make sure that other check box is also checked/selected.

Before implementing this methodology make sure that you are logged in as an Administrator.

This solved my problem and now I can register all my dlls.

Sunday, November 4, 2007

Login failed for user 'sa'. The user is not associated with a trusted SQL Server connection (Microsoft SQL Server, Error: 18452)

After installing SQL Express 2005, when you try to login by user 'sa' and password 'user-defined', if you get the following error like: "Login failed for user 'sa'. The user is not associated with a trusted SQL Server connection (Microsoft SQL Server, Error: 18452)", then please read the following carefully:-


During installation, SQL Server Database Engine is set to either Windows Authentication mode or SQL Server and Windows Authentication mode. This topic describes how to change the security mode, after installation.

If Windows Authentication mode is selected during installation, the sa login is disabled. If you later change authentication mode to SQL Server and Windows Authentication mode, the sa login remains disabled. To enable the sa login, use the ALTER LOGIN command.

Security Note: It is very important to choose a strong password for the sa login.

The sa login can only connect to the server using SQL Authentication.

To change security authentication mode
1. In SQL Server Management Studio Object Explorer, right-click your server, and then click Properties.
2. On the Security page, under Server authentication, select the new server authentication mode, and then click OK.
3. In the SQL Server Management Studio dialog box, click OK, to acknowledge the need to restart SQL Server.

To restart SQL Server from SQL Server Management Studio

1. In Object Explorer, right-click your server, and then click Restart. If running, SQL Server Agent must also be restarted.

To enable the sa login
1. Execute the following statements to enable the sa password and assign a password.
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '' ;
GO