84 lines
2.4 KiB
C
84 lines
2.4 KiB
C
//+------------------------------------------------------------------
|
|
//
|
|
// 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);
|