Installed Update Apps


Then to test or skip Updates for IInstalledApp (pApp like you named
it) =>
{
APPUPDATEINFODATA auid;
IInstalledAppsUpdate *pIAU;
BOOL bIsAppUpdate = FALSE;
hr = pApp->QueryInterface(IID_IInstalledAppsUpdate, (void**)&pIAU);
if (SUCCEEDED(hr))
{
auid.cbSize = sizeof(auid);
auid.dwMask = IAU_UPDATE_NUMBER | IAU_UPDATE_PRODUCT |
IAU_UPDATE_PRODUCT_DISPLAYNAME | IAU_UPDATE_TYPE;
hr = pIAU->GetAppInfo(&auid);
if (SUCCEEDED(hr))
pIAU->Release();
}
bIsAppUpdate = auid.lpwszProduct[0];
}

------------------------------------------------------------------------------------------------------------
import "ocidl.idl";
import "objidl.idl";

typedef enum
{
IAU_UPDATE_NUMBER = 0x00000001,
IAU_UPDATE_PRODUCT = 0x00000002,
IAU_UPDATE_PRODUCT_DISPLAYNAME = 0x00000004,
IAU_UPDATE_TYPE = 0x00000008
} IAUFLAGS;

typedef struct _AppUpdateInfoData
{
unsigned long cbSize;
unsigned long dwMask;
LPWSTR lpwszNumber;
LPWSTR lpwszProduct;
LPWSTR lpwszProductDisplayName;
LPWSTR lpwszType;
int foo1;
int foo2;
} APPUPDATEINFODATA;

[
uuid(426c001a-a81e-4a18-add6-307f19244636),
helpstring("Installed Applications Update Interface")
]
interface IInstalledAppsUpdate : IUnknown
{
HRESULT GetAppInfo([in, out] APPUPDATEINFODATA *pauid);
};

http://groups.google.com/group/comp.os.ms-windows.programmer.win32/browse_thread/thread/7bcbe6b2a45dc2c0?pli=1
prev 1 ··· 33 34 35 36 37 38 39 ··· 54 next