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.

83 lines
2.4 KiB

  1. //+------------------------------------------------------------------
  2. //
  3. // Project: Windows NT4 DS Client Setup Wizard
  4. //
  5. // Purpose: Installs the Windows NT4 DS Client Files
  6. //
  7. // File: dscsetup.h
  8. //
  9. // History: March 1998 Zeyong Xu Created
  10. // Jan 2000 Jeff Jones (JeffJon) Modified
  11. // - changed to be an NT setup
  12. //
  13. //------------------------------------------------------------------
  14. #define MAX_MESSAGE 1024
  15. #define MAX_TITLE 64
  16. #define SETUP_SUCCESS 0
  17. #define SETUP_ERROR 1
  18. #define SETUP_CANCEL 2
  19. #define NUM_FILES_TOTAL 14
  20. #define SIZE_TOTAL 10
  21. #define MB_TO_BYTE 1000000
  22. #define SIZE_TITLE_FONT 12
  23. #define SIZE_WIZARD_PAGE 4
  24. #define STR_DSCLIENT_REGKEY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Setup\\OptionalComponents\\DsClient")
  25. #define STR_IE_REGKEY TEXT("Software\\Microsoft\\Internet Explorer")
  26. #define STR_VERSION TEXT("Version")
  27. #define STR_IE_VERSION_4 TEXT("4")
  28. #define STR_DCOM_REGKEY TEXT("CLSID\\{BDC67890-4FC0-11D0-A805-00AA006D2EA4}\\InstalledVersion")
  29. #define STR_DLL_NAME TEXT("dscsetup.dll")
  30. #define STR_INSTALL_DCOM95 TEXT("dcom95.exe /q /r:n")
  31. #define STR_INSTALL_WAB TEXT("wabinst.exe /q /r:n")
  32. #define STR_INSTALL_ADSI TEXT("adsix86.exe /C:\"rundll32 advpack.dll,LaunchINFSection adsix86.inf,RegADSIWithDsclient,,N\"")
  33. #define STR_INSTALL_ADSIWREMOVE TEXT("adsix86.exe")
  34. #define CHAR_BACKSLASH TEXT('\\')
  35. // define a installation structure
  36. typedef struct _SINSTALLVARIBLES
  37. {
  38. HINSTANCE m_hInstance;
  39. HANDLE m_hInstallThread;
  40. UINT m_uTimerID;
  41. HWND m_hProgress;
  42. HWND m_hFileNameItem;
  43. HFONT m_hBigBoldFont;
  44. BOOL m_bDCOMInstalled;
  45. BOOL m_bQuietMode;
  46. BOOL m_bWabInst;
  47. BOOL m_bSysDlls;
  48. #ifdef MERRILL_LYNCH
  49. BOOL m_bNoReboot;
  50. #endif
  51. UINT m_nSetupResult;
  52. TCHAR m_szSourcePath[MAX_PATH + 1];
  53. CRITICAL_SECTION m_oCriticalSection;
  54. } SInstallVariables;
  55. VOID InitVariables();
  56. VOID ParseCmdline(LPSTR lpCmdLine);
  57. DWORD DoInstallation(HWND hWnd);
  58. VOID CentreWindow(HWND hwnd);
  59. DWORD64 SetupGetDiskFreeSpace();
  60. BOOL CheckDSClientInstalled();
  61. BOOL DSCSetupWizard();
  62. void CheckDCOMInstalled();
  63. BOOL LoadLicenseFile(HWND hDlg);
  64. BOOL CheckDiskSpace();
  65. BOOL CreateObjects();
  66. VOID DestroyObjects();
  67. VOID CreateBigFont();
  68. // export function
  69. DWORD WINAPI DoDscSetup(LPCSTR lpCmdLine);