123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- //*************************************************************
- //
- // 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
|