Commit graph

713 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 9d93100afc
[SETUPLIB][USETUP] Move the floppy-disk accessibility check into InstallFatBootcodeToFloppy().
svn path=/branches/setup_improvements/; revision=75751
2018-10-28 00:25:51 +02:00
Hermès Bélusca-Maïto aab937715b
[USETUP] Resources: fix a typo.
svn path=/branches/setup_improvements/; revision=75748
2018-10-28 00:13:09 +02:00
Hermès Bélusca-Maïto e405ad257c
[SETUPLIB][USETUP][INPUT.CPL] MUI integration with setuplib.
[SETUPLIB] Copy the mui* files from usetup into the setuplib for later usage, and add mui.c to build.

svn path=/branches/setup_improvements/; revision=75711

[SETUPLIB][USETUP] Start massaging the MUI files and split up what concerns only the usetup "resources",
and what concerns general language parameters (in the setuplib).

It may be interesting to retrieve the language parameters
from INF file (e.g. intl.inf) (suggested by Giannis).

svn path=/branches/setup_improvements/; revision=75715

[SETUPLIB] Add the necessary headers to mui.c to be able to compile.
[USETUP] Comment out the languages that don't have any resources.

svn path=/branches/setup_improvements/; revision=75716

[SETUPLIB][USETUP] Adjust MUI and settings code.

- Re-enable settings code concerning language, keyboards & layout
  in the setuplib, and remove the old code in usetup.

- Remove useless code in setuplib's mui.c.

- Rename usetup's MUI "LanguageList" into "ResourceList" so as to
  avoid colliding with the "LanguageList" of setuplib.

- Add the magic CMakeLists line "add_definitions(${I18N_DEFS})" that
  I forgot previously, that caused the "LanguageList" of setuplib to be empty!

The code compiles and works during my tests.

svn path=/branches/setup_improvements/; revision=75717

[SETUPLIB] Change some string pointer types & function prototypes so that the usetup-specific
"SelectedLanguageId" variable is not used in the library.

svn path=/branches/setup_improvements/; revision=75719

[SETUPLIB] Change some function prototypes so that the usetup-specific "SelectedLanguageId" variable is not used in the library.
Also, make AddEntriesFromInfSection(), DefaultProcessEntry() and the typedef PPROCESS_ENTRY_ROUTINE private again.

svn path=/branches/setup_improvements/; revision=75720
svn path=/branches/setup_improvements/; revision=75724

[USETUP] Code adaptations.

- Transform some do{}while() loops into while(){} ones, since the lists on which we work may only contain one single {NULL} element.
- Modify MUIGetOEMCodePage() call after r75719.
- Use PCWSTR where needed.

svn path=/branches/setup_improvements/; revision=75722

[USETUP] Adjust some MUI & settings calls, following the commits r75719, r75720 and r75721.

svn path=/branches/setup_improvements/; revision=75723

[INPUT.CPL] Adjust inclusion of "muifonts.h" (commit 3dbd44f) due to changes introduced in r75711 and r75715.
2018-10-28 00:13:07 +02:00
Eric Kohl e4d79e514a [SCHEDSVC] Improvements to the scheduler service
Use WaitForMultipleObjects in the mail scheduler loop:
- Use events to signal service stop and job update events to the main loop.
- Use the timeout timer to start the next job.
2018-10-28 00:04:20 +02:00
Hermès Bélusca-Maïto 7af2f717bc
[SETUPLIB][USETUP] Move the settings code from usetup to setuplib.
This code is moved ther since it'll be needed for 1st-stage GUI
installer as well.

The code dealing with keyboard layouts is however not moved yet,
since it uses MUI* functions from usetup.
I'll try to think how to include that in setuplib...

svn path=/branches/setup_improvements/; revision=75701
2018-10-27 22:09:35 +02:00
Hermès Bélusca-Maïto 6f19c83b96
[SETUPLIB] Move the files that implement utility functions into their own subdirectory. The files remaining in the main directory implement setup procedures that use the utility functions.
svn path=/branches/setup_improvements/; revision=75695
2018-10-27 22:09:34 +02:00
Hermès Bélusca-Maïto 95a34ef6fc
[USETUP][SETUPLIB] Move the bootsup.c code into the setuplib, and perform the necessary adjustments.
Move the bootsup.c code into the setuplib, as the code is generic
enough to be used by both USETUP and the 1st-stage GUI installer.

svn path=/branches/setup_improvements/; revision=75674
2018-10-27 22:09:32 +02:00
Eric Kohl 19cabfc763 [WKSSVC][IDL] Add names of unsupported functions 2018-10-27 19:04:31 +02:00
Hermès Bélusca-Maïto 8f2c4f7a6d
[USETUP] Add an AddEntriesFromInfSection() helper that enumerates the entries of a given INF section, and adds these into a (user-allocated) GENERIC_LIST after some pre-processing.
This helper is inspired by the reactos/reactos.c!LoadGenEntry() function.
Use this helper in the different Create*List() functions.

svn path=/branches/setup_improvements/; revision=75700
2018-10-27 18:13:45 +02:00
Hermès Bélusca-Maïto 58e402e08e
[USETUP] Simplify code.
svn path=/branches/setup_improvements/; revision=75698
2018-10-27 18:13:44 +02:00
Hermès Bélusca-Maïto acd933faa0
[USETUP] Formatting fixes only.
svn path=/branches/setup_improvements/; revision=75697
svn path=/branches/setup_improvements/; revision=75699
2018-10-27 18:13:44 +02:00
Hermès Bélusca-Maïto e2a92634e1
[USETUP] Add few checks to forbid the user to attempt installing ReactOS in the installation source directory, or a subdirectory thereof, or to delete the partition containing the installation source.
This is needed because the ReactOS installer can also be present from within a HDD partition!

svn path=/branches/setup_improvements/; revision=75669
2018-10-27 18:13:43 +02:00
Hermès Bélusca-Maïto 959323902f
[USETUP] Group constant strings together. In EventThread(), use RtlReAllocateHeap() to resize the pnp-event buffer.
svn path=/branches/setup_improvements/; revision=75654
2018-10-27 18:13:42 +02:00
Hermès Bélusca-Maïto c560342f08
[SETUPLIB] Diverse fixes (incl. initialization fixes).
- Compute the installation source paths based on the full path of the
  installer program that uses the setup library.
- Add INF_STYLE_OLDNT define in infsupp.h.
- Add some (silenced) diagnostic DPRINTs.

svn path=/branches/setup_improvements/; revision=75667

- Use correct inf style flags in SetupOpenInfFileEx() calls when opening
  txtsetup.sif and unattend.inf. Technically txtsetup.sif would be
  INF_STYLE_WIN4, but since we use "$ReactOS$" as its version signature,
  it would not work when opening it with setupapi.dll functions.
  Hence this flag is combined with INF_STYLE_OLDNT too.

- Don't fail if opening the \SystemRoot symbolic link doesn't work
  (usually due to incorrect access rights); in that case, just use the
  installer image file path as the installation source path.

svn path=/branches/setup_improvements/; revision=75676
2018-10-27 18:13:42 +02:00
Hermès Bélusca-Maïto f1b9c071bb
[SETUPLIB] Code formatting fix.
svn path=/branches/setup_improvements/; revision=75656
2018-10-27 18:13:41 +02:00
Hermès Bélusca-Maïto a80f803a2a
[SETUPLIB] Introduce and use a UnMapAndCloseFile() macro that calls UnMapFile() and NtClose() on handles returned by the OpenAndMapFile() function.
svn path=/branches/setup_improvements/; revision=75651
svn path=/branches/setup_improvements/; revision=75657
2018-10-27 18:13:40 +02:00
Hermès Bélusca-Maïto 29fe31df1b
[SETUPLIB][USETUP] Code refactoring: rename the old DoesPathExist() into DoesDirExist(), and rename the new DoesPathExistEx() back into DoesPathExist().
svn path=/branches/setup_improvements/; revision=75636
2018-10-27 18:13:40 +02:00
Hermès Bélusca-Maïto cc37199dfd
[SETUPLIB] Merge DoesPathExist() and DoesFileExist() into (temporarily called) DoesPathExistEx() function.
And turn the previous two functions into macros.

svn path=/branches/setup_improvements/; revision=75635
svn path=/branches/setup_improvements/; revision=75652
2018-10-27 18:13:39 +02:00
Hermès Bélusca-Maïto 518bea5f99
[SETUPLIB] Factor out and introduce a ParseArcName() helper function that does its job.
Used in exiting code and in later code in this file.

svn path=/branches/setup_improvements/; revision=75632
svn path=/branches/setup_improvements/; revision=75652
2018-10-27 18:13:38 +02:00
Hermès Bélusca-Maïto 1ae3efd738
[SETUPLIB] Code formatting.
svn path=/branches/setup_improvements/; revision=75631
svn path=/branches/setup_improvements/; revision=75652
2018-10-27 18:13:38 +02:00
Hermès Bélusca-Maïto 7e248feabf
[USETUP][SETUPLIB] Code refactoring.
- Move several global setup variables into a structure "USETUP_DATA",
  similar to the syssetup structure "SETUPDATA" (or the WIP 1st-stage
  installer structure of the same name), so that these variables can be
  set easily by different helper setup functions;

- Move CheckUnattendedSetup() and GetSourcePaths() to setuplib and make
  CheckUnattendedSetup() use the USETUP_DATA structure;

- Add a LoadSetupInf() function that loads the txtsetup.sif file
  (factoring out the corresponding code in USETUP);

- Add a InstallSetupInfFile() function (that I'll probably rename later on)
  whose purpose is to create a valid "$winnt$.inf" setup installation file
  in the ReactOS\system32 directory, which should help the 2nd-stage installer
  to correctly retrieve the source installation media we used during 1st-stage,
  and contain the unattended setup lines copied from unattend.inf. This is
  done in a Windows-compatible way.

svn path=/branches/setup_improvements/; revision=75518

[USETUP] Close the txtsetup.sif file at the end of the operations.

svn path=/branches/setup_improvements/; revision=75539
2018-10-27 18:13:32 +02:00
Hermès Bélusca-Maïto 3f04856f68
[USETUP] Minor code formatting only.
svn path=/branches/setup_improvements/; revision=75517
2018-10-27 03:18:01 +02:00
Hermès Bélusca-Maïto cf2571de6e
[USETUP] Sprinkle some INF_FreeData() calls to balance the INF_GetData() / INF_GetDataField() calls.
They currently do nothing, since the getter functions don't actually
capture (copy) the strings but merely return pointers to read-only strings.

But the calls are placed here for consistency, because if one day the
getters' implementation is changed so that strings are captured, it would
then be needed to free the allocated buffers.

In addition, fix a buggy call to INF_GetData() -- should be instead
INF_GetDataField() -- in AddSectionToCopyQueue().

svn path=/branches/setup_improvements/; revision=75516
2018-10-27 03:18:00 +02:00
Hermès Bélusca-Maïto aa110db3ea
[USETUP] Comment out SetupQueueCopyWNew() declaration which is not used at all. Remove unnecessary casts in the INF_OpenBufferedFileA() call.
svn path=/branches/setup_improvements/; revision=75509
2018-10-27 03:17:59 +02:00
Hermès Bélusca-Maïto 9348fe1f7e
[SETUPLIB] Introduce defines for size units.
[USETUP] Use them in the code.

svn path=/branches/setup_improvements/; revision=75508
2018-10-27 03:17:58 +02:00
Hermès Bélusca-Maïto a95581c4c2
[SETUPLIB] IniCacheSave(): use the OBJ_CASE_INSENSITIVE flag.
svn path=/branches/setup_improvements/; revision=75507
2018-10-27 03:17:57 +02:00
Hermès Bélusca-Maïto 7d0f6f02ab
[USETUP] Move SetDefaultPagefile() into settings.c and remove the now-empty registry.c/.h files.
svn path=/branches/setup_improvements/; revision=75250
2018-10-27 03:17:41 +02:00
Hermès Bélusca-Maïto 2268b3d645
[USETUP] Move Setup[Delete|Copy|Move]File() from usetup code into the setuplib's filesup.c .
Remove the commented-out IsValidPath() in that file, and remove
as well the temporary prototypes in regutil.c .

svn path=/branches/setup_improvements/; revision=75249
2018-10-27 03:17:29 +02:00
Hermès Bélusca-Maïto 60d9ea76d1
[USETUP][SETUPLIB] Split the registry helper code.
Split the registry helper code into registry utility functions
(create/mount/unmount/verify hives) and registry creation code
(the rest: initializing the system hives) and move it in the
setup library.

svn path=/branches/setup_improvements/; revision=75247

[USETUP][SETUPLIB] Improve how the Setup* INF APIs are interfaced in the code.

Define prototypes compatible (including their calling convention)
with the ones defined by setupapi (.h/.dll) so that it can be possible
to either use an internal implementation of these functions (via the
INFLIB library) as currently being done, or using imported setupapi
functions, as would be done by the future 1st-stage GUI installer.

[SETUPLIB] Cleanup the registry.c file and use the infsupp.h header.

svn path=/branches/setup_improvements/; revision=75345
svn path=/branches/setup_improvements/; revision=75346

[USETUP][SETUPLIB] Move some INF-related code from usetup to the setuplib.

- Move the generic INF_GetDataField() and INF_GetData() helpers to
  setuplib, and rework them a bit so that they explicitly call setupapi
  functions (or implementations thereof when being used in usetup);

- Rework the headers in accordance;
- Fix compilation in lib/registry.c .

- Fix compilation when these headers are used withing usetup (who
  doesn't use setupapi.dll) and "reactos" (the 1st-stage GUI installer
  that uses setupapi.dll).

svn path=/branches/setup_improvements/; revision=75515
svn path=/branches/setup_improvements/; revision=75537
svn path=/branches/setup_improvements/; revision=75538
2018-10-27 03:16:47 +02:00
Hermès Bélusca-Maïto 74be659c8b
[USETUP] NT RTL thread functions use 'NULL' (instead of 'INVALID_HANDLE_VALUE' which is a Win32 thing) for thread handles that are "invalid" / uninitialized.
svn path=/branches/setup_improvements/; revision=75519
2018-10-26 02:16:05 +02:00
Hermès Bélusca-Maïto 397faf62bf
[USETUP] Moving around some code.
- As GetSourcePaths() is used once in USETUP to initialize global
  UNICODE_STRING path strings once, move it out of drivesup.c and
  put it in usetup.c. Then remove drivesup.c : 1 file less!

- Move some INF file prototype declarations out of usetup.h and
  inside inffile.h where they should better be, as inffile.h and .c
  is the glue code for the INF library, defining similar functions
  as the ones in setupapi.dll.

- I rename our local SetupOpenInfFileW() into SetupOpenInfFileExW()
  because the latter one takes an extra user-provided LCID parameter,
  and this is this one that we use in USETUP.

- Make 'UNICODE_STRING SourcePath;' visible only inside usetup.c
  (not used elsewhere).

- Implement installation path validity check in case we are either
  in repair/update, or unattended setup mode. If the path is detected
  as invalid, then we fall back into manual path specification
  (for now...; note that we could instead fail the installation too).

svn path=/branches/setup_improvements/; revision=75246
2018-10-26 02:16:04 +02:00
Hermès Bélusca-Maïto 49d3daf1af
[USETUP] Implement most of the "upgrade" page, where existing NTOS installations are listed.
- Modify a bit the page flow so that the upgrade page is inserted before
  the Device-settings page, and after the Install-Intro page.

- Insert some extra 'RepairUpdateFlag' checks in SelectPartitionPage() and
  InstallDirectoryPage() to take specific actions in case the flag is TRUE.

svn path=/branches/setup_improvements/; revision=74576
svn path=/branches/setup_improvements/; revision=75525
2018-10-26 02:16:03 +02:00
Hermès Bélusca-Maïto 29ace9c0dc
[USETUP] Add an upgrade/repair installation page.
Translators, please update the associated translations!

svn path=/branches/setup_improvements/; revision=74548
2018-10-26 02:15:19 +02:00
Hermès Bélusca-Maïto cefc9238fb
[USETUP] Use UNICODE_NULL.
svn path=/branches/setup_improvements/; revision=75248
2018-10-25 01:02:20 +02:00
Hermès Bélusca-Maïto 7fedeb7db3
[USETUP] More code for updating/repairing the registry. Fix the name of the txtsetup.sif section to look for when performing a registry upgrade.
[BOOTDATA] Add needed entries in txtsetup.sif for registry upgrade.

svn path=/branches/setup_improvements/; revision=75162
svn path=/branches/setup_improvements/; revision=75226
2018-10-25 01:00:43 +02:00
Hermès Bélusca-Maïto b20908acc8
[USETUP] Mark some variables as 'static'.
svn path=/branches/setup_improvements/; revision=75161
2018-10-25 00:58:24 +02:00
Hermès Bélusca-Maïto 455e69a011
[USETUP] Implement work-in-progress code that allows verifying whether registry hives validity.
Implement work-in-progress code that, when upgrading an existing
ReactOS installation, verifies whether the (existing) system registry
hives are valid (by loading & unloading them, this allows using the
built-in repair functionality if needed), or not.

If a given hive cannot be repaired successfully, it is backed up
(with a '.brk' extension, "brk" as "broken"), then is marked up for
recreation.

When all hives have been checked, if there are any hive that needs
to be recreated, we recreate its hive file, mount it, but we do *NOT*
mount the other valid existing hives for update. We create instead
dummy registry hives so that we can actually use, as the update code,
the same one as the one used when fully creating the registry hives
for a clean installation (of course, this choice can be improved later on).

The update code (i.e. the same as the registry clean-install one) then
adds the registry keys & values, either putting them in the dummy
registry hives (the ones that we don't want to recreate) or in the
registry hive that is recreated.

At the end, the (re)created registry hives are flushed back to disk,
and a copy of them (under a '.sav' extension) are created, so that they
can be used for restoration purposes if 2nd-stage (and up) goes berserk.

Extra fixes:

- Use the correct structure member field when initializing the
  'InstallDir' variable, when performing an upgrade.

- CreateNestedKey() should be better analysed to see whether it correctly
  creates the full registry path compatible with volatile/non-volatile keys
  (under inspection).

svn path=/branches/setup_improvements/; revision=75010
2018-10-25 00:58:23 +02:00
Hermès Bélusca-Maïto 55d8a8490c
[USETUP] Introduce SetupDeleteFile() and SetupMoveFile() (in addition to the already-existing SetupCopyFile()) in order to implement moving / renaming existing files.
Will be used soon to make backups of system files, like the registry hive files just freshly created.
- Make the SetupCopyFile() function closer to its win32 counterpart.
- Adjust the code that calls SetupCopyFile().

svn path=/branches/setup_improvements/; revision=75008
svn path=/branches/setup_improvements/; revision=75009
2018-10-25 00:58:22 +02:00
Hermès Bélusca-Maïto 5a1af6ccd8
[USETUP] Explicitly use the REG_OPTION_(NON_)VOLATILE flags in NtCreateKey calls.
svn path=/branches/setup_improvements/; revision=75007
2018-10-25 00:58:21 +02:00
Hermès Bélusca-Maïto bbb04c470a
[USETUP] Implement offline ReactOS registry initialization in USetup (equivalent of mkhive, but using OS functionality).
The rationale is as follows.

We now have the 1st-stage ReactOS setup running with its own registry SYSTEM hive,
similarly to regular ROS running instances (livecd, regular installation...).

The ReactOS-specific SetInstallPathValue() hack, introduced in a76689e9 (r3794)
and 5f973ce0 (r3795), is removed. This hack told the kernel that, during the setup,
it had to "switch" the used registry hives and instead use the ones of the ROS
installation being prepared.

This was really hackish because this means, mixing between registry settings used only
for the setup running instance, that could use different registry settings
than the ones that should be set for the ROS installation being actually performed.

Also, note that in the case of a 1st-stage GUI setup, consisting in running the
LiveCD + the GUI setup program, this situation would be untenable. Note also that
for people willing to use the Setup*** functions exported by setupapi.dll to parse
the registry INF files to initialize the registry of the ROS installation being
prepared, this would be impossible either.

Hence the need to have offline registry modification functionality.

svn path=/branches/setup_improvements/; revision=74766
2018-10-25 00:57:02 +02:00
Hermès Bélusca-Maïto cd89e5b797
[USETUP] Code formatting, making also the code closer to mkhive's one. Also, definitely remove the SetInstallPathValue() hack.
svn path=/branches/setup_improvements/; revision=74763
2018-10-25 00:51:43 +02:00
Joann Mõndresku 331bcae7b7 [TASKMGR][TRANSLATION] Estonian localization 2018-10-24 21:35:20 +02:00
Katayama Hirofumi MZ efbebf983c
[REGEDIT] Improve the layout of controls (#967)
The horizontal scroll bar of the listview was wrongly hidden.
CORE-15187
2018-10-24 18:19:48 +09:00
Katayama Hirofumi MZ e4c2cff6c8
[REGEDIT] Don't paint background in WM_PAINT (#970)
Use the background brush or WM_ERASEBKGND message instead. There was graphical glidge. CORE-15187
2018-10-24 18:17:28 +09:00
Hermès Bélusca-Maïto 3dffe964a3
[USETUP] Reshuffle a bit the main-function of USetup.
svn path=/branches/setup_improvements/; revision=74975
2018-10-24 00:55:16 +02:00
Hermès Bélusca-Maïto 3fd27d34a5
[USETUP] The 'DestinationDriveLetter' variable (that is just used for SetDefaultPagefile()...) just needs to be initialized at one place only.
svn path=/branches/setup_improvements/; revision=74951
2018-10-24 00:55:13 +02:00
Hermès Bélusca-Maïto 0b714cbe6a
[USETUP] Whitespace fixes only.
svn path=/branches/setup_improvements/; revision=74636
svn path=/branches/setup_improvements/; revision=74639
2018-10-24 00:35:54 +02:00
Hermès Bélusca-Maïto 043a024d61
[USETUP] Small formatting changes + two functions turned into FORCEINLINE.
Based on:
svn path=/branches/setup_improvements/; revision=74616
2018-10-24 00:35:54 +02:00
Hermès Bélusca-Maïto 3c616b625d
[USETUP] Rename some of the uninformative "STRING_HDDINFOUNKx" string labels into more informative ones.
- Also, reserve a new field to display whether the disk is MBR or GPT-initialized.
- Adjust the code that used the "STRING_HDDINFOUNKx" string labels.
  The extra slot added to some of the strings is to indicate whether the disk is MBR or GPT.

As attentive readers will notice, the code that "determines" whether the disk is either MBR or GPT
is of course just temporary: it's just a placeholder code that should currently just show "MBR".

Having the NoMbr flag mostly signifies that the disk is uninitialized. A GPT disk also has a MBR
but it's for "backcompatibility" / "protective" reasons (so that MBR-only tools would see the disk
as just a big 1-partitioned only disk with which they could barely do anything). A real involved test
for the nature of the disk should involve calling the correct IOCTLs in the disk detection code in partlist.c .
This is for the future (and when ReactOS will better support GPT disks).

svn path=/branches/setup_improvements/; revision=74614
svn path=/branches/setup_improvements/; revision=74615
2018-10-24 00:35:53 +02:00
Hermès Bélusca-Maïto 38e20b638f
[USETUP] Massage the USETUP interface code.
- The "intro" page is renamed into the "Welcome" page, because its corresponding resource indeed is the welcome screen;
- Because the "setup start" page can only be displayed once, move it out of the while-loop, and use its result as the initial value of the 'Page' variable.
- Remove unneeded _PAGE_NUMBER_DEFINED guards;
- Add a DPRINT in the RepairUpdateFlag case of RegistryPage() (because we don't implement yet a correct upgrading or repairing of the registry).
- In InstallIntroPage(), display the page itself only if needed (i.e. after all the validation checks & repair/update or unattended checks are done). Similar modifications are done also in DeviceSettingsPage(), SelectPartitionPage()
- Turn both CheckUnattendedSetup() and UpdateKBLayout() into static functions.
- Fix the code of ScsiControllerPage() so that it can be compiled if needed, and add a dummy OemDriverPage().

svn path=/branches/setup_improvements/; revision=74575
2018-10-24 00:35:52 +02:00
Bișoc George 0e41230dac [USETUP] Fix a broken character in Italian resource (#968)
Also add two spaces at the beginning of the "deleting cache" string.
2018-10-23 17:41:38 +02:00
Katayama Hirofumi MZ 7d7f1d4ca3 [NET] Fix an escape sequence in Polish translation (#966) 2018-10-23 13:10:38 +02:00
Katayama Hirofumi MZ 125db5ead9
[REGEDIT] Trivial resizing code fix 2018-10-21 13:08:26 +02:00
Katayama Hirofumi MZ b3231e0bf5
[REGEDIT] Code formatting 2018-10-21 13:07:43 +02:00
Pierre Schweitzer 3849426432
[CHKDSK] Fix MSVC build (thanks for spotting the mistake!)
Addendum to ec9fc7f
2018-10-21 11:22:45 +02:00
Pierre Schweitzer ec9fc7fade
[CHKDSK] Add French translation 2018-10-21 11:06:06 +02:00
Joann Mõndresku b5bae2e98d [RAPPS][TRANSLATION] Estonian localization (#959) 2018-10-21 01:58:02 +02:00
Stanislav Motylkov dd8766e67a [CHKDSK] Add russian translation 2018-10-20 23:29:15 +02:00
Adam Słaboń 7abc8be102 [TRANSLATION] Polish translation update
Polish translation of net, telnet, diskpart, devcpux, fontext, iernonce, lsasrv, themes, arping, frag, screensavers, ctm, fontsub, WinetestsGUI and localmon.
Update for dxdiag, msgina, msports, netcfgx, shell32 and syssetup.
2018-10-20 21:26:07 +02:00
Bișoc George 8e48f8f2dd [CHKDSK] Implement localization support (#891)
- Make the strings translatable.
- Include the English translation within the main resource file.
- Use ConResPrintf() and ConResPuts() for resource strings.
2018-10-20 21:21:51 +02:00
Arnav Bhatt b9deba9a56 [NOTEPAD] ReactOS Notepad Hindi Translation (#938) 2018-10-20 19:41:32 +02:00
Arnav Bhatt 05c2e3e89e [USETUP][EXPLORER] ReactOS explorer translation and hindi font substitution. (#954) 2018-10-19 17:03:17 +02:00
Hermès Bélusca-Maïto bd9fa3d701
[USETUP] Add a couple of missing TrimTrailingPathSeparators_UStr() calls.
Fixes in particular a regression brought by 57402ee (thanks George Bisoc
for having noticed this), where the BTRFS bootsector code could not be
installed anymore.

CORE-15192
2018-10-18 23:11:58 +02:00
Hermès Bélusca-Maïto a28461124b
[SETUPLIB][USETUP] Minor code refactoring, consisting in renaming the "ntos boot loader" stuff into "boot store", since this happens to be functionality that is a bit more general than previously thought.
- Fix the usage of the BootEntry's "Version" member.
- Don't surround with too many quotation marks the "friendly" boot entry name in AddBootStoreEntry().

svn path=/branches/setup_improvements/; revision=74964
2018-10-14 23:46:52 +02:00
Hermès Bélusca-Maïto e589513b46
[USETUP] As evoked in 27603a10 (r74943), adapt the code in bootsup.c to abstract the manipulation of freeldr.ini and boot.ini, and make it use the new features of bldrsup.c committed in 27603a10 (r74952).
In particular the helper functions CreateCommonFreeLdrSections() and (Un)protectBootIni() are now removed from there (they are used in bldrsup.c only).
This should pave the way for future integration with other sorts of NT boot loaders (BootMgr and (u)EFI boot loader).

svn path=/branches/setup_improvements/; revision=74954
2018-10-14 23:45:45 +02:00
Hermès Bélusca-Maïto c2f7758e96
[SETUPLIB] Adapt the code in osdetect.c to make it use the new features of bldrsup.c committed in 27603a10 (r74952).
svn path=/branches/setup_improvements/; revision=74953
2018-10-14 23:37:44 +02:00
Hermès Bélusca-Maïto 27603a101c
[SETUPLIB] Introduce a lot of (Work in progress) functions to manipulate boot entries from different boot "stores".
This concerns so far, only freeldr.ini and to an extent, boot.ini, but planning in the future to add support for registry-oriented BCD
as well as possibly direct (u)EFI entries, using the corresponding NT functions.
This code is so far only used in osdetect.c, but will be soon used by usetup's bootsup.c (note that some helper functions: CreateCommonFreeLdrSections()
and (Un)protectBootIni() are already taken from it and used in bldrsup.c).
- In EnumerateNTOSBootEntries(), continue enumerating the boot entries until the user callback returns an status code that is not successful.
- Remove some old code from osdetect.c; use directly BootEntry->FriendlyName when building the display names of the available installations, since now
  BootEntry->FriendlyName is a PCWSTR (and not a UNICODE_STRING anymore).

svn path=/branches/setup_improvements/; revision=74943

[SETUPLIB] Make the NTOS_BOOT_ENTRY structure more generic, so that it can wrap around either actual NTOS boot entry options, or FreeLdr-like boot-sector options.

In a sense, the NTOS_BOOT_ENTRY structure now looks much more like the NT structure "BOOT_ENTRY".
- Adapt the code in bldrsup.c to these modifications, and re-enable FreeLdr-like boot-sector-file support code that was commented out.
More code cleanup will follow later.

svn path=/branches/setup_improvements/; revision=74952
2018-10-14 23:27:17 +02:00
Hermès Bélusca-Maïto 57402ee91e
[USETUP] Diverse fixes for path handling.
- Convert almost all swprintf() into StringCchPrintfW() and wcscpy() into StringCchCopyW();
- Explicitly add a trailing path separator to the "\Device\HarddiskX\PartitionY(\)" paths
  when they refer to FS directories (and not to partition objects);
- Remove useless (and half-buggy) "Remove trailing backslash" code.

With that, it is possible to install ReactOS in e.g. C:\ReactOS (as usual), C:\ReactOS\dir1\dir2 (as many dirs as you wish), and also in C:\ (yes yes!).
But in that latter case, a strange bug related to the registry arises...

Additionally:
- Adjust some comments;
- Add some debugging DPRINTs;
- The SetInstallPathValue() is part of the big hack I've mentioned in f51faa4a (r74709).

svn path=/branches/setup_improvements/; revision=74717
2018-10-14 23:22:55 +02:00
Hermès Bélusca-Maïto 3cb1392eff
[USETUP] When installing new FreeLDR entries for recognized DOS/OS-2 boot loaders, use distinct OS section names. Also, add detection for the Dell Real-Mode Kernel OS (DRMK).
svn path=/branches/setup_improvements/; revision=74932
2018-10-14 21:15:55 +02:00
Hermès Bélusca-Maïto 387e79c92e
[USETUP] Condense the different InstallFatXYBootSectorToDisk & ToFile functions into a InstallFatXYBootSector() function that is called by both the ToDisk and ToFile flavours.
Also, trim any potential trailing path separator from the NT disk partition path before opening the partition object itself for read/write access.

svn path=/branches/setup_improvements/; revision=74715
2018-10-14 21:15:34 +02:00
Hermès Bélusca-Maïto f13a379153
[USETUP] Move some functions around, but no functional code changes otherwise.
svn path=/branches/setup_improvements/; revision=74714
2018-10-14 21:14:31 +02:00
Hermès Bélusca-Maïto 8d78897384
[USERINIT] Enhancements for starting ReactOS GUI installer or Explorer shell.
- Transform TryToStartShell() into a StartProcess() function whose aim
  is just to start processes, since there is no extra initialization needed
  for starting a shell process.

- Modify StartInstaller() to call StartProcess() for starting the ReactOS GUI
  installer found on the installation media, from a path automatically expanded
  depending on the ambient CPU architecture.

svn path=/branches/setup_improvements/; revision=75331
2018-10-08 21:16:46 +02:00
Hermès Bélusca-Maïto 5b14b6f581
[WELCOME] Minor usage improvements.
- Don't hardcode the installer file name in ExpandInstallerPath() but
  provide it from a parameter. Return TRUE/FALSE if the installer file
  is/is not found.

- Expand any environment string present in the items command line.

- Enable/disable the menu buttons depending on whether or not an
  associated command is present.

- Enable mirroring from resources.
2018-10-08 21:00:14 +02:00
Hermès Bélusca-Maïto a0dae6094e
[WELCOME] Reduce Welcome's SUBSYSTEM requirements to WinNT 4 for x86 builds only, so that we can still show something in old NT OSes. 2018-10-08 21:00:14 +02:00
Hermès Bélusca-Maïto 55f9fee412
[WELCOME] Automatically expands the path to the ReactOS installer executable found on the installation media, depending on the ambient CPU architecture.
svn path=/branches/setup_improvements/; revision=75330
2018-10-08 21:00:10 +02:00
Eric Kohl 9159190039 [SERVICES] Ignore the case when we compare account names 2018-10-05 12:04:21 +02:00
Eric Kohl 1820aa8fe6 [SERVICES] Revert f6d81f22 because it breaks the advapi32 LockServiceDatabase test. 2018-10-05 09:41:50 +02:00
Eric Kohl f6d81f2257 [SERVICES] Fix timeout when a service is stopped
RSetServiceStatus: Send the stop command for the dispatcher thread from a separate thread.

Fixes CORE-15064
2018-10-05 08:41:23 +02:00
Pierre Schweitzer 6a2e979f55
[USETUP] Add missing line jump 2018-10-02 13:34:59 +02:00
Amine Khaldi 19eb7a62f9 [XCOPY] Sync with Wine Staging 3.17. CORE-15127 2018-10-01 00:16:20 +01:00
Amine Khaldi 5a217e3a6f [WMIC] Sync with Wine Staging 3.17. CORE-15127 2018-10-01 00:15:34 +01:00
Amine Khaldi cb0f46bddf [TASKKILL] Sync with Wine Staging 3.17. CORE-15127 2018-10-01 00:14:52 +01:00
Amine Khaldi 5260a37425 [REG] Sync with Wine Staging 3.17. CORE-15127 2018-10-01 00:13:56 +01:00
Amine Khaldi fd8ec79fd1 [CSCRIPT][WSCRIPT] Sync with Wine Staging 3.17. CORE-15127 2018-10-01 00:11:58 +01:00
Hermès Bélusca-Maïto e29457aadd
[USETUP] Remove a hardcoded value. 2018-09-29 21:54:48 +02:00
Eric Kohl 8f939e057c [SERVICES] Control set code clean-up
- Flush the new control set after the control set has been created.
- Make sure that we create a new control set only on the first boot after setup.
- Move the control set copy code to a separate function.
- Get rid of the global control set values.
2018-09-29 01:31:58 +02:00
Eric Kohl 04683639f0 [SERVICES] RChangeServiceConfigW / RCreateServiceW: Use SecureZeroMemory to wipe clear-text passwords after use. 2018-09-28 17:51:12 +02:00
Eric Kohl b9aeb5bfbd [SERVICES] Fixed a missing comma 2018-09-28 17:29:31 +02:00
Eric Kohl ea6dac3438 [SERVICES] Create a new control set on a non-setup boot. 2018-09-28 16:24:07 +02:00
Bișoc George 3caab66e22 [DWNL] Add translations (for Romanian & Italian)
And include them as well.
2018-09-28 00:23:48 +02:00
Hermès Bélusca-Maïto bf164caae8
[SERVICES] Simplify the implementation of RGetServiceDisplayNameA/W() and RGetServiceKeyNameA/W().
Also comment about the observed behaviour of the returned number of "characters"
returned by the ANSI versions of these APIs (which is tested by advapi32_winetest:service).

[ADVAPI32:SCM] Add a comment concerning wide characters vs. bytes mismatch.
2018-09-23 18:09:10 +02:00
Bișoc George 983b4c9f94 [MSCONFIG_NEW] Do not assign an access key to a letter with diacritic 2018-09-22 21:51:14 +02:00
Paweł Cholewa 13045d50ed [DWNL] Add Polish translation 2018-09-22 14:53:13 +02:00
Pierre Schweitzer 82a7f08363
[DWNL] Add French translation 2018-09-21 22:36:10 +02:00
Robert Naumann 3aeae65e08 [DWNL] forgot this file 2018-09-20 09:20:14 +02:00
Robert Naumann abdd8bf2df [DWNL] German translation 2018-09-20 09:16:22 +02:00
Joachim Henze 2114a2fb5f [SCHEDSVC] Fix a typo in debug print that was introduced in 0.4.10-dev-544-g
0d13bb1015
2018-09-19 22:52:48 +02:00
Eric Kohl 76588be0d1 [ADVAPI32][SERVICES] Use the session key provided by SystemFunction028 to encrypt and decrypt the service passwords. 2018-09-19 12:30:33 +02:00
Stanislav Motylkov 9f87785e96 [DWNL] Improve print date 2018-09-19 12:16:23 +02:00
Stanislav Motylkov e283f4f72b [DWNL] Add russian translation 2018-09-19 12:16:23 +02:00
Lee Schroeder 08be1648f9 [DWNL] Localize the File Download utility (#853)
Also, changed header string to include a start time stamp similar to the one in wget.
CORE-14498
2018-09-18 23:55:44 +02:00
Eric Kohl e5fcda922b [ADVAPI32][SERVICES] Pass encrypted passwords to the service manager.
- Encrypt passwords before passing them to the service manager. Right now, we are using a fixed encryption key. This will be fixed later.
- Replace the calls to ZeroMemory which are used to wipe the password buffers by calls to SecureZeroMemory.
2018-09-18 21:33:29 +02:00
Eric Kohl 5e2c4657ca [ADVAPI32][SERVICES] Add (dummy) password encryption/decryption functions to CreateServiceA/W and ChangeServiceConfigA/W in order to prepare to pass encrypted passwords to the service manager 2018-09-17 16:34:48 +02:00
Hermès Bélusca-Maïto a631e31c86
[RPCSS] During the setup phase, the RPCSS service, initially running under the LocalSystem account, should re-configure itself to run under the NetworkService account.
This will also fix MS Office 2010 installation, where the installation
expects the NetworkService account profile to be already loaded (this
condition is always verified on Windows since RPCSS and other services
also run under this account).

CORE-14988, CORE-14989
2018-09-17 01:23:03 +02:00
Hermès Bélusca-Maïto 9d43950db7
[SERVICES] Add basic support for setting lpServiceStartName via RChangeServiceConfigW(). 2018-09-17 01:22:59 +02:00
Hermès Bélusca-Maïto a987856e71
[SERVICES] Minor code style fixes; replace wcslen(xxx) ==/!= 0 and strcpy(string, 'empty-string') calls. 2018-09-17 01:22:55 +02:00
Bișoc George 29603e7291 [MSCONFIG_NEW] Small Romanian translation update 2018-09-16 19:55:46 +02:00
Bișoc George 577d5347f1 [CHARMAP_NEW] Update the E-mail header string 2018-09-16 19:55:46 +02:00
Stanislav Motylkov 13310b3acf [USETUP] Make countdown progress bar smoother 2018-09-14 11:33:50 +02:00
Stanislav Motylkov b0ecee7b6e [USETUP] Update Russian translation 2018-09-14 11:33:50 +02:00
Katayama Hirofumi MZ 31019e8c0c [TRANSLATION] Update Romanian translation (#851)
Translation from Stefan Fulea.
CORE-15023
2018-09-14 11:04:36 +02:00
Pierre Schweitzer a06184a9a4
[WINLOGON] Fix build
Add a specific internal header for MPR and include it in WinLogon.

CORE-15012
2018-09-14 08:15:08 +02:00
Stanislav Motylkov 7cdbdadf34 [CMD] Do not overwrite input string on Ctrl+C (#852)
CORE-15029
2018-09-13 11:47:01 +02:00
Pierre Schweitzer cbff9a3046
[WINLOGON] On logoff, also disconnect from any remote location
This avoids keeping connections open and reopening them as soon
as the user reopens their session.
This fixes network shared being duplicated each time session
is reopened.

CORE-15012
2018-09-11 08:30:31 +02:00
Hermès Bélusca-Maïto 419e014675
[SERVICES] Only services starting under the LocalSystem account can run interactively. Otherwise ignore the interactive flag. 2018-09-09 23:24:08 +02:00
Hermès Bélusca-Maïto cccf26da74
[SERVICES] Re-implement RChangeServiceConfigA() around RChangeServiceConfigW(), much as what is done for RCreateServiceA(). 2018-09-09 23:24:04 +02:00
Hermès Bélusca-Maïto d6e577ced9
[SERVICES] RChangeServiceConfigW: Check valid usage of lpdwTagId when lpLoadOrderGroup is not specified. 2018-09-09 23:23:55 +02:00
Stanislav Motylkov dcd4a3d000 [NET] Update Russian translation (#849) 2018-09-09 23:11:11 +02:00
Paweł Cholewa 8b37182613 [TRANSLATION] Updated Polish translation in USETUP (#848) 2018-09-09 22:28:02 +02:00
Bișoc George 402ea59af6 [USETUP] Italian translation update 2018-09-09 22:26:39 +02:00
Bișoc George c1bf18bada [USETUP] Romanian translation update 2018-09-09 22:26:39 +02:00
Nguyễn Thanh Sơn f47d0023b7 [SETUP][REACTOS] Added Vietnamese translation. (#716) 2018-09-09 17:34:21 +02:00
Hermès Bélusca-Maïto 320e0d01ae
[USETUP] Update French translation. 2018-09-09 17:24:38 +02:00
Bișoc George e5c0bfacf1
[USETUP] Implement the shutdown timeout progress bar. (#833)
- Add the MUI ID resource.
- Implement the shutdown timeout progress bar function and the TimeOut string handler.
- Add the resource string to other resource languages.
2018-09-09 17:17:16 +02:00
Eric Kohl 23a90aab5a [NET] Implement the group command 2018-09-08 14:18:36 +02:00
Katayama Hirofumi MZ 56583f3069 [FONT][SETUP] Add 'Tms Rmn' and 'Times' font substitutes (#830)
Add "Tms Rmn" and "Times" font substitutes (same as "Times New Roman"). Windows has these substitutes, hence we also need those to remain compatible.
2018-08-30 13:07:22 +02:00
Eric Kohl 4bbbc40820 [NET] Initialize a new users primary group ID in order to fix logon failures 2018-08-29 22:03:53 +02:00
Eric Kohl 60420c7218 [NET] Fix indentation 2018-08-29 18:56:24 +02:00
Katayama Hirofumi MZ b0a1cb52be [TCPSVCS] Remove hardcoded C drive letter (#800)
CORE-13228, CORE-13235

For USETUP, add a comment about why the code uses it when adding a boot-sector boot entry to NTLDR. CORE-13226
2018-08-28 12:45:03 +02:00
Hermès Bélusca-Maïto cdb9f03236
[USETUP] Progress-bar: minor improvements.
- Simplify the usage of the PUPDATE_PROGRESS callback.

- Add the possibility of specifying an initial non-zero StepCount when
  creating the progress-bar (using the -Ex version), so that it can be
  initially drawn with the expected initial count.
  Of course ProgressSetStepCount() can continue to be used.
2018-08-27 23:55:58 +02:00
LuRenJia 85bbd69cae [MAGNIFY] Fix the magnification ratio bug for CORE-14946 (#823)
This bug was caused by leaving the magnify window unrefreshed when updating the "Magnification Level" ComboBox.
CORE-14946
2018-08-27 14:36:28 +02:00
Hermès Bélusca-Maïto d056eb05f2
[TIMEOUT] Fix a typo. 2018-08-27 00:28:10 +02:00
Hermès Bélusca-Maïto 6241a16f41
[USETUP] Implement a basic console 'input queue' and implement PeekConsoleInput() and CONSOLE_ConInKeyPeek() around it. 2018-08-27 00:28:08 +02:00
Hermès Bélusca-Maïto e9ba3a8ebc
[USETUP] Progress-bar: Add support for displaying a custom progress text. 2018-08-26 20:41:57 +02:00
Hermès Bélusca-Maïto 3a33de0fb1
[USETUP] Progress-bar: Code formatting, add annotations, don't use floats. 2018-08-26 20:41:56 +02:00
Hermès Bélusca-Maïto 914769a14a
[USETUP] DrawProgressBar(): Draw the progress bar borders first, then draw its contents. 2018-08-26 20:41:49 +02:00
Eric Kohl 8f63c209bc [NET] Set the proper account expiration time (TIMEQ_FOREVER) when a new user account is created 2018-08-26 20:27:20 +02:00
Eric Kohl bf76e1bf20 [NET] Add a date parser for the expires option of the net user command 2018-08-26 00:13:14 +02:00
Katayama Hirofumi MZ b8e98c4e66 [NFSD] [TELNET] Remove the hardcoded directory paths C:\ReactOS
CORE-14747
2018-08-22 19:40:11 +02:00
Serge Gautherie e3a1c2c81b [SERVICES] RChangeServiceConfig2A(): Zero-Initialize InfoW variable
This lets forward NULL Info.psd/Info.psd->lpDescription/Info.psfa,
instead of an uninitialized value.

CORE-14521
2018-08-21 17:36:46 +02:00
Baruch Rutman 8a407b5c60 [FONTS] Update Hebrew font subtitutions (#795)
Updated the font substitutions to use the new Hebrew glyphs in the updated Tahoma font.
Also added substitution for the Ubuntu font to make the Lautus and Modern themes legible with Hebrew UI elements.

Follow up to PR #789 and #790 ; CORE-14880, CORE-14943
2018-08-21 17:21:21 +02:00
Bișoc George ee6bc66318 [USETUP] Implement CreateProgressBarEx() (#791)
Improve the progress bar functions:
- Add a member in the struct, which will be used as a bar colour parameter for the new CreateProgressBarEx().
- CreateProgressBar() which will now invoke the Ex variant without the additional parameter.
2018-08-21 15:49:54 +02:00
Hermès Bélusca-Maïto 3f892a8d6b
[CMD] Add missing memory allocation NULL checks (#161). CORE-8304
Adapted from a patch by Jacob S. Preciado.

Bring also the code suggestions emitted during review.
2018-08-21 14:02:24 +02:00
Adam Słaboń af3d426685 [TRANSLATION] Polish translation update (#781)
In addition: fix the encoding of the comdlg32 and ntvdm polish resource files.
2018-08-20 17:00:33 +02:00
Victor Perevertkin 07bc92f740 [USETUP][SETUPLIB] Added support for formatting partition in BTRFS and installing ReactOS on it.
Removed code related to EXT2 boot sector for now.
CORE-13769
2018-08-20 08:26:56 +02:00
Eric Kohl 934104d73f [UMPNPMGR] Simplify PNP_GetDeviceRegProp 2018-08-20 00:55:03 +02:00
Hermès Bélusca-Maïto fd39f92fcb
[INCLUDE][WINLOGON] Rename the STARTF_SCRNSAVER flag to STARTF_SCREENSAVER,
as documented in "Advanced Windows NT" by Jeffrey M. Richter (Microsoft Press),
and in https://is.muni.cz/el/1433/jaro2010/PB167/um/cv5/undocumented_CreateProcess.pdf .

[INCLUDE][SERVICES][WIN32K:NTUSER] Add an undocumented STARTF_INHERITDESKTOP flag
for the STARTUPINFO::dwFlags structure member, whose purpose is to tell Win32k
that the created handles to the window station and desktop to which the
process is connecting to, can be inherited by its child processes.
It is used when starting interactive services.
Observed via API monitoring on Windows 2003.
2018-08-19 22:18:40 +02:00
Bișoc George 2eb7ddd598 [OSK] Some enhancements for locales IT and RO (#416)
* Window element improvements for Italian and Romanian
2018-08-19 21:42:57 +02:00
Petr Akhlamov 05fbad174f [OSK] Rearrange window elements for ru-RU and en-US locales (#412)
* Resize osk window at RU and EN(US) languages
2018-08-19 21:40:58 +02:00
Denis Malikov 55368bacc8 [UPDATES] New stubs for Automatic Updates service and WUSA.exe. Presence of this modules required for installation by some NT6+ applications. 2018-08-19 19:56:18 +02:00