Leaked source code of windows server 2003
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.

162 lines
7.1 KiB

  1. /****************************************************************************
  2. Copyright (c) Microsoft Corporation 1998
  3. All rights reserved
  4. File: RBSETUP.H
  5. ***************************************************************************/
  6. #ifndef _RBINSTAL_H_
  7. #define _RBINSTAL_H_
  8. #include <remboot.h>
  9. // Global macros
  10. #define ARRAYSIZE(_x) ( sizeof(_x)/sizeof(_x[0]) )
  11. #define TERMINATE_BUFFER(_x) _x[ARRAYSIZE(_x)-1] = 0;
  12. #define WM_STARTSETUP WM_USER + 0x200
  13. #define WM_STARTCHECKING WM_USER + 0x200
  14. // Global structures
  15. typedef struct {
  16. //
  17. // Directory Tree
  18. //
  19. BOOL fIMirrorDirectory:1; // szIntelliMirrorPath is valid
  20. BOOL fIMirrorShareFound:1; // the IMIRROR share was found
  21. BOOL fDirectoryTreeExists:1; // If true, skip creating directories
  22. BOOL fNewOSDirectoryExists:1; // the user selected a directory that already existed
  23. BOOL fOSChooserDirectory:1; // directory exists szOSChooserPath is valid
  24. BOOL fOSChooserDirectoryTreeExists:1; // directory tree RemBoot.INF's "[OSChooser Tree]" is valid
  25. // fLanguageSet hast to be TRUE for these to be checked
  26. BOOL fOSChooserScreensDirectory:1; // the Language subdir exists
  27. //
  28. // BINL Service
  29. //
  30. BOOL fBINLServiceInstalled:1; // Service Manager says BINLSVC is installed
  31. BOOL fBINLFilesFound:1; // the BINLSVC files are in the System32 directory
  32. BOOL fBINLSCPFound:1; // We found the IntelliMirror SCP in the DS
  33. //
  34. // TFTPD Service
  35. //
  36. BOOL fTFTPDServiceInstalled:1; // Service Manager says TFTPD is installed
  37. BOOL fTFTPDFilesFound:1; // the TFTPD files are in the System32 directory
  38. BOOL fTFTPDDirectoryFound:1; // the RegKey is found and matches the szIntelliMirrorPath
  39. //
  40. // SIS Service
  41. //
  42. BOOL fSISServiceInstalled:1; // Service Manager says TFTPD is installed
  43. BOOL fSISFilesFound:1; // the TFTPD files are in the System32\drivers directory
  44. BOOL fSISVolumeCreated:1; // the "SIS Common Store" directory exists
  45. BOOL fSISSecurityCorrect:1; // the security on the "SIS Common Store" directory is correct
  46. //
  47. // SIS Groveler
  48. //
  49. BOOL fSISGrovelerServiceInstalled:1; // Service Single-Instance Storage Groveler installed
  50. BOOL fSISGrovelerFilesFound:1; // the Groveler files are in the System32 directory
  51. //
  52. // Dll Registration/Registry Operations
  53. //
  54. BOOL fRegSrvDllsRegistered:1; // All DLLs that are RegServered have been
  55. BOOL fRegSrvDllsFilesFound:1; // All DLLs that are RegServered are in the System32 directory
  56. BOOL fRegistryIntact:1; // Registry modifications made during setup have been entered
  57. //
  58. // OS Chooser Installation
  59. //
  60. BOOL fOSChooserInstalled:1; // all expected files for all platforms are installed
  61. // fLanguageSet hast to be TRUE for these to be checked
  62. BOOL fOSChooserScreens:1; // all expected screen are installed (per language)
  63. BOOL fScreenLeaveAlone:1; // don't touch the screen files
  64. BOOL fScreenOverwrite:1; // overwrite the screen files
  65. BOOL fScreenSaveOld:1; // rename the old screen files before copying
  66. //
  67. // Version compatibility
  68. //
  69. BOOL fServerCompatible:1; // Server is compatible with client workstation
  70. //
  71. // Flow Flags
  72. //
  73. BOOL fNewOS:1; // This is a new OS installation
  74. BOOL fLanguageSet:1; // szLanguage is valid
  75. BOOL fRemBootDirectory:1; // szRemBootDirectory is valid and found
  76. BOOL fProblemDetected:1; // Setup detected a problem with the server.
  77. BOOL fRetrievedWorkstationString:1; // If szWorkstation* have been set.
  78. BOOL fCheckServer:1; // Force server check (command line -check)
  79. BOOL fAddOption:1; // -add command line specified
  80. BOOL fFirstTime:1; // First time this server ever ran RISETUP?
  81. BOOL fUpgrade:1; // Running during OCM, no GUI, just do the CopyServerFiles()
  82. BOOL fAlreadyChecked:1; // If CheckInstallation() has run once, this is set to TRUE.
  83. BOOL fAutomated:1; // Using script to automated installation
  84. BOOL fDontAuthorizeDhcp:1; // Should we authorize DHCP
  85. BOOL fLanguageOverRide:1; // was a language override specified in unattend file?
  86. //
  87. // Results of installation
  88. //
  89. BOOL fAbort:1; // user abort
  90. BOOL fError:1; // fatal error occurred
  91. //
  92. // Platform
  93. //
  94. ULONG ProcessorArchitecture; // Which processor architecture are we building an image for?
  95. WCHAR ProcessorArchitectureString[16];
  96. DWORD dwWksCodePage; // The codepage of the image source
  97. //
  98. // INF
  99. //
  100. HINF hinf; // Server's open REMBOOT.INF handle
  101. HINF hinfAutomated; // Handle to the automated script INF
  102. //
  103. // Image Info
  104. //
  105. WCHAR szMajorVersion[5];
  106. WCHAR szMinorVersion[5];
  107. DWORD dwBuildNumber;
  108. //
  109. // Paths
  110. //
  111. WCHAR szIntelliMirrorPath[ 128 ]; // X:\IntelliMirror
  112. WCHAR szSourcePath[ MAX_PATH ]; // CD:\i386 or \\server\share
  113. WCHAR szInstallationName[ REMOTE_INSTALL_MAX_DIRECTORY_CHAR_COUNT ]; // "nt50.wks" or whatever the user chooses
  114. WCHAR szLanguage[ 32 ]; // "English" or a Language string
  115. WCHAR szWorkstationRemBootInfPath[ MAX_PATH ];
  116. WCHAR szWorkstationDiscName[ 128 ]; // "Windows NT Workstation 5.0"
  117. WCHAR szWorkstationSubDir[ 32 ]; // "\i386" or "\ia64" or ...
  118. WCHAR szWorkstationTagFile[ MAX_PATH ]; // "\cdrom_i.5b2" or something similiar
  119. WCHAR szTFTPDDirectory[ 128 ]; // where TFTPD thinks the IntelliMirror directory is
  120. WCHAR szRemBootDirectory[ MAX_PATH - (1+8+1+3)]; // %windir%\system32\remboot\
  121. //
  122. // SIF file stuff
  123. //
  124. WCHAR szDescription[ REMOTE_INSTALL_MAX_DESCRIPTION_CHAR_COUNT ];
  125. WCHAR szHelpText[ REMOTE_INSTALL_MAX_HELPTEXT_CHAR_COUNT ];
  126. //
  127. // Generated path to be re-used
  128. //
  129. WCHAR szInstallationPath[ MAX_PATH ]; // X:\IntelliMirror\Setup\<Lang>\Images\<Install>
  130. WCHAR szOSChooserPath[ MAX_PATH ]; // X:\IntelliMirror\OSChooser
  131. } OPTIONS, *LPOPTIONS;
  132. // Globals
  133. extern HINSTANCE g_hinstance;
  134. extern OPTIONS g_Options;
  135. #endif // _RBINSTAL_H_