windows-nt/Source/XPSP1/NT/enduser/windows.com/inc/install.h
2020-09-26 16:20:57 +08:00

67 lines
2.6 KiB
C

//=======================================================================
//
// Copyright (c) 1998-2000 Microsoft Corporation. All Rights Reserved.
//
// File: install.h
//
// Description:
//
// Functions called to install downloaded software and drivers
//
//=======================================================================
#define ITEM_STATUS_SUCCESS 0x00000000 // The package was installed successfully.
#define ITEM_STATUS_INSTALLED_ERROR 0x00000001 // The package was Installed however there were some minor problems that did not prevent installation.
#define ITEM_STATUS_FAILED 0x00000002 // The packages was not installed.
#define ITEM_STATUS_SUCCESS_REBOOT_REQUIRED 0x00000004 // The package was installed and requires a reboot.
#define ITEM_STATUS_DOWNLOAD_COMPLETE 0x00000008 // The package was downloaded but not installed
#define ITEM_STATUS_UNINSTALL_STARTED 0x00000010 // uninstall was started
//
#define COMMANDTYPE_INF 1
#define COMMANDTYPE_ADVANCEDINF 2
#define COMMANDTYPE_EXE 3
#define COMMANDTYPE_MSI 4
#define COMMANDTYPE_CUSTOM 5
typedef struct INSTALLCOMMANDINFO
{
int iCommandType; // INF, ADVANCED_INF, EXE, CUSTOM
TCHAR szCommandLine[MAX_PATH]; // Command to Run (EXE name or INF name)
TCHAR szCommandParameters[MAX_PATH]; // Parameters for Command (switches, etc..)
TCHAR szInfSection[256]; // INF Install Section if Override is needed
} INSTALLCOMMANDINFO, *PINSTALLCOMMANDINFO;
/*** InstallPrinterDriver -
*
*/
HRESULT InstallPrinterDriver(
IN LPCTSTR pszDriverName,
IN LPCTSTR pszLocalDir, //Local directory where installation files are.
IN LPCTSTR pszArchitecture,
OUT DWORD* pdwStatus
);
//This function handles installation of a Device driver package.
HRESULT InstallDriver(
IN LPCTSTR pszLocalDir, // Local directory where installation files are.
IN LPCTSTR pszDisplayName, // Description of package, Device Manager displays this in its install dialog.
IN LPCTSTR pszHardwareID, // ID from XML matched to client hardware via GetManifest()
OUT DWORD* pdwStatus
);
//This function handles installation of an Active Setup type package (INF or EXE)
HRESULT InstallSoftwareItem(
IN LPTSTR pszInstallSourcePath,
IN BOOL fRebootRequired,
IN LONG lNumberOfCommands,
IN PINSTALLCOMMANDINFO pCommandInfoArray,
OUT DWORD* pdwStatus
);
// this function handles installation of a Custom Installer type package
HRESULT InstallCustomInstallerItem();