@@ -609,8 +609,8 @@ bool BootWimProcessor::mountAndProcessWim(const std::string &bootWimDest, const
609609 if (hasPecmd) {
610610 eventManager_.notifyLogUpdate (" Hiren's BootCD PE detectado (PECMD presente).\r\n " );
611611
612- // For Hiren's BootCD PE: Copy HBCD_PE.ini from ISO root to System32 if it exists
613- // This file is used by LetterSwap.exe to map the data partition to Y:
612+ // For Hiren's BootCD PE: Copy HBCD_PE.ini from ISO root to DATA PARTITION ROOT (not boot.wim)
613+ // LetterSwap.exe expects this file at Y:\HBCD_PE.ini ( data partition root)
614614 std::string hbcdIniInISO = sourcePath;
615615 // sourcePath is the ISO path, need to check if HBCD_PE.ini exists in root
616616 std::vector<std::string> isoRootFiles;
@@ -631,14 +631,15 @@ bool BootWimProcessor::mountAndProcessWim(const std::string &bootWimDest, const
631631 }
632632
633633 if (foundHBCDini) {
634- std::string hbcdIniDest = system32DirPath + " \\ HBCD_PE.ini" ;
634+ // Extract to DATA PARTITION ROOT, not to boot.wim
635+ std::string hbcdIniDest = destPath + " HBCD_PE.ini" ;
635636 logFile << ISOCopyManager::getTimestamp ()
636- << " Found HBCD_PE.ini in ISO root, extracting to System32 ..." << std::endl;
637+ << " Found HBCD_PE.ini in ISO root, extracting to data partition root ..." << std::endl;
637638
638639 if (isoReader_->extractFile (sourcePath, " HBCD_PE.ini" , hbcdIniDest)) {
639640 logFile << ISOCopyManager::getTimestamp ()
640- << " HBCD_PE.ini copied successfully to " << hbcdIniDest << std::endl;
641- eventManager_.notifyLogUpdate (" HBCD_PE.ini integrado en boot.wim para configuración de letra Y: .\r\n " );
641+ << " HBCD_PE.ini copied successfully to data partition: " << hbcdIniDest << std::endl;
642+ eventManager_.notifyLogUpdate (" HBCD_PE.ini extraido a particion de datos (Y: \\ HBCD_PE.ini) .\r\n " );
642643 } else {
643644 logFile << ISOCopyManager::getTimestamp ()
644645 << " Failed to extract HBCD_PE.ini from ISO" << std::endl;
0 commit comments