Index: core/install.php
===================================================================
--- core/install.php
+++ core/install.php
@@ -629,6 +629,33 @@
 						$this->Conn->Query('SET NAMES \''.$this->toolkit->systemConfig->get('DBCharset', 'Database').'\' COLLATE \''.$this->toolkit->systemConfig->get('DBCollation', 'Database').'\'');
 					}
 
+					if ( !$this->toolkit->systemConfig->get('SecurityHmacKey', 'Misc')
+						|| !$this->toolkit->systemConfig->get('SecurityEncryptionKey', 'Misc')
+					) {
+						// Include class declarations manually, because kApplication isn't available.
+						require_once FULL_PATH . '/core/kernel/security/SecurityEncrypter.php';
+						require_once FULL_PATH . '/core/kernel/security/SecurityGenerator.php';
+						require_once FULL_PATH . '/core/kernel/security/SecurityGeneratorPromise.php';
+
+						// Include dependencies, to make "random_int" function available in earlier PHP versions.
+						require_once FULL_PATH . '/vendor/autoload.php';
+
+						// Generate missing security-related settings.
+						$this->toolkit->systemConfig->set(
+							'SecurityHmacKey',
+							'Misc',
+							base64_encode(SecurityGenerator::generateString(
+								SecurityEncrypter::HASHING_KEY_LENGTH,
+								SecurityGenerator::CHAR_ALNUM | SecurityGenerator::CHAR_SYMBOLS
+							))
+						);
+						$this->toolkit->systemConfig->set(
+							'SecurityEncryptionKey',
+							'Misc',
+							SecurityGenerator::generateBytes(SecurityEncrypter::ENCRYPTION_KEY_LENGTH)
+						);
+					}
+
 					$this->toolkit->systemConfig->save();
 
 					if ($this->currentStep == 'db_config') {
@@ -845,24 +872,6 @@
 						}
 					}
 
-					if ( !$this->toolkit->systemConfig->get('SecurityHmacKey', 'Misc')
-						|| !$this->toolkit->systemConfig->get('SecurityEncryptionKey', 'Misc')
-					) {
-						$this->toolkit->systemConfig->set(
-							'SecurityHmacKey',
-							'Misc',
-							base64_encode(SecurityGenerator::generateString(
-								SecurityEncrypter::HASHING_KEY_LENGTH,
-								SecurityGenerator::CHAR_ALNUM | SecurityGenerator::CHAR_SYMBOLS
-							))
-						);
-						$this->toolkit->systemConfig->set(
-							'SecurityEncryptionKey',
-							'Misc',
-							SecurityGenerator::generateBytes(SecurityEncrypter::ENCRYPTION_KEY_LENGTH)
-						);
-					}
-
 					$this->toolkit->systemConfig->save();
 					break;