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

Reply via email to