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.

173 lines
2.9 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. inifile.c
  5. Abstract:
  6. Routines to deal with ini files.
  7. Author:
  8. Ted Miller (tedm) 5-Apr-1995
  9. Revision History:
  10. --*/
  11. #include "setupp.h"
  12. #pragma hdrstop
  13. //
  14. // Constants
  15. //
  16. PCWSTR szWININI = L"win.ini",
  17. szWINLOGON = L"winlogon",
  18. szUSERINIT = L"userinit",
  19. szDESKTOP = L"desktop";
  20. BOOL
  21. ReplaceIniKeyValue(
  22. IN PCWSTR IniFile,
  23. IN PCWSTR Section,
  24. IN PCWSTR Key,
  25. IN PCWSTR Value
  26. )
  27. {
  28. BOOL b;
  29. b = WritePrivateProfileString(Section,Key,Value,IniFile);
  30. if(!b) {
  31. SetuplogError(
  32. LogSevWarning,
  33. SETUPLOG_USE_MESSAGEID,
  34. MSG_LOG_INIWRITE_FAIL,
  35. IniFile,
  36. Section,
  37. Key,
  38. Value,
  39. GetLastError(),
  40. NULL,NULL);
  41. }
  42. return(b);
  43. }
  44. BOOL
  45. WinIniAlter1(
  46. VOID
  47. )
  48. {
  49. BOOL b;
  50. WCHAR AdminName[MAX_USERNAME+1];
  51. LoadString(MyModuleHandle,IDS_ADMINISTRATOR,AdminName,MAX_USERNAME+1);
  52. #ifdef DOLOCALUSER
  53. b = ReplaceIniKeyValue(
  54. szWININI,
  55. szWINLOGON,
  56. L"DefaultUserName",
  57. CreateUserAccount ? UserName : AdminName
  58. );
  59. #else
  60. b = ReplaceIniKeyValue(szWININI,szWINLOGON,L"DefaultUserName",AdminName);
  61. #endif
  62. if(!ReplaceIniKeyValue(szWININI,szWINLOGON,L"DebugServerCommand",L"no")) {
  63. b = FALSE;
  64. }
  65. return(b);
  66. }
  67. BOOL
  68. SetDefaultWallpaper(
  69. VOID
  70. )
  71. {
  72. BOOL b;
  73. PCWSTR p;
  74. b = FALSE;
  75. if(p = MyLoadString(IDS_DEFWALLPAPER)) {
  76. b = ReplaceIniKeyValue(szWININI,szDESKTOP,L"Wallpaper",p);
  77. MyFree(p);
  78. b = ReplaceIniKeyValue(szWININI,szDESKTOP,L"TileWallpaper",L"0");
  79. }
  80. return(b);
  81. }
  82. BOOL
  83. SetShutdownVariables(
  84. VOID
  85. )
  86. {
  87. BOOL b;
  88. if( (Upgrade) || (ProductType == PRODUCT_WORKSTATION) ) {
  89. b = TRUE;
  90. } else {
  91. b = ReplaceIniKeyValue(szWININI,szWINLOGON,L"ShutdownWithoutLogon",L"0");
  92. }
  93. return(b);
  94. }
  95. BOOL
  96. SetLogonScreensaver(
  97. VOID
  98. )
  99. {
  100. BOOL b;
  101. b = ReplaceIniKeyValue(szWININI,szDESKTOP,L"ScreenSaveActive",L"1");
  102. b &= ReplaceIniKeyValue(szWININI,szDESKTOP,L"SCRNSAVE.EXE",L"logon.scr");
  103. return(b);
  104. }
  105. BOOL
  106. InstallOrUpgradeFonts(
  107. VOID
  108. )
  109. {
  110. BOOL b;
  111. b = SetupInstallFromInfSection(
  112. NULL,
  113. SyssetupInf,
  114. Upgrade ? L"UpgradeFonts" : L"InstallFonts",
  115. SPINST_INIFILES,
  116. NULL,
  117. NULL,
  118. 0,
  119. NULL,
  120. NULL,
  121. NULL,
  122. NULL
  123. );
  124. if(!b) {
  125. SetuplogError(
  126. LogSevWarning,
  127. SETUPLOG_USE_MESSAGEID,
  128. MSG_LOG_FONTINST_FAIL, NULL,
  129. SETUPLOG_USE_MESSAGEID,
  130. MSG_LOG_X_RETURNED_WINERR,
  131. L"SetupInstallFromInfSection",
  132. GetLastError(),
  133. NULL,NULL);
  134. }
  135. return(b);
  136. }