i find this in Nokia tech library.check whether it works for u!
Code:
Subject: How can I get a list of all applications currently installed on a phone?
General Description: The following code creates a text file containing a list of all applications and their UID values. It can be run on any Symbian OS phone.
The following code creates a text file containing a list of all applications and their UID values. It can be run on any Symbian OS phone.
#include <f32file.h> // link against efsrv.lib
#include <apgcli.h> // link against apgrfx.lib, apparc.lib
_LIT(KFileName, "c:\\applications.txt");
const TInt KMaxSize = 512;
LOCAL_C void WriteAppInfoToFileL()
{
RFs fs;
RFile file;
RApaLsSession lsSession;
// Connect to file server
User::LeaveIfError(fs.Connect());
CleanupClosePushL(fs);
// Connect to application architecture server
User::LeaveIfError(lsSession.Connect());
CleanupClosePushL(lsSession);
// Open (replace if exists) the file for writing
file.Replace(fs, KFileName, EFileWrite | EFileStreamText);
CleanupClosePushL(file);
TApaAppInfo appInfo;
TBuf<KMaxSize> buf;
TBuf8<KMaxSize> fileBuf;
// Get info on all apps, then iterate through each app
// and write its info (caption, name, uid) to file
lsSession.GetAllApps();
while(lsSession.GetNextApp(appInfo) == KErrNone)
{
buf.Zero();
buf.AppendNum(aInfo.iUid.iUid, EHex);
buf.Append(_L("\t"));
buf.Append(appInfo.iCaption);
buf.Append(_L("\t"));
buf.Append(appInfo.iFullName);
fileBuf.Copy(buf);
fileBuf.Append(_L("\n"));
file.Write(fileBuf);
}
CleanupStack::PopAndDestroy(3); // file, lsSession, fs
}
Im not sure whether it lists only 3rd party apps.check it out anyway 
Priju