Desktop Functions: Smart Device Functions:
|
Search Results for "InstallState" in [All]advapi32One could use the System.ServiceProcess.ServiceInstaller and System.ServiceProcess.ServiceProcessInstaller, but doing so will create an InstallState file that may be undesirable. msi
static extern INSTALLSTATE MsiQueryProductState(string product);
Declare Function MsiQueryProductState Lib "msi.dll" (ByVal product As String) As INSTALLSTATE Makes use of the INSTALLSTATE enum, which can be found here - http://pinvoke.net/default.aspx/Enums.INSTALLSTATE
private static extern INSTALLSTATE MsiQueryProductState(string product);
INSTALLSTATE state = MsiQueryProductState("{11111111-2222-3333-4444-555555555555}"); Enums3: INSTALLSTATE
public enum INSTALLSTATE
INSTALLSTATE_NOTUSED = -7, // component disabled
INSTALLSTATE_BADCONFIG = -6, // configuration data corrupt
INSTALLSTATE_INCOMPLETE = -5, // installation suspended or in progress
INSTALLSTATE_SOURCEABSENT = -4, // run from source, source is unavailable
INSTALLSTATE_MOREDATA = -3, // return buffer overflow
INSTALLSTATE_INVALIDARG = -2, // invalid function argument
INSTALLSTATE_UNKNOWN = -1, // unrecognized product or feature
INSTALLSTATE_BROKEN = 0, // broken
INSTALLSTATE_ADVERTISED = 1, // advertised feature
INSTALLSTATE_REMOVED = 1, // component being removed (action state, not settable)
INSTALLSTATE_ABSENT = 2, // uninstalled (or action state absent but clients remain)
INSTALLSTATE_LOCAL = 3, // installed on local drive
INSTALLSTATE_SOURCE = 4, // run from source, CD or net
INSTALLSTATE_DEFAULT = 5, // use default, local or source
Public Enum INSTALLSTATE Constants4: PROPERTYKEY
public static PropertyKey PKEY_Device_InstallState = new PropertyKey(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 36); // DEVPROP_TYPE_UINT32
public static PropertyKey PKEY_PNPX_InstallState = new PropertyKey(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD, 0x00000004); // VT_UI4 | VT_VECTOR |