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.

80 lines
2.5 KiB

  1. //=======================================================================
  2. //
  3. // Copyright (c) 1999 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // File: install.h
  6. //
  7. // Purpose: Install/uninstall components
  8. //
  9. //=======================================================================
  10. #ifndef _INSTALL_H
  11. #define _INSTALL_H
  12. #include "stdafx.h"
  13. #include "WUV3IS.h"
  14. #include <stdio.h>
  15. #include <initguid.h>
  16. #include <inseng.h>
  17. #include <winspool.h>
  18. #define USEWUV3INCLUDES
  19. #include <wuv3.h>
  20. #undef USEWUV3INCLUDES
  21. #include <osdet.h>
  22. #include "printers.h"
  23. #include "progress.h"
  24. //#include "trust.h"
  25. #include "history.h"
  26. #include "detect.h"
  27. #include "callback.h"
  28. #include "log.h"
  29. #include "locstr.h"
  30. #define FILEVERINI_FN _T("FileVer.INI") // contains version information
  31. //
  32. // URLPING status codes (cannot contain spaces)
  33. //
  34. const TCHAR URLPING_CANCELED[] = _T("DLOAD_CANCEL");
  35. const TCHAR URLPING_FAILED[] = _T("DLOAD_FAILURE");
  36. const TCHAR URLPING_SUCCESS[] = _T("DLOAD_SUCCESS");
  37. const TCHAR URLPING_INSTALL_FAILED[] = _T("INSTALL_FAILURE");
  38. const TCHAR URLPING_INSTALL_SUCCESS[] = _T("INSTALL_SUCCESS");
  39. typedef struct _INSTALLINFOSTRUCT
  40. {
  41. PINVENTORY_ITEM pItem; // inventory item for this record
  42. CCatalog* pCatalog; // catalog pointer for this item
  43. CWUDownload* pdl; // CabPool download object for this item
  44. BOOL bServerNew; // TRUE if this is a new download class, FALSE otherwise
  45. PSELECTITEMINFO pInfo; // pointer to the the selected item
  46. int iSelIndex; // selection index
  47. DWORD dwLocaleID;
  48. DWORD dwPlatform;
  49. BOOL bHistoryWritten;
  50. BOOL bDownloaded;
  51. CWUDownload* pdlRoot; // download object for this item which points to the content root
  52. PINVENTORY_ITEM pTopLevelItem; // contains NULL or a pointer to top level item of a dependency
  53. } INSTALLINFOSTRUCT, *PINSTALLINFOSTRUCT;
  54. void InstallActiveSetupItem(LPCTSTR szLocalDir, LPCTSTR pszCifFile, PSELECTITEMINFO pStatusInfo, IWUProgress* pProgress);
  55. HRESULT UninstallActiveSetupItem(LPCTSTR pszUninstallKey);
  56. HRESULT GetUninstallCmdFromKey(LPCSTR pszUninstallKey, LPSTR pszCmdValue);
  57. void InstallDriverItem(LPCTSTR szLocalDir, BOOL bWindowsNT, LPCTSTR pszTitle, PINVENTORY_ITEM pItem, PSELECTITEMINFO pStatusInfo);
  58. HRESULT UninstallDriverItem(PINVENTORY_ITEM pItem, PSELECTITEMINFO pStatusInfo);
  59. void InstallPrinterItem(LPCTSTR pszDriverName, LPCTSTR pszInstallFolder, LPCTSTR pszArchitecture);
  60. void CheckDllsToJit(LPCTSTR pszServer);
  61. void URLPingReport(PINVENTORY_ITEM pItem, CCatalog* pCatalog, PSELECTITEMINFO pSelectItem, LPCTSTR pszStatus);
  62. #endif // _INSTALL_H