The safest way is to extract the .dll files to a temporary directory and verify if they export the method DllRegisterServer. A COM .dll must export this method. You can use the LoadLibrary and GetProcAddress Windows API-s for this.
Dan Quoting "nagaram.c" <nagara...@symphony.cc>: > Thanks once again for clarification, I think if there is any way to locate > non-COM file then that should be File table & selfReg table, like if suppose > if a particular record in File table has reference to selfReg then it is COM > component else a non-COM, but I am not really sure if the File table has any > relationship with selfReg table or not. > > - Nag > -----Original Message----- > From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] > Sent: Tuesday, December 29, 2009 4:48 AM > To: nagara...@symphony.cc > Subject: RE: [WiX-users] differentiating between COM & C++ dlls from > installerdatabase (.msi) > > All COM, non-COM and .Net DLL files will be in the File table. > > .Net assemblies *may* be in the MSIAssembly table as well as the File > table but dont have to be. > If you install a .Net assembly into the application directory, then you > can put it in the File table only. > > -----Original Message----- > From: nagaram.c [mailto:nagara...@symphony.cc] > Sent: 29 December 2009 10:37 > To: Peter Shirtcliffe; 'General discussion for Windows Installer XML > toolset.' > Subject: RE: [WiX-users] differentiating between COM & C++ dlls from > installerdatabase (.msi) > > Hi, > > Thanks for your information. > > I have one more question. Is it true that both COM & non-COM are > maintained in Files table & where as all .NET components are maintained > under msiAssembly table > > - Nag > > -----Original Message----- > From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] > Sent: Tuesday, December 29, 2009 4:28 AM > To: nagara...@symphony.cc; General discussion for Windows Installer XML > toolset. > Subject: RE: [WiX-users] differentiating between COM & C++ dlls from > installerdatabase (.msi) > > I presume you mean how do you differentiate between COM and non-COM DLLs > - some COM DLLs are written in C++ :) > > There is no certain way of spotting a COM DLL from the MSI alone because > it might be self-registering, registered by an external application or > be used with registry-free COM. > > If there is any COM registration information to be found in the MSI, it > could be in any of the following: > > Class table > ProgId table > Registry table > SelfReg table > TypeLib table > > There is no equivalent of the MSIAssembly table for COM. > > -----Original Message----- > From: nagaram.c [mailto:nagara...@symphony.cc] > Sent: 29 December 2009 09:59 > To: 'General discussion for Windows Installer XML toolset.' > Subject: [WiX-users] differentiating between COM & C++ dlls from > installerdatabase (.msi) > > Hi, > > > > Is there a way that I could differentiate between COM & C++ DLL by > looking into the installer database file (.msi), I know that all .NET > components are maintained in msiAssembly table but I think both COM & > C++ files are maintained under Files table, is there a way by looking > into some attributes in the table that I can know if that is of type C++ > DLL or COM component. > > > > Thanks, > > Nag > > > SDL PLC confidential, all rights reserved. > If you are not the intended recipient of this mail SDL requests and > requires that you delete it without acting upon or copying any of its > contents, and we further request that you advise us. > SDL PLC is a public limited company registered in England and Wales. > Registered number: 02675207. > Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire > SL6 7DY, UK. > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users