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.

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