You could always use the COM library if you're not comfortable with the C API calls. Add a COM reference to "Microsoft Windows Installer Object Library" to your project...
Installer.get_Features and Installer.get_FeatureState look like they might be useful. -----Original Message----- From: Anil Patel [mailto:apatel...@googlemail.com] Sent: Thursday, August 25, 2011 11:12 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Identifying Features that have been installed Hi Peter, Really appreciate your feedback on this. The MsiGetEnumsFeatues() is defined as UINT MsiEnumFeatures( __in LPCTSTR szProduct, __in DWORD iFeatureIndex, __out LPTSTR lpFeatureBuf, __out LPTSTR lpParentBuf ); So to get the product code, I found this code [DllImport("msi", CharSet = CharSet.Auto)] static extern int MsiGetProductCode(string component, StringBuilder buffer); public static string GetProductCode(string component) { StringBuilder productCodeStringBuilder = new StringBuilder(512); switch (MsiGetProductCode(component, productCodeStringBuilder)) { case ERROR_SUCCESS: return productCodeStringBuilder.ToString(); // *Please* don't actually just throw an exception like this. // Throw the relevent exception based on the error code returned. case ERROR_BAD_CONFIGURATION: throw new Exception("The configuration data is corrupt."); case ERROR_INSTALL_FAILURE: throw new Exception("The product code could not be determined."); case ERROR_INVALID_PARAMETER: throw new Exception("An invalid parameter was passed to the function."); case ERROR_UNKNOWN_COMPONENT: throw new Exception("The specified component is unknown."); default: throw new Exception(); } } The problem is thay symbolic constants in the switch statement (eg ERROR_INVALID_PARAMETER which are uints) aren't recognised so error on compile. Do you know how I can resolve these. I'm assuming there might be an Enum for them but I can't locate them. Again any help would be appreciated. Regards, Anil. On Thu, Aug 25, 2011 at 11:13 AM, Peter Shirtcliffe <pshirtcli...@sdl.com>wrote: > MsiEnumFeatures() > http://msdn.microsoft.com/en-us/library/aa370098%28v=vs.85%29.aspx > > > -----Original Message----- > From: Anil Patel [mailto:apatel...@googlemail.com] > Sent: 25 August 2011 11:08 > To: General discussion for Windows Installer XML toolset. > Subject: [WiX-users] Identifying Features that have been installed > > Hello, > > I have a configuration program that is run manually by a user > (following a new install or a change to an existing installation) > which allows the user to configure the installed features. > > There is a requirement to disable the configuration of features not > installed by the user. > > The question is, is there a way for the configuration program to > identify which featues have been installed? > > I could record this data into the registry during the install and > remove it when a feature is uninstalled but I just wondered if there > was any other way of doing this. > > Thank you for your time. > > > Regards, > Anil. > > ---------------------------------------------------------------------- > ------- > - > EMC VNX: the world's simplest storage, starting under $10K The only > unified storage solution that offers unified management Up to 160% > more powerful than alternatives and 25% more efficient. > Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > 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. > > > > ---------------------------------------------------------------------- > -------- EMC VNX: the world's simplest storage, starting under $10K > The only unified storage solution that offers unified management Up to > 160% more powerful than alternatives and 25% more efficient. > Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ---------------------------------------------------------------------------- -- EMC VNX: the world's simplest storage, starting under $10K The only unified storage solution that offers unified management Up to 160% more powerful than alternatives and 25% more efficient. Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ EMC VNX: the world's simplest storage, starting under $10K The only unified storage solution that offers unified management Up to 160% more powerful than alternatives and 25% more efficient. Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users