I don't really do C# programming. However those nice Wix people have already done it for you. Look at the DTF help file in Wix for the ComponentInstallation class.
Something like new ComponentInstallation("<your component code>").Product.Features would enumerate your installed features. -----Original Message----- From: Anil Patel [mailto:apatel...@googlemail.com] Sent: 25 August 2011 12: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