diff --git a/reactos/CMakeMacros.cmake b/reactos/CMakeMacros.cmake
index ce0225917b9..2a69760f15a 100644
--- a/reactos/CMakeMacros.cmake
+++ b/reactos/CMakeMacros.cmake
@@ -175,4 +175,32 @@ function(add_cd_file)
endif()
endif() #end livecd
+ #do we add it to regtest?
+ list(FIND _CD_FOR regtest __cd)
+ if(NOT __cd EQUAL -1)
+ #whether or not we should put it in reactos.cab or directly on cd
+ if(_CD_NO_CAB)
+ #directly on cd
+ foreach(item ${_CD_FILE})
+ file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcdregtest.cmake "file(COPY \"${item}\" DESTINATION \"\${CD_DIR}/${_CD_DESTINATION}\")\n")
+ endforeach()
+ if(_CD_NAME_ON_CD)
+ get_filename_component(__file ${_CD_FILE} NAME)
+ #rename it in the cd tree
+ file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcdregtest.cmake "file(RENAME \${CD_DIR}/${_CD_DESTINATION}/${__file} \${CD_DIR}/${_CD_DESTINATION}/${_CD_NAME_ON_CD})\n")
+ endif()
+ if(_CD_TARGET)
+ #manage dependency
+ add_dependencies(bootcdregtest ${_CD_TARGET})
+ endif()
+ else()
+ #add it in reactos.cab
+ #dir_to_num(${_CD_DESTINATION} _num)
+ #file(APPEND ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.dff.dyn "${_CD_FILE} ${_num}\n")
+ #if(_CD_TARGET)
+ # #manage dependency
+ # add_dependencies(reactos_cab ${_CD_TARGET})
+ #endif()
+ endif()
+ endif() #end bootcd
endfunction()
diff --git a/reactos/base/setup/usetup/CMakeLists.txt b/reactos/base/setup/usetup/CMakeLists.txt
index a0f6410702c..95b0ac7b58c 100644
--- a/reactos/base/setup/usetup/CMakeLists.txt
+++ b/reactos/base/setup/usetup/CMakeLists.txt
@@ -44,4 +44,4 @@ endif()
set_module_type(usetup nativecui)
add_importlibs(usetup kernel32 ntdll)
-add_cd_file(TARGET usetup DESTINATION reactos/system32 NO_CAB NAME_ON_CD smss.exe FOR bootcd)
+add_cd_file(TARGET usetup DESTINATION reactos/system32 NO_CAB NAME_ON_CD smss.exe FOR bootcd regtest)
diff --git a/reactos/boot/CMakeLists.txt b/reactos/boot/CMakeLists.txt
index 3ab10be6768..3ae611023f8 100644
--- a/reactos/boot/CMakeLists.txt
+++ b/reactos/boot/CMakeLists.txt
@@ -9,6 +9,18 @@ add_custom_target(bootcd
COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${CMAKE_CURRENT_BINARY_DIR}/bootcd REACTOS ${REACTOS_BINARY_DIR}/bootcd.iso
VERBATIM)
+##bootcdregtest
+#clear it out
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.cmake
+ "file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest)\n")
+
+add_custom_target(bootcdregtest
+ ${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest
+ -P ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.cmake
+ COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isobtrt.bin ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest REACTOS ${REACTOS_BINARY_DIR}/bootcdregtest.iso
+ VERBATIM)
+
+
##livecd
#clear it out
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake
diff --git a/reactos/boot/bootdata/CMakeLists.txt b/reactos/boot/bootdata/CMakeLists.txt
index edf577bdccb..85757698691 100644
--- a/reactos/boot/bootdata/CMakeLists.txt
+++ b/reactos/boot/bootdata/CMakeLists.txt
@@ -1,11 +1,11 @@
add_subdirectory(packages)
-add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/txtsetup.sif DESTINATION reactos NO_CAB FOR bootcd)
-add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivecls_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivecls.inf FOR bootcd)
-add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivedef_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivedef.inf FOR bootcd)
-add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesft_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesft.inf FOR bootcd)
-add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesys.inf FOR bootcd)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/txtsetup.sif DESTINATION reactos NO_CAB FOR bootcd regtest)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivecls_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivecls.inf FOR bootcd regtest)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivedef_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivedef.inf FOR bootcd regtest)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesft_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesft.inf FOR bootcd regtest)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesys.inf FOR bootcd regtest)
# livecd hives
list(APPEND CD_HIVES
@@ -42,6 +42,10 @@ add_cd_file(
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/regtest.cmd DESTINATION reactos/bin FOR all)
#freeldr.ini
-add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NAME_ON_CD freeldr.ini FOR bootcd)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NAME_ON_CD freeldr.ini FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd.ini DESTINATION root NAME_ON_CD freeldr.ini FOR livecd)
+#unattend
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/unattend.inf DESTINATION reactos NO_CAB FOR regtest)
+#uncomment this for unattend bootcd
+#add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd/unattend.inf DESTINATION reactos NO_CAB FOR bootcd)
\ No newline at end of file
diff --git a/reactos/boot/bootdata/bootcd/bootcd.rbuild b/reactos/boot/bootdata/bootcd/bootcd.rbuild
index f84fa71372b..4896a937edb 100644
--- a/reactos/boot/bootdata/bootcd/bootcd.rbuild
+++ b/reactos/boot/bootdata/bootcd/bootcd.rbuild
@@ -4,6 +4,7 @@
isoboot
+
diff --git a/reactos/boot/bootdata/bootcd/unattend.inf b/reactos/boot/bootdata/bootcd/unattend.inf
new file mode 100644
index 00000000000..d75a3258789
--- /dev/null
+++ b/reactos/boot/bootdata/bootcd/unattend.inf
@@ -0,0 +1,60 @@
+; In order to get unattended setup working:
+; 1. Copy unattend.inf.sample to unattend.inf, adjust as needed
+; 2. Uncomment the line in bootdata.rbuild to include it into bootcd
+
+[Unattend]
+Signature = "$ReactOS$"
+
+; yes - unattend setup enabled
+; no - unattend setup disabled
+UnattendSetupEnabled = no
+
+; Install to \Device\Harddisk0\Partition1\ReactOS
+DestinationDiskNumber = 0
+DestinationPartitionNumber = 1
+InstallationDirectory=ReactOS
+
+; MBRInstallType=0 skips MBR installation
+; MBRInstallType=1 install MBR on floppy
+; MBRInstallType=2 install MBR on hdd
+MBRInstallType=2
+
+FullName="MyName"
+;OrgName="MyOrg"
+ComputerName="MYCOMPUTERNAME";
+AdminPassword="MyPassword"
+
+; TimeZone is set GMT as default
+TimeZoneIndex=85
+
+; enable this setting to disable daylight saving changes
+; DisableAutoDaylightTimeSet = 1
+
+; enable this setting to format the selected partition
+; 1 - format enabled
+; 0 - format disabled
+FormatPartition=1
+
+; enable this setting to automatically create a partition
+; during installation
+; 1 - enabled
+; 0 - disabled
+AutoPartition = 1
+
+; enable this setting to disable vmware driver install
+; yes - disabled
+; no - enabled
+DisableVmwInst = yes
+
+; set this option to automatically
+; specify language in 2nd mode setup
+; see hivesys.inf for available languages
+; LocaleID = 407
+
+
+; enable this section to automatically launch programs
+; after 3rd boot
+;
+; [GuiRunOnce]
+; %SystemRoot%\system32\cmd.exe
+
diff --git a/reactos/boot/bootdata/packages/CMakeLists.txt b/reactos/boot/bootdata/packages/CMakeLists.txt
index 9f0ca7eac9a..a9c7dbe4867 100644
--- a/reactos/boot/bootdata/packages/CMakeLists.txt
+++ b/reactos/boot/bootdata/packages/CMakeLists.txt
@@ -42,4 +42,4 @@ add_custom_target(reactos_cab
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf
VERBATIM)
-add_cd_file(TARGET reactos_cab FILE ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf DESTINATION reactos NO_CAB FOR bootcd)
+add_cd_file(TARGET reactos_cab FILE ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf DESTINATION reactos NO_CAB FOR bootcd regtest)