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.

175 lines
3.1 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. if(!LoadString(MyModuleHandle,IDS_ADMINISTRATOR,AdminName,ARRAYSIZE(AdminName))){
  52. return FALSE;
  53. }
  54. #ifdef DOLOCALUSER
  55. b = ReplaceIniKeyValue(
  56. szWININI,
  57. szWINLOGON,
  58. L"DefaultUserName",
  59. CreateUserAccount ? UserName : AdminName
  60. );
  61. #else
  62. b = ReplaceIniKeyValue(szWININI,szWINLOGON,L"DefaultUserName",AdminName);
  63. #endif
  64. if(!ReplaceIniKeyValue(szWININI,szWINLOGON,L"DebugServerCommand",L"no")) {
  65. b = FALSE;
  66. }
  67. return(b);
  68. }
  69. BOOL
  70. SetDefaultWallpaper(
  71. VOID
  72. )
  73. {
  74. BOOL b;
  75. PCWSTR p;
  76. b = FALSE;
  77. if(p = MyLoadString(IDS_DEFWALLPAPER)) {
  78. b = ReplaceIniKeyValue(szWININI,szDESKTOP,L"Wallpaper",p);
  79. MyFree(p);
  80. b = ReplaceIniKeyValue(szWININI,szDESKTOP,L"TileWallpaper",L"0");
  81. }
  82. return(b);
  83. }
  84. BOOL
  85. SetShutdownVariables(
  86. VOID
  87. )
  88. {
  89. BOOL b;
  90. if( (Upgrade) || (ProductType == PRODUCT_WORKSTATION) ) {
  91. b = TRUE;
  92. } else {
  93. b = ReplaceIniKeyValue(szWININI,szWINLOGON,L"ShutdownWithoutLogon",L"0");
  94. }
  95. return(b);
  96. }
  97. BOOL
  98. SetLogonScreensaver(
  99. VOID
  100. )
  101. {
  102. BOOL b;
  103. b = ReplaceIniKeyValue(szWININI,szDESKTOP,L"ScreenSaveActive",L"1");
  104. b &= ReplaceIniKeyValue(szWININI,szDESKTOP,L"SCRNSAVE.EXE",L"logon.scr");
  105. return(b);
  106. }
  107. BOOL
  108. InstallOrUpgradeFonts(
  109. VOID
  110. )
  111. {
  112. BOOL b;
  113. b = SetupInstallFromInfSection(
  114. NULL,
  115. SyssetupInf,
  116. Upgrade ? L"UpgradeFonts" : L"InstallFonts",
  117. SPINST_INIFILES,
  118. NULL,
  119. NULL,
  120. 0,
  121. NULL,
  122. NULL,
  123. NULL,
  124. NULL
  125. );
  126. if(!b) {
  127. SetuplogError(
  128. LogSevWarning,
  129. SETUPLOG_USE_MESSAGEID,
  130. MSG_LOG_FONTINST_FAIL, NULL,
  131. SETUPLOG_USE_MESSAGEID,
  132. MSG_LOG_X_RETURNED_WINERR,
  133. L"SetupInstallFromInfSection",
  134. GetLastError(),
  135. NULL,NULL);
  136. }
  137. return(b);
  138. }