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.

66 lines
2.6 KiB

  1. //=======================================================================
  2. //
  3. // Copyright (c) 1998-2000 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // File: install.h
  6. //
  7. // Description:
  8. //
  9. // Functions called to install downloaded software and drivers
  10. //
  11. //=======================================================================
  12. #define ITEM_STATUS_SUCCESS 0x00000000 // The package was installed successfully.
  13. #define ITEM_STATUS_INSTALLED_ERROR 0x00000001 // The package was Installed however there were some minor problems that did not prevent installation.
  14. #define ITEM_STATUS_FAILED 0x00000002 // The packages was not installed.
  15. #define ITEM_STATUS_SUCCESS_REBOOT_REQUIRED 0x00000004 // The package was installed and requires a reboot.
  16. #define ITEM_STATUS_DOWNLOAD_COMPLETE 0x00000008 // The package was downloaded but not installed
  17. #define ITEM_STATUS_UNINSTALL_STARTED 0x00000010 // uninstall was started
  18. //
  19. #define COMMANDTYPE_INF 1
  20. #define COMMANDTYPE_ADVANCEDINF 2
  21. #define COMMANDTYPE_EXE 3
  22. #define COMMANDTYPE_MSI 4
  23. #define COMMANDTYPE_CUSTOM 5
  24. typedef struct INSTALLCOMMANDINFO
  25. {
  26. int iCommandType; // INF, ADVANCED_INF, EXE, CUSTOM
  27. TCHAR szCommandLine[MAX_PATH]; // Command to Run (EXE name or INF name)
  28. TCHAR szCommandParameters[MAX_PATH]; // Parameters for Command (switches, etc..)
  29. TCHAR szInfSection[256]; // INF Install Section if Override is needed
  30. } INSTALLCOMMANDINFO, *PINSTALLCOMMANDINFO;
  31. /*** InstallPrinterDriver -
  32. *
  33. */
  34. HRESULT InstallPrinterDriver(
  35. IN LPCTSTR pszDriverName,
  36. IN LPCTSTR pszLocalDir, //Local directory where installation files are.
  37. IN LPCTSTR pszArchitecture,
  38. OUT DWORD* pdwStatus
  39. );
  40. //This function handles installation of a Device driver package.
  41. HRESULT InstallDriver(
  42. IN LPCTSTR pszLocalDir, // Local directory where installation files are.
  43. IN LPCTSTR pszDisplayName, // Description of package, Device Manager displays this in its install dialog.
  44. IN LPCTSTR pszHardwareID, // ID from XML matched to client hardware via GetManifest()
  45. OUT DWORD* pdwStatus
  46. );
  47. //This function handles installation of an Active Setup type package (INF or EXE)
  48. HRESULT InstallSoftwareItem(
  49. IN LPTSTR pszInstallSourcePath,
  50. IN BOOL fRebootRequired,
  51. IN LONG lNumberOfCommands,
  52. IN PINSTALLCOMMANDINFO pCommandInfoArray,
  53. OUT DWORD* pdwStatus
  54. );
  55. // this function handles installation of a Custom Installer type package
  56. HRESULT InstallCustomInstallerItem();