Thanks for your response. I understood your suggestion but don't know how it will help. I cannot split the setup now as i am at the end of the development.
Here is what i did as per your work around suggestion.
1) I created UNINSTALLKEY when i run a setup first time.
2) It creates a correct entry in add/remove programs.
3) But it doesn't uninstall the installed feature.
IFX_PRODUCT_NAME = "PRODUCT1";
IFX_PRODUCT_KEY = "APP";
UNINSTALLKEY = "APP1";
// Create the application information key and provide
// information to create the per application paths key.
InstallationInfo(IFX_COMPANY_NAME, IFX_PRODUCT_NAME, @PRODUCT_VERSION, IFX_PRODUCT_KEY );
SdProductName ( IFX_PRODUCT_NAME);
nResult = DeinstallStart( svTarget, svLogFile, IFX_PRODUCT_KEY, 0 );
FeatureSelectItem(MEDIA, "NEWFEATURE", TRUE);
szReferenceFile = svTarget ^ IFX_PRODUCT_KEY; // TO DO : If your file is in a
// subfolder of svDir add that here
DeinstallSetReference( szReferenceFile );
Edited by AshokGupta, 09 January 2006 - 14:48.