Thursday, February 08, 2007

Visual Studio 2005 not adding reference dlls to the deployment project

Recently I did face a problem when I created the setup for my Pocket PC application. My application had several projects and each project is supposed to add a dll to the setup. The problem was when I build the project it didn't add the reference dlls to the setup but only added the main application.

Later I found the solution for this which was to remove the main project output from the deployment project then go to debug mode and add the main project back again to the deployment project. The when the project is rebuilt all the dlls will be included properly.

Wednesday, February 07, 2007

Using Single Quotes in SQL Queries

Did you ever searched how to use a single quote inside SQL query? In this article I explain how to do.

( 1.) To display a quote in between of two field values.
SELECT FirstName + ''' ' + LastName From tblStudent

The above will put a single quote and a space in between FirstName and LastName fields.

( 2.) To insert a record with a quote to a table.
INSERT INTO [tbl] (ColumnName) VALUES ('I'+'''m ok.')

The above will insert a record into tbl and will put the string of {I'm ok.} to the column ColumnName.

( 3.) To update a record will be possible as follows.
UPDATE [tbl] SET ColumnName='I'+'''m ok.'

The above will update ColumnName values of all the records of tbl in to {I'm ok.}.

Tuesday, January 30, 2007

Windows 2003 Boot Error
Have anyone of you installed Windows XP on a machine which is having Windows 2003. If you have, you may have noted that after Windows XP installation Windows 2003 stops booting up. If you do try to start Windows 2003 in safe mode it will stop at CRCDisk.SYS.
The reason behind this is that when Windows XP installs it will replace some of the required common files with Windows XP version. When Windows 2003 tries to start it will fail since it cannot find the required files.

To start Windows 2003 again you have to replace 'NTDETECT.COM' and 'ntldr' on the boot drive (C:). These two files are located in the Windows 2003 CD inside I386 folder.

If this does not start Windows 2003 try running Windows 2003 setup again up until the first restart. When the system restarts Windows 2003 should start as normal.

In the worst case if that also wont solve your problem then you have to repair your Windows 2003 installation by continuing Windows 2003 setup and selecting Repair mode.

Thursday, January 25, 2007

Creating a folder named Prn

Do you know that you cannot create a folder named Prn in Microsoft Windows operating systems?

It is true that you cannot create folder as such visually (Using Windows Explorer). Instead you can create the folder by using command prompt.

Just open the command prompt and type

mkdir file://.c:/prn to create a folder named con in the C drive.

If you need to remove the created folder, type
rd file:////C:/prn
So if you only needed to create a folder named prn this is it, but if you would like to know further read on.

This restriction is because printer is referred by prn in device level (Printer is considered as a virtual folder.). So if you are permitted to create a folder named prn Windows will get confused when it is told to print a document since there are two folders/devices.
What we do here is we are making the directory a network associated folder by using '\\.\'.

Prn is not the only word which is blocked by Windows. Following words are also blocked because they are also representing some device in device level as I have mentioned below.

Word - Represented Device
prn - Printer
con - Console
lpt1 to lpt9 - Parallel Port Interfaces on IBM PCs (Named because at that time this port is heavily used by Line Printers)
com1 to com9 - Communication Ports
aux - Serial Ports
nul - Null (Not 100% sure)

If you need to create folders with the above names you have to create them as network associated folders.

Saturday, January 13, 2007

Setting up Networking in the Device Emulator

The method to connect the new Device Emulators that come with Visual Studio 2005 is different from the Emulators that came with Visual Studio 2003. The earlier version of emulators were able to connect to the external world by just clicking the Open and giving the network path to be opened in the File Explorer. But the new one if you try the same way it will give you and error saying there are no modem entries and also there are no network card present.
So if you would like to connect your emulator to the external world, please continue reading.

First thing you need to do is to install the Virtual Machine Network Driver for Microsoft Device Emulator.
To download that visit,
http://www.microsoft.com/downloads/details.aspx?familyid=DC8332D6-565F-4A57-BE8C-1D4718D3AF65&displaylang=en.

Then install it in your machine.

After installing it, new item will come under your network connection properties named "Virtual Machine Network Services". To make the emulator use your current network connection, you have to select the "Virtual Machine Network Services" check box. Afterwards it will use this connection when connecting out side.
To configure the Device Emulator to use the network, start the emulator of your choice, then go to File->Configure... . In the network tab select "Enable NE2000 PCMCIA network adapter and bind to" check box and press Ok. Now the emulator has a connection to use but to properly connect we need to set the network settings in the emulator.

Go to Click on Start->Settings and select Connections in the emulator. Then select "Network Cards".

Select "NE2000 Compatible Ethernet Driver" from Configure Network Adapters screen.


From here onwards you need to setup the settings as required by your network. The easiest way is to open the Network connection properties of your machine and set the emulator according to it.

After doing the settings you have to restart the device emulator to make the changes effective by clicking File->Reset->Soft from the emulator screen.

When the device restarts your emulator will have the ability to access the network.

To test the connectivity open the File Explorer from the Programs. Then click on Menu -> Open Path-> New Path.... Then type a valid path in your network and press Ok. Then you will be prompted for a User name, Password and a Domain. Fill the applicable details and press Ok.

If it doesn't get connected check the emulator connection settings. Check whether you need to setup proxies. To setup proxies click Start->Settings and go to Connections tab and select Connections and click on the "Set up my proxy server". Select "This network connects to internet" check box to make the emulator access internet. If proxies are used then enter the proxy details also.

If you correctly setup, the emulator will connect to the network and internet without problems.

Saturday, December 30, 2006

Enabling Remote Connections on SQL Server 2005

If you do the default installation of SQL Server 2005 the remote connections wont be enabled. The result of this will be that no one else wont be able to access to the SQL server instance of your machine resulting your databases to be used only from your machine. All the connections from outside to the databases hosted in your SQL server instance will be denied.

To make your databases accessible you have to do the following.

Step 1 - Right click on your SQL server instance in the Server Management Studio and click properties and get to the server properties.

In the left pane select Connections.

Check whether Allow remote connections to this server check box is selected under Remote Server Connections (this is defaultly selected).

Step 2 - Open SQL Server Surface Area Configuration Tool.

Click Start -> Programs -> Microsoft SQL Server 2005 -> Configuration Tools -> SQL Server Surface Area Configuration.

or

Browse to your Program Files directory and go to the path Microsoft SQL Server\90\Shared (For example C:\Program Files\Microsoft SQL Server\90\Shared).

There you need to find the executable named SqlSAC.exe and double click on it.

It will open SQL Server 2005 Surface Area Configuration screen.


Step 3 - Click on the Surface Area Configuration for Services and Connections link to open the configuration screen.

Select the Local and remote connections radio button.

Then choose accordingly the next radio button. For example if you need to make your server accessible through both TCP/IP and named pipes select the last radio button or else just select TCP/IP only if you only needs TCP/IP as illustrated in the image.

Then press Ok to save the changes.

Step 4 - We need to restart the SQL Server to apply the changed settings.

  • If you have installed SQL Server 2000 in your machine, double click on the SQL Server icon on the system tray area.
Select the SQL Server 2005 Server and click the Stop button to stop the database server and once it is successfully stoped press on the Start/Continue button to restart the database server.


  • If you have only installed SQL Server 2005 in your machine open SQL Server Configuration Manager by going to Start->All Programs->Microsoft SQL Server 2005->Configaration Tool->Configuration Manager.

Then select SQL Server 2005 Services from the left pane and select SQL Server from the right pane, right click on it and click Stop. Once it is successfully stoped press on the Start button to restart the database server.


When the SQL Server database engine restarts successfully you will be allowed to connect to the databases on your server from remote locations.

Thursday, December 07, 2006

My UK Trip

Last week I went to UK to attend my graduation. Following are some of the photos of the trip.

One evening in the university.

Working in the university.
Infront of the Stadium Of Light.
(From Right - Mr. M. H. A. Zufer - Study Center Administrator, Dr. Albert Bokma - Senior Research Fellow, Me)

In the ceremony. (Notice that I am the only one who got the degree in my batch whole row is empty :-).)

With my acedamic dress.



With some of my friends from Sri Lanka.
See the famous football ground. Isn't it beautiful?


We had a photo taken with some Lecturers and Doctors of the university.
Ohhh, The bus is waiting. Have to run.

Did some shopping in Heathrow airport duty free.


On my way back I browsed internet at the Heathrow airport.


World's biggest duty free - Dubai



Dubai - How rich and organized these countries are...

I stayed in Mid West hotel, It was really comfortable.

Day start on my way home 35000 feet above ground.