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:[email protected]]
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
<[email protected]>wrote:
> MsiEnumFeatures()
> http://msdn.microsoft.com/en-us/library/aa370098%28v=vs.85%29.aspx
>
>
> -----Original Message-----
> From: Anil Patel [mailto:[email protected]]
> 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
> [email protected]
> 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
> [email protected]
> 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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users