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.

780 lines
17 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. w95upg.h
  5. Abstract:
  6. Defines types and functions, and declares globals used for
  7. w95upg.dll only.
  8. Author:
  9. Jim Schmidt (jimschm) 25-Sep-1996
  10. Revision History:
  11. See SLM log
  12. --*/
  13. #pragma once
  14. // property sheet
  15. #include <prsht.h>
  16. // twain data structs
  17. #include <twain.h>
  18. #include "unattend.h"
  19. WINNT32_PLUGIN_INIT_ROUTINE_PROTOTYPE Winnt32PluginInit;
  20. WINNT32_PLUGIN_GETPAGES_ROUTINE_PROTOTYPE Winnt32PluginGetPages;
  21. WINNT32_PLUGIN_WRITEPARAMS_ROUTINE_PROTOTYPE Winnt32WriteParams;
  22. WINNT32_PLUGIN_CLEANUP_ROUTINE_PROTOTYPE Winnt32Cleanup;
  23. extern UINT g_ProgressBarTime;
  24. //
  25. // Macro returns true if setup is running in unattended mode.
  26. //
  27. #define UNATTENDED() (g_UnattendedFlagPtr && *g_UnattendedFlagPtr)
  28. //
  29. // Macro returns true if setup is running in upgrade mode.
  30. //
  31. #define UPGRADE() (g_UpgradeFlagPtr && *g_UpgradeFlagPtr)
  32. //
  33. // Macro returns true if setup is running in report-only mode.
  34. //
  35. #define REPORTONLY() (g_ConfigOptions.ReportOnly)
  36. //
  37. // Macro returns true if setup is running in typical mode.
  38. //
  39. #define TYPICAL() (g_SetupFlags && (*g_SetupFlags & UPG_FLAG_TYPICAL))
  40. //
  41. // Macros for setting, clearing, and checking the cancel flag.
  42. //
  43. #define SETCANCEL() (g_CancelFlagPtr ? *g_CancelFlagPtr = TRUE : 0)
  44. #define CLEARCANCEL() (g_CancelFlagPtr ? *g_CancelFlagPtr = FALSE : 0)
  45. #define CANCELLED() (g_CancelFlagPtr && *g_CancelFlagPtr)
  46. #define SOURCEDIRECTORYCOUNT() (g_SourceDirectoryCount)
  47. #define SOURCEDIRECTORYARRAY() (g_SourceDirectories)
  48. #define SOURCEDIRECTORY(n) (g_SourceDirectories[n])
  49. #define OPTIONALDIRECTORYCOUNT() (g_OptionalDirectoryCount)
  50. #define OPTIONALDIRECTORYARRAY() (g_OptionalDirectories)
  51. #define OPTIONALDIRECTORY(n) (g_OptionalDirectories[n])
  52. //
  53. // Globals in dllentry.c
  54. //
  55. extern PTSTR g_WinDir;
  56. extern PTSTR g_WinDirWack;
  57. extern PTSTR g_WinDrive;
  58. extern PTSTR g_PlugInDir;
  59. extern PTSTR g_PlugInDirWack;
  60. extern PTSTR g_PlugInTempDir;
  61. extern PTSTR g_TempDir;
  62. extern PTSTR g_Win9xSifDir;
  63. extern PTSTR g_TempDirWack;
  64. extern PTSTR g_SystemDir;
  65. extern PTSTR g_SystemDirWack;
  66. extern PTSTR g_System32Dir;
  67. extern PTSTR g_System32DirWack;
  68. extern PTSTR g_ProgramFilesDir;
  69. extern PTSTR g_ProgramFilesDirWack;
  70. extern PTSTR g_ProgramFilesCommonDir;
  71. extern PTSTR g_RecycledDirWack;
  72. extern PTSTR g_Win95UpgInfFile;
  73. extern PTSTR g_ProfileDirNt;
  74. extern PTSTR g_ProfileDir;
  75. extern PTSTR g_ProfileDirWack;
  76. extern PTSTR g_CommonProfileDir;
  77. extern PTSTR g_DriversDir;
  78. extern PTSTR g_InfDir;
  79. extern PTSTR g_HelpDir;
  80. extern PTSTR g_HelpDirWack;
  81. extern PTSTR g_CatRootDir;
  82. extern PTSTR g_CatRootDirWack;
  83. extern PTSTR g_FontsDir;
  84. extern PTSTR g_ViewersDir;
  85. extern PTSTR g_ColorDir;
  86. extern PTSTR g_SharedDir;
  87. extern PTSTR g_SpoolDir;
  88. extern PTSTR g_SpoolDriversDir;
  89. extern PTSTR g_PrintProcDir;
  90. extern PCTSTR g_SourceDirectories[MAX_SOURCE_COUNT];
  91. extern DWORD g_SourceDirectoryCount;
  92. extern PCTSTR g_OptionalDirectories[MAX_SOURCE_COUNT];
  93. extern DWORD g_OptionalDirectoryCount;
  94. extern PCTSTR* g_SourceDirectoriesFromWinnt32;
  95. extern PDWORD g_SourceDirectoryCountFromWinnt32;
  96. extern PCTSTR* g_OptionalDirectoriesFromWinnt32;
  97. extern PDWORD g_OptionalDirectoryCountFromWinnt32;
  98. extern PCTSTR* g_UnattendScriptFile;
  99. extern PCTSTR* g_CmdLineOptions;
  100. extern TCHAR g_DllDir[];
  101. extern TCHAR g_UpgradeSources[];
  102. extern BOOL * g_UnattendedFlagPtr;
  103. extern BOOL * g_CancelFlagPtr;
  104. extern BOOL * g_AbortFlagPtr;
  105. extern BOOL * g_UpgradeFlagPtr;
  106. extern BOOL * g_MakeLocalSourcePtr;
  107. extern BOOL * g_CdRomInstallPtr;
  108. extern BOOL * g_BlockOnNotEnoughSpace;
  109. extern PDWORD g_LocalSourceDrive;
  110. extern PLONGLONG g_LocalSourceSpace;
  111. extern PLONGLONG g_WinDirSpace;
  112. extern PUINT g_RamNeeded;
  113. extern PUINT g_RamAvailable;
  114. extern HINF g_Win95UpgInf;
  115. extern HINF g_TxtSetupSif;
  116. extern TCHAR g_Win95Name[MAX_TCHAR_PATH];
  117. extern BOOL * g_ForceNTFSConversion;
  118. extern UINT * g_ProductFlavor;
  119. extern BOOL g_PersonalSKU;
  120. extern PDWORD g_SetupFlags;
  121. extern PTSTR g_DynamicUpdateLocalDir;
  122. extern PTSTR g_DynamicUpdateDrivers;
  123. extern BOOL * g_UnattendSwitchSpecified;
  124. extern INT g_TempDirWackChars;
  125. extern INT g_WinDirWackChars;
  126. extern INT g_HelpDirWackChars;
  127. extern INT g_CatRootDirWackChars;
  128. extern INT g_SystemDirWackChars;
  129. extern INT g_System32DirWackChars;
  130. extern INT g_PlugInDirWackChars;
  131. extern INT g_RecycledDirWackChars;
  132. extern INT g_ProfileDirWackChars;
  133. extern INT g_ProgramFilesDirWackChars;
  134. extern PRODUCTTYPE * g_ProductType;
  135. extern USEROPTIONS g_ConfigOptions;
  136. extern BOOL g_UseSystemFont;
  137. extern LPCTSTR g_ProfileName;
  138. extern HWND g_ParentWnd;
  139. extern PCTSTR g_AdministratorStr;
  140. #ifdef PRERELEASE
  141. extern BOOL g_Stress; // private stress mode
  142. #endif
  143. extern POOLHANDLE g_GlobalPool; // for global strings that last for the complete runtime
  144. extern UINT * g_Boot16;
  145. extern BOOL g_BadVirusScannerFound;
  146. extern BOOL g_BlockingFileFound;
  147. extern BOOL g_BlockingHardwareFound;
  148. extern BOOL g_BlockingAppFound;
  149. extern BOOL g_KillNav;
  150. extern GROWLIST g_BadVirusScannerGrowList;
  151. extern BOOL g_OtherOsExists;
  152. extern BOOL g_UnknownOs;
  153. extern BOOL g_ToolMode;
  154. extern DWORD g_BackupDirCount;
  155. extern PMAPSTRUCT g_CacheShellFolders;
  156. //
  157. // Globals in sysmig\migmain.c
  158. //
  159. extern ICON_EXTRACT_CONTEXT g_IconContext;
  160. //
  161. // Tool Mode: Routines specific to non-shipping tools
  162. //
  163. BOOL
  164. InitToolMode (
  165. HINSTANCE Instance
  166. );
  167. VOID
  168. TerminateToolMode (
  169. HINSTANCE Instance
  170. );
  171. //
  172. // COMMON9X: common9x.c
  173. //
  174. VOID
  175. InitializeKnownGoodIconMap (
  176. VOID
  177. );
  178. VOID
  179. CleanUpKnownGoodIconMap (
  180. VOID
  181. );
  182. BOOL
  183. IsIconKnownGood (
  184. IN PCTSTR FileSpec,
  185. IN INT Index
  186. );
  187. typedef struct {
  188. TCHAR JoystickDriver[MAX_TCHAR_PATH];
  189. TCHAR JoystickName[MAX_TCHAR_PATH];
  190. HKEY Root;
  191. UINT JoyId;
  192. } JOYSTICK_ENUM, *PJOYSTICK_ENUM;
  193. BOOL
  194. EnumFirstJoystick (
  195. OUT PJOYSTICK_ENUM EnumPtr
  196. );
  197. BOOL
  198. EnumNextJoystick (
  199. IN OUT PJOYSTICK_ENUM EnumPtr
  200. );
  201. VOID
  202. AbortJoystickEnum (
  203. IN OUT PJOYSTICK_ENUM EnumPtr
  204. );
  205. LRESULT
  206. TwoButtonBox (
  207. IN HWND Window,
  208. IN PCTSTR Text,
  209. IN PCTSTR Button1,
  210. IN PCTSTR Button2
  211. );
  212. BOOL
  213. DontTouchThisFile (
  214. IN PCTSTR FileName
  215. );
  216. VOID
  217. ReplaceOneEnvVar (
  218. IN OUT PCTSTR *NewString,
  219. IN PCTSTR Base,
  220. IN PCTSTR Variable,
  221. IN PCTSTR Value
  222. );
  223. VOID
  224. Init9xEnvironmentVariables (
  225. VOID
  226. );
  227. BOOL
  228. Expand9xEnvironmentVariables (
  229. IN PCSTR SourceString,
  230. OUT PSTR DestinationString, // can be the same as SourceString
  231. IN INT DestSizeInBytes
  232. );
  233. VOID
  234. CleanUp9xEnvironmentVariables (
  235. VOID
  236. );
  237. BOOL
  238. FixGuid (
  239. IN PCTSTR Guid,
  240. OUT PTSTR NewGuid // can be the same as Guid
  241. );
  242. BOOL
  243. IsGuid (
  244. IN PCTSTR Guid,
  245. IN BOOL MustHaveBraces
  246. );
  247. //
  248. // COMMON9X: userenum.c
  249. //
  250. typedef enum {
  251. NAMED_USER = 0x0001,
  252. DEFAULT_USER = 0x0002,
  253. ADMINISTRATOR = 0x0004,
  254. LAST_LOGGED_ON_USER = 0x0008,
  255. INVALID_ACCOUNT = 0x0010,
  256. LOGON_PROMPT = 0x0020,
  257. CURRENT_USER = 0x0040
  258. } ACCOUNTTYPE;
  259. typedef enum {
  260. UE_STATE_INIT,
  261. UE_STATE_BEGIN_WIN95REG,
  262. UE_STATE_NEXT_WIN95REG,
  263. UE_STATE_NO_USERS,
  264. UE_STATE_ADMINISTRATOR,
  265. UE_STATE_LOGON_PROMPT,
  266. UE_STATE_DEFAULT_USER,
  267. UE_STATE_RETURN,
  268. UE_STATE_CLEANUP,
  269. UE_STATE_END
  270. } USERENUM_STATE;
  271. typedef struct {
  272. // Enumeration Output
  273. TCHAR UserName[MAX_USER_NAME]; // always filled, even for logon prompt or default user
  274. TCHAR FixedUserName[MAX_USER_NAME]; // always filled, unless caller specifically turns this off
  275. TCHAR AdminUserName[MAX_USER_NAME]; // filled if AccountType is ADMINISTRATOR
  276. TCHAR FixedAdminUserName[MAX_USER_NAME]; // filled if AccountType is ADMINISTRATOR
  277. TCHAR UserDatPath[MAX_TCHAR_PATH]; // is empty if AccountType has INVALID_ACCOUNT
  278. TCHAR ProfileDirName[MAX_TCHAR_PATH]; // is empty if AccountType has INVALID_ACCOUNT
  279. TCHAR OrgProfilePath[MAX_TCHAR_PATH]; // is empty if AccountType has INVALID_ACCOUNT
  280. TCHAR NewProfilePath[MAX_TCHAR_PATH]; // symbolic path because actual path is not known
  281. ACCOUNTTYPE AccountType; // always filled
  282. BOOL CreateAccountOnly; // TRUE for valid accounts that won't be migrated
  283. HKEY UserRegKey; // NULL if AccountType has INVALID_ACCOUNT, or caller specifies no hive flag
  284. BOOL CommonProfilesEnabled; // filled by EnumFirstUser
  285. // Privates for enumeration
  286. BOOL EnableNameFix;
  287. BOOL DoNotMapHive;
  288. BOOL WantCreateOnly;
  289. BOOL WantLogonPrompt;
  290. USERPOSITION pos;
  291. BOOL DefaultUserHive;
  292. BOOL RealAdminAccountExists;
  293. BOOL LastEnumWasAdmin;
  294. TCHAR LastLoggedOnUserName[MAX_USER_NAME];
  295. TCHAR CurrentUserName[MAX_USER_NAME];
  296. PVOID ProfileDirTable;
  297. USERENUM_STATE State;
  298. USERENUM_STATE NextState;
  299. } USERENUM, *PUSERENUM;
  300. #define ENUMUSER_ENABLE_NAME_FIX 0x0001
  301. #define ENUMUSER_DO_NOT_MAP_HIVE 0x0002
  302. #define ENUMUSER_ADMINISTRATOR_ALWAYS 0x0004
  303. #define ENUMUSER_NO_LOGON_PROMPT 0x0008
  304. BOOL
  305. EnumFirstUser (
  306. OUT PUSERENUM EnumPtr,
  307. IN DWORD Flags
  308. );
  309. BOOL
  310. EnumNextUser (
  311. IN OUT PUSERENUM EnumPtr
  312. );
  313. VOID
  314. EnumUserAbort (
  315. IN OUT PUSERENUM EnumPtr
  316. );
  317. //
  318. // COMMON9X: ntenv.c
  319. //
  320. VOID
  321. InitNtEnvironment (
  322. VOID
  323. );
  324. VOID
  325. TerminateNtEnvironment (
  326. VOID
  327. );
  328. VOID
  329. InitNtUserEnvironment (
  330. IN PUSERENUM UserEnumPtr
  331. );
  332. VOID
  333. TerminateNtUserEnvironment (
  334. VOID
  335. );
  336. VOID
  337. MapNtUserEnvironmentVariable (
  338. IN PCSTR Variable,
  339. IN PCSTR Value
  340. );
  341. VOID
  342. MapNtSystemEnvironmentVariable (
  343. IN PCSTR Variable,
  344. IN PCSTR Value
  345. );
  346. BOOL
  347. ExpandNtEnvironmentVariables (
  348. IN PCSTR SourceString,
  349. OUT PSTR DestinationString, // can be the same as SourceString
  350. IN INT DestSizeInBytes
  351. );
  352. //
  353. // COMMON9X: namefix.c
  354. //
  355. BOOL
  356. ValidateName (
  357. IN HWND ParentWnd, OPTIONAL
  358. IN PCTSTR NameGroup,
  359. IN PCTSTR NameCandidate
  360. );
  361. BOOL
  362. ValidateDomainNameChars (
  363. IN PCTSTR NameCandidate
  364. );
  365. BOOL
  366. ValidateUserNameChars (
  367. IN PCTSTR NameCandidate
  368. );
  369. VOID
  370. CreateNameTables (
  371. VOID
  372. );
  373. BOOL
  374. IsIncompatibleNamesTableEmpty (
  375. VOID
  376. );
  377. BOOL
  378. GetUpgradeComputerName (
  379. OUT PTSTR NewComputerName
  380. );
  381. BOOL
  382. GetUpgradeDomainName (
  383. OUT PTSTR ComputerDomainName
  384. );
  385. BOOL
  386. GetUpgradeWorkgroupName (
  387. OUT PTSTR WorkgroupName
  388. );
  389. BOOL
  390. GetUpgradeUserName (
  391. IN PCTSTR User,
  392. OUT PTSTR NewUserName
  393. );
  394. BOOL
  395. WarnAboutBadNames (
  396. IN HWND PopupParent
  397. );
  398. BOOL
  399. IsOriginalDomainNameValid (
  400. VOID
  401. );
  402. //
  403. // COMMON9X: twain.c
  404. //
  405. //
  406. // TWAIN support
  407. //
  408. typedef enum {
  409. TE_INIT,
  410. TE_BEGIN_ENUM,
  411. TE_EVALUATE,
  412. TE_RETURN,
  413. TE_NEXT,
  414. TE_END_ENUM,
  415. TE_DONE
  416. } TWAIN_ENUM_STATE;
  417. typedef struct {
  418. // externally used members
  419. TW_STR32 Manufacturer;
  420. TW_STR32 ProductFamily;
  421. TW_STR32 DisplayName;
  422. CHAR DataSourceModule[MAX_MBCHAR_PATH];
  423. // internal enum members
  424. TWAIN_ENUM_STATE State;
  425. PCTSTR Dir;
  426. TREE_ENUM Enum;
  427. } TWAINDATASOURCE_ENUM, *PTWAINDATASOURCE_ENUM;
  428. BOOL
  429. EnumFirstTwainDataSource (
  430. OUT PTWAINDATASOURCE_ENUM EnumPtr
  431. );
  432. BOOL
  433. EnumNextTwainDataSource (
  434. IN OUT PTWAINDATASOURCE_ENUM EnumPtr
  435. );
  436. VOID
  437. AbortTwainDataSourceEnum (
  438. IN OUT PTWAINDATASOURCE_ENUM EnumPtr
  439. );
  440. //
  441. // Routine to add paths to Migration paths; defined in migapp\filescan.c
  442. //
  443. VOID
  444. AddMigrationPathEx (
  445. IN PCTSTR PathLong,
  446. IN DWORD Levels,
  447. IN BOOL Win9xOsPath
  448. );
  449. #define AddMigrationPath(p,l) AddMigrationPathEx(p,l,FALSE)
  450. //
  451. // Routine to check if a file is a Win32 DLL (migapp\modules.c)
  452. //
  453. BOOL
  454. IsWin32Library (
  455. IN PCTSTR ModuleName
  456. );
  457. //
  458. // Routine to check if a file is a Win32 EXE (migapp\modules.c)
  459. //
  460. BOOL
  461. IsWin32Exe (
  462. IN PCTSTR ModuleName
  463. );
  464. //
  465. // Routine to check if the currently generated report is empty,
  466. // given a Level of filtration
  467. //
  468. BOOL
  469. IsReportEmpty (
  470. IN DWORD Level
  471. );
  472. //
  473. // SYSMIG: userloop.c
  474. //
  475. PCTSTR
  476. ShellFolderGetPath (
  477. IN PUSERENUM EnumPtr,
  478. IN PCTSTR ShellFolderId
  479. );
  480. //
  481. // constant to identify the whole subtree of a path
  482. //
  483. #define MAX_DEEP_LEVELS 0xFFFFFFFF
  484. //
  485. // Enumeration structs
  486. //
  487. typedef enum {
  488. ENUM_STATE_INIT,
  489. ENUM_STATE_ENUM_FIRST_GROUP_ITEM,
  490. ENUM_STATE_RETURN_GROUP_ITEM,
  491. ENUM_STATE_ENUM_NEXT_GROUP_ITEM,
  492. ENUM_STATE_ENUM_NEXT_GROUP,
  493. ENUM_STATE_DONE
  494. } INVALID_NAME_STATE;
  495. typedef struct {
  496. //
  497. // Enumeration state
  498. //
  499. PCTSTR GroupName;
  500. TCHAR DisplayGroupName[256];
  501. PCTSTR OriginalName;
  502. TCHAR NewName[MEMDB_MAX];
  503. DWORD Identifier;
  504. //
  505. // Private enumeration members
  506. //
  507. MEMDB_ENUM NameGroup;
  508. MEMDB_ENUM Name;
  509. INVALID_NAME_STATE State;
  510. } INVALID_NAME_ENUM, *PINVALID_NAME_ENUM;
  511. //
  512. // Enumeration routines
  513. //
  514. BOOL
  515. EnumFirstInvalidName (
  516. OUT PINVALID_NAME_ENUM EnumPtr
  517. );
  518. BOOL
  519. EnumNextInvalidName (
  520. IN OUT PINVALID_NAME_ENUM EnumPtr
  521. );
  522. //
  523. // Maintenence routines
  524. //
  525. VOID
  526. GetNamesFromIdentifier (
  527. IN DWORD Identifier,
  528. IN PTSTR NameGroup, OPTIONAL
  529. IN PTSTR OriginalName, OPTIONAL
  530. IN PTSTR NewName OPTIONAL
  531. );
  532. VOID
  533. ChangeName (
  534. IN DWORD Identifier,
  535. IN PCTSTR NewName
  536. );
  537. VOID
  538. DisableDomainChecks (
  539. VOID
  540. );
  541. VOID
  542. EnableDomainChecks (
  543. VOID
  544. );
  545. DWORD
  546. GetDomainIdentifier (
  547. VOID
  548. );
  549. BOOL
  550. TreatAsGood (
  551. IN PCTSTR FullPath
  552. );
  553. VOID
  554. TerminateWinntSifBuilder (
  555. VOID
  556. );
  557. //
  558. // win95upg.inf sections and keys
  559. //
  560. #define SECTION_MIGRATION_FILES TEXT("MigrationFiles")
  561. #define SECTION_MIGRATION_DIRECTORIES TEXT("MigrationDirectories")
  562. #define KEY_TEMP_BASE TEXT("TempBase")
  563. #define KEY_MIG_EXT_ROOT TEXT("MigExtRoot")
  564. #define KEY_PATHS_FILE TEXT("MigExtPathsFile")
  565. #define WINDIR_SYSTEM_FIXED_FILES TEXT("WinDirSystemFixedFiles")
  566. #define SYSTEM32_FORCED_MOVE TEXT("System32ForcedMove")
  567. //
  568. // Other string constants
  569. //
  570. #define STR_WIN95UPG_INF TEXT("win95upg.inf")
  571. #define STR_SYSTEM32 TEXT("System32")
  572. // ticks for all functions
  573. #define TICKS_READ_NT_FILES 3000
  574. #define TICKS_MISC_MESSAGES 1
  575. #define TICKS_BUILD_UNATTEND 700
  576. #define TICKS_PRESERVE_SHELL_ICONS 1300
  577. #define TICKS_DELETE_WIN_DIR_WACK_INF 2100
  578. #define TICKS_MOVE_INI_FILES 30
  579. #define TICKS_SAVE_DOS_FILES 10
  580. #define TICKS_INIT_WIN95_REGISTRY 10
  581. #define TICKS_SAVE_SHARES 130
  582. #define TICKS_BAD_NAMES_WARNING 10
  583. #define TICKS_SAVE_MM_SETTINGS_SYSTEM 50
  584. #define TICKS_SAVE_MM_SETTINGS_USER 1100
  585. #define TICKS_CONDITIONAL_INCOMPATIBILITIES 200
  586. #define TICKS_HARDWARE_PROFILE_WARNING 10
  587. #define TICKS_UNSUPPORTED_PROTOCOLS_WARNING 30
  588. #define TICKS_RAS_PREPARE_REPORT 100
  589. #define TICKS_END_MIGRATION_DLL_PROCESSING 100
  590. #define TICKS_PREPARE_PROCESS_MODULES 5000
  591. #define TICKS_PROCESS_MODULES 10000
  592. #define TICKS_PROCESS_COMPATIBLE_SECTION 100
  593. #define TICKS_INIT_MIGDB 6200
  594. #define TICKS_DONE_MIGDB 4100
  595. #define TICKS_PROCESS_RUN_KEY 20
  596. #define TICKS_PROCESS_SHELL_SETTINGS 25
  597. #define TICKS_CHECK_NT_DIRS 300
  598. #define TICKS_MOVE_SYSTEM_DIR 6200
  599. #define TICKS_PROCESS_LINKS 3000
  600. #define TICKS_PROCESS_CPLS 3000
  601. #define TICKS_FILESCAN_DIR_INCREMENT 400
  602. #define TICKS_DOSMIG_PREPARE_REPORT 300
  603. #define TICKS_MIGDLL_QUERYVERSION 500
  604. #define TICKS_MIGDLL_DELTA 1000
  605. #define TICKS_MOVE_STATIC_FILES 15
  606. #define TICKS_COPY_STATIC_FILES 15
  607. #define TICKS_USERPROFILE_MIGRATION 250
  608. #define TICKS_MOVE_SYSTEMREGISTRY 10
  609. #define TICKS_OLEREG 8000
  610. #define TICKS_TWAIN 100
  611. #define TICKS_BACKUP_LAYOUT_OUTPUT 7000
  612. #define TICKS_SPACECHECK 5000
  613. #define TICKS_JOYSTICK_DETECTION 50
  614. #define TICKS_RECYCLEBINS 2000
  615. #define TICKS_GATHER_IME_INFO 2000
  616. #define TICKS_INIT_HLP_PROCESSING 50
  617. #define TICKS_ANSWER_FILE_DETECTION 20
  618. #define TICKS_INIT_APP_COMPAT 1000
  619. #define TICKS_DONE_APP_COMPAT 100
  620. #define TICKS_GATHERDEAD 120
  621. #define TICKS_CREATE_FILE_LISTS 7000
  622. #define TICKS_PREPAREPNPIDLIST 450
  623. #define TICKS_ADDDEFAULTCLEANUPDIRS 155
  624. #define TICKS_INITINIPROCESSING 255
  625. #define TICKS_DELETESTATICFILES 320
  626. #define TICKS_PROCESSMIGRATIONSECTIONS 2400
  627. #define TICKS_REPORTMAPIIFNOTHANDLED 200
  628. #define TICKS_FUSIONFILES 300
  629. #define TICKS_REPORTDARWINIFNOTHANDLED 200