windows-nt/Source/XPSP1/NT/admin/dsclientnt4/setup/dscsetup/dscsetup.h

84 lines
2.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+------------------------------------------------------------------
//
// Project: Windows NT4 DS Client Setup Wizard
//
// Purpose: Installs the Windows NT4 DS Client Files
//
// File: dscsetup.h
//
// History: March 1998 Zeyong Xu Created
// Jan 2000 Jeff Jones (JeffJon) Modified
// - changed to be an NT setup
//
//------------------------------------------------------------------
#define MAX_MESSAGE 1024
#define MAX_TITLE 64
#define SETUP_SUCCESS 0
#define SETUP_ERROR 1
#define SETUP_CANCEL 2
#define NUM_FILES_TOTAL 14
#define SIZE_TOTAL 10
#define MB_TO_BYTE 1000000
#define SIZE_TITLE_FONT 12
#define SIZE_WIZARD_PAGE 4
#define STR_DSCLIENT_REGKEY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Setup\\OptionalComponents\\DsClient")
#define STR_IE_REGKEY TEXT("Software\\Microsoft\\Internet Explorer")
#define STR_VERSION TEXT("Version")
#define STR_IE_VERSION_4 TEXT("4")
#define STR_DCOM_REGKEY TEXT("CLSID\\{BDC67890-4FC0-11D0-A805-00AA006D2EA4}\\InstalledVersion")
#define STR_DLL_NAME TEXT("dscsetup.dll")
#define STR_INSTALL_DCOM95 TEXT("dcom95.exe /q /r:n")
#define STR_INSTALL_WAB TEXT("wabinst.exe /q /r:n")
#define STR_INSTALL_ADSI TEXT("adsix86.exe /C:\"rundll32 advpack.dll,LaunchINFSection adsix86.inf,RegADSIWithDsclient,,N\"")
#define STR_INSTALL_ADSIWREMOVE TEXT("adsix86.exe")
#define CHAR_BACKSLASH TEXT('\\')
// define a installation structure
typedef struct _SINSTALLVARIBLES
{
HINSTANCE m_hInstance;
HANDLE m_hInstallThread;
UINT m_uTimerID;
HWND m_hProgress;
HWND m_hFileNameItem;
HFONT m_hBigBoldFont;
BOOL m_bDCOMInstalled;
BOOL m_bQuietMode;
BOOL m_bWabInst;
BOOL m_bSysDlls;
#ifdef MERRILL_LYNCH
BOOL m_bNoReboot;
#endif
UINT m_nSetupResult;
TCHAR m_szSourcePath[MAX_PATH + 1];
CRITICAL_SECTION m_oCriticalSection;
} SInstallVariables;
VOID InitVariables();
VOID ParseCmdline(LPSTR lpCmdLine);
DWORD DoInstallation(HWND hWnd);
VOID CentreWindow(HWND hwnd);
DWORD64 SetupGetDiskFreeSpace();
BOOL CheckDSClientInstalled();
BOOL DSCSetupWizard();
void CheckDCOMInstalled();
BOOL LoadLicenseFile(HWND hDlg);
BOOL CheckDiskSpace();
BOOL CreateObjects();
VOID DestroyObjects();
VOID CreateBigFont();
// export function
DWORD WINAPI DoDscSetup(LPCSTR lpCmdLine);