Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//************************************************************* // // appmgmt.h // // APIs for operations on MSI applications which are deployed // and managed in the NT Directory. // // Copyright (c) Microsoft Corporation 1998-1999 // All rights reserved // //*************************************************************
#ifndef _APPMGMT_H_ #define _APPMGMT_H_
#if _MSC_VER > 1000 #pragma once #endif
#ifdef __cplusplus extern "C" { #endif
typedef enum _INSTALLSPECTYPE { APPNAME = 1, FILEEXT, PROGID, COMCLASS } INSTALLSPECTYPE;
typedef union _INSTALLSPEC { struct { WCHAR * Name; GUID GPOId; } AppName; WCHAR * FileExt; WCHAR * ProgId; struct { GUID Clsid; DWORD ClsCtx; } COMClass; } INSTALLSPEC;
typedef struct _INSTALLDATA { INSTALLSPECTYPE Type; INSTALLSPEC Spec; } INSTALLDATA, *PINSTALLDATA;
typedef enum { ABSENT, ASSIGNED, PUBLISHED } APPSTATE;
#define LOCALSTATE_ASSIGNED 0x1 // app is assigned #define LOCALSTATE_PUBLISHED 0x2 // app is published #define LOCALSTATE_UNINSTALL_UNMANAGED 0x4 // uninstall any unmanaged version before assigning #define LOCALSTATE_POLICYREMOVE_ORPHAN 0x8 // app is orphaned when policy removed #define LOCALSTATE_POLICYREMOVE_UNINSTALL 0x10 // app is uninstalled when policy removed #define LOCALSTATE_ORPHANED 0x20 // app is orphaned after being applied #define LOCALSTATE_UNINSTALLED 0x40 // app is uninstalled after being applied
typedef struct _LOCALMANAGEDAPPLICATION { LPWSTR pszDeploymentName; LPWSTR pszPolicyName; LPWSTR pszProductId; DWORD dwState; } LOCALMANAGEDAPPLICATION, *PLOCALMANAGEDAPPLICATION;
#define MANAGED_APPS_USERAPPLICATIONS 0x1 #define MANAGED_APPS_FROMCATEGORY 0x2 #define MANAGED_APPS_INFOLEVEL_DEFAULT 0x10000
#define MANAGED_APPTYPE_WINDOWSINSTALLER 0x1 #define MANAGED_APPTYPE_SETUPEXE 0x2 #define MANAGED_APPTYPE_UNSUPPORTED 0x3
typedef struct _MANAGEDAPPLICATION { LPWSTR pszPackageName; LPWSTR pszPublisher; DWORD dwVersionHi; DWORD dwVersionLo; DWORD dwRevision; GUID GpoId; LPWSTR pszPolicyName; GUID ProductId; LANGID Language; LPWSTR pszOwner; LPWSTR pszCompany; LPWSTR pszComments; LPWSTR pszContact; LPWSTR pszSupportUrl; DWORD dwPathType; BOOL bInstalled; } MANAGEDAPPLICATION, *PMANAGEDAPPLICATION;
typedef struct _APPCATEGORYINFO { LCID Locale; LPWSTR pszDescription; GUID AppCategoryId; } APPCATEGORYINFO;
typedef struct _APPCATEGORYINFOLIST { DWORD cCategory; #ifdef MIDL_PASS [size_is(cCategory)] #endif APPCATEGORYINFO * pCategoryInfo; } APPCATEGORYINFOLIST;
#ifndef WINAPI #define WINAPI #endif
DWORD WINAPI InstallApplication( PINSTALLDATA pInstallInfo );
DWORD WINAPI UninstallApplication( WCHAR * ProductCode, DWORD dwStatus );
DWORD WINAPI CommandLineFromMsiDescriptor( WCHAR * Descriptor, WCHAR * CommandLine, DWORD * CommandLineLength );
DWORD WINAPI GetManagedApplications( GUID * pCategory, DWORD dwQueryFlags, DWORD dwInfoLevel, LPDWORD pdwApps, PMANAGEDAPPLICATION* prgManagedApps );
DWORD WINAPI GetLocalManagedApplications( BOOL bUserApps, LPDWORD pdwApps, PLOCALMANAGEDAPPLICATION* prgLocalApps );
void WINAPI GetLocalManagedApplicationData( WCHAR * ProductCode, LPWSTR * DisplayName, LPWSTR * SupportUrl );
DWORD WINAPI GetManagedApplicationCategories( DWORD dwReserved, APPCATEGORYINFOLIST* pAppCategory );
#ifdef __cplusplus } #endif
#endif
|