https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6f389a35dbf7b8731f0e3…
commit 6f389a35dbf7b8731f0e3286eeda0d375ad170ea
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Sun Dec 20 18:21:27 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Wed Jan 27 05:15:15 2021 +0300
[SETUPLIB] Add a workaround for installing from USB drives
---
base/setup/lib/setuplib.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/base/setup/lib/setuplib.c b/base/setup/lib/setuplib.c
index 0c3590e38e4..1ee70e6216a 100644
--- a/base/setup/lib/setuplib.c
+++ b/base/setup/lib/setuplib.c
@@ -410,6 +410,8 @@ GetSourcePaths(
ULONG BufferSize;
PWCHAR Ptr;
+ // FIXME: commented out to allow installation from USB
+#if 0
/* Determine the installation source path via the full path of the installer */
RtlInitEmptyUnicodeString(InstallSourcePath,
(PWSTR)((ULONG_PTR)ImageFileBuffer + sizeof(UNICODE_STRING)),
@@ -433,7 +435,7 @@ GetSourcePaths(
if (Ptr)
*Ptr = UNICODE_NULL;
InstallSourcePath->Length = wcslen(InstallSourcePath->Buffer) * sizeof(WCHAR);
-
+#endif
/*
* Now resolve the full path to \SystemRoot. In case it prefixes
@@ -478,7 +480,8 @@ GetSourcePaths(
return Status; // Unexpected error
/* Check whether the resolved \SystemRoot is a prefix of the image file path */
- if (RtlPrefixUnicodeString(&SystemRootPath, InstallSourcePath, TRUE))
+ // FIXME: commented out to allow installation from USB
+ // if (RtlPrefixUnicodeString(&SystemRootPath, InstallSourcePath, TRUE))
{
/* Yes it is, so we use instead SystemRoot as the installation source path */
InstallSourcePath = &SystemRootPath;
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e468da06be519d8d8a5e5…
commit e468da06be519d8d8a5e5475bfa17af7d278ab45
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Thu Dec 10 03:13:27 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Wed Jan 27 05:15:14 2021 +0300
[SETUPAPI] Set the CONFIGFLAG_FAILEDINSTALL flag in SetupDiInstallDevice
The code follows the comment now. The fix may be wrong, but DNF_DISABLED
is a kernel flag and should definitely not be used in a dll.
---
dll/win32/setupapi/devinst.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dll/win32/setupapi/devinst.c b/dll/win32/setupapi/devinst.c
index fef929d6ef8..167d8062c98 100644
--- a/dll/win32/setupapi/devinst.c
+++ b/dll/win32/setupapi/devinst.c
@@ -3410,7 +3410,7 @@ BOOL WINAPI IntSetupDiSetDeviceRegistryPropertyAW(
hKey, PropertyMap[Property].nameA, 0,
PropertyMap[Property].regType, PropertyBuffer,
PropertyBufferSize);
- }
+ }
else
{
l = RegSetValueExW(
@@ -5435,7 +5435,7 @@ SetupDiInstallDevice(
SetLastError(ERROR_GEN_FAILURE);
goto cleanup;
}
- ConfigFlags |= DNF_DISABLED;
+ ConfigFlags |= CONFIGFLAG_FAILEDINSTALL;
Result = SetupDiSetDeviceRegistryPropertyW(
DeviceInfoSet,
DeviceInfoData,
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=942f2e43c1300d2ca7f68…
commit 942f2e43c1300d2ca7f682b821e59e0ff2003a47
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Thu Dec 10 03:03:54 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Wed Jan 27 05:15:14 2021 +0300
[BOOTDATA] Don't remove critical device DB for the setup
We need the CDDB during the setup, so don't delete it for now.
The "proper" way for filling it is yet to be decided, Windows does that
from the data in txtsetup.sif file. Our final approach may be different
---
boot/bootdata/setupreg.inf | 40 ----------------------------------------
1 file changed, 40 deletions(-)
diff --git a/boot/bootdata/setupreg.inf b/boot/bootdata/setupreg.inf
index ed841fdd044..e7c50e0c201 100644
--- a/boot/bootdata/setupreg.inf
+++ b/boot/bootdata/setupreg.inf
@@ -1,44 +1,4 @@
[Version]
Signature = "$Windows NT$"
-[DelReg]
-
-; Critical Device Database
-;;
-;; WARNING! Keep it in sync with hivesys.inf
-;;
-
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0A03"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0A08"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0604"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0C08"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0300"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0310"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0320"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\USB#Class_08&SubClass_06&Prot_50"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\USB#COMPOSITE"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\USB#CLASS_09"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\USB#ROOT_HUB"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\USB#ROOT_HUB20"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\GenDisk"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\USB#Class_03"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\GENERIC_HID_DEVICE"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\HID_DEVICE_SYSTEM_KEYBOARD"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\HID_DEVICE_SYSTEM_MOUSE"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0000"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0001"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0300"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0301"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0303"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0F0E"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0F19"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PS2_MOUSE"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0F13"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*IBM3780"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0F12"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0F03"
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\ROOT#SWENUM"
-
-HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase"
-
; EOF