]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
1. When click install button, if the USB stick already installed with Ventoy, then...
authorlongpanda <admin@ventoy.net>
Tue, 5 Apr 2022 09:26:59 +0000 (17:26 +0800)
committerlongpanda <admin@ventoy.net>
Tue, 5 Apr 2022 09:26:59 +0000 (17:26 +0800)
2. Prevent DLL search order hijacking

35 files changed:
INSTALL/Ventoy2Disk.exe
INSTALL/Ventoy2Disk_ARM.exe
INSTALL/Ventoy2Disk_ARM64.exe
INSTALL/Ventoy2Disk_X64.exe
INSTALL/grub/arm64-efi/moddep.lst
INSTALL/grub/arm64-efi/mouse.mod [new file with mode: 0644]
INSTALL/grub/arm64-efi/normal.mod
INSTALL/grub/arm64-efi/terminal.lst
INSTALL/grub/i386-efi/gfxterm_menu.mod [deleted file]
INSTALL/grub/i386-efi/moddep.lst
INSTALL/grub/i386-efi/mouse.mod [new file with mode: 0644]
INSTALL/grub/i386-efi/normal.mod
INSTALL/grub/i386-efi/terminal.lst
INSTALL/grub/i386-pc/core.img
INSTALL/grub/i386-pc/moddep.lst
INSTALL/grub/mips64el-efi/moddep.lst
INSTALL/grub/mips64el-efi/mouse.mod [new file with mode: 0644]
INSTALL/grub/mips64el-efi/normal.mod
INSTALL/grub/mips64el-efi/terminal.lst
INSTALL/grub/x86_64-efi/gfxterm_menu.mod [deleted file]
INSTALL/grub/x86_64-efi/moddep.lst
INSTALL/grub/x86_64-efi/mouse.mod [new file with mode: 0644]
INSTALL/grub/x86_64-efi/normal.mod
INSTALL/grub/x86_64-efi/terminal.lst
LANGUAGES/languages.json
Ventoy2Disk/Ventoy2Disk/Language.h
Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps
Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c
Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h
Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.rc
Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj
Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj.filters
Ventoy2Disk/Ventoy2Disk/WinDialog.c
Ventoy2Disk/Ventoy2Disk/YesDialog.c [new file with mode: 0644]
Ventoy2Disk/Ventoy2Disk/resource.h

index e829df70ed6ab54aedaaf15f6ee56d4483f27315..d1f344cd781dbcc4ef19018f9c34fb276a186250 100644 (file)
Binary files a/INSTALL/Ventoy2Disk.exe and b/INSTALL/Ventoy2Disk.exe differ
index 1240a42b4474502ded1c7653062f625e6973e4c1..6728b95730e6bb90fbfbce0c9ad7f5bc0b8db7e9 100644 (file)
Binary files a/INSTALL/Ventoy2Disk_ARM.exe and b/INSTALL/Ventoy2Disk_ARM.exe differ
index fe3f100da368672e22509bb6382a1a8dee8e5e70..eae677c03e3a69f8671e166ed251fd5da79826a5 100644 (file)
Binary files a/INSTALL/Ventoy2Disk_ARM64.exe and b/INSTALL/Ventoy2Disk_ARM64.exe differ
index 45e8e59565472419d71eb24ae4e130d0dfb65094..32090c64da63717cca2c3d47307c8720ff98ccc9 100644 (file)
Binary files a/INSTALL/Ventoy2Disk_X64.exe and b/INSTALL/Ventoy2Disk_X64.exe differ
index fad03460b1f0fc096c07ef545820526f1310987c..e727820c8a5211555105b387fe8c01f6ffbe7579 100644 (file)
Binary files a/INSTALL/grub/arm64-efi/moddep.lst and b/INSTALL/grub/arm64-efi/moddep.lst differ
diff --git a/INSTALL/grub/arm64-efi/mouse.mod b/INSTALL/grub/arm64-efi/mouse.mod
new file mode 100644 (file)
index 0000000..a76800a
Binary files /dev/null and b/INSTALL/grub/arm64-efi/mouse.mod differ
index 04ce41a707b22496175a509173be4c177388de03..b056d85838924f56ad585e2f98a1fcc078082e5a 100644 (file)
Binary files a/INSTALL/grub/arm64-efi/normal.mod and b/INSTALL/grub/arm64-efi/normal.mod differ
index b2cfb3fff0a4c91141bd1e9faa93190016c18155..0f853df051d21d0b1c7ab372166bf08e9ccf6492 100644 (file)
Binary files a/INSTALL/grub/arm64-efi/terminal.lst and b/INSTALL/grub/arm64-efi/terminal.lst differ
diff --git a/INSTALL/grub/i386-efi/gfxterm_menu.mod b/INSTALL/grub/i386-efi/gfxterm_menu.mod
deleted file mode 100644 (file)
index 1988941..0000000
Binary files a/INSTALL/grub/i386-efi/gfxterm_menu.mod and /dev/null differ
index 82ae547ababdbca19b5abb65e00356cd0abb1c3a..d3fd2c2f4c769a7ff96caaa567595d89eba12dcf 100644 (file)
@@ -26,7 +26,7 @@ sfs: fshelp
 reiserfs: fshelp
 part_sunpc:
 zstd:
-gfxmenu: trig video_colors gfxterm bitmap_scale font normal video bitmap
+gfxmenu: video_colors trig gfxterm bitmap_scale font normal video bitmap
 backtrace:
 jfs:
 help: extcmd normal
@@ -226,6 +226,7 @@ gcry_sha256: crypto
 ls: extcmd normal
 usbserial_common: serial usb
 ntfscomp: ntfs
+mouse:
 lzopio: crypto
 video_cirrus: video video_fb
 hello: extcmd
diff --git a/INSTALL/grub/i386-efi/mouse.mod b/INSTALL/grub/i386-efi/mouse.mod
new file mode 100644 (file)
index 0000000..d371e5f
Binary files /dev/null and b/INSTALL/grub/i386-efi/mouse.mod differ
index 467046ff3f65c6cdb4bfb8b23209206ce28ab1c9..c647ca645309342b00720776d690714a95f5d774 100644 (file)
Binary files a/INSTALL/grub/i386-efi/normal.mod and b/INSTALL/grub/i386-efi/normal.mod differ
index 3c9a5a34a6f31f2c42b87668d2e47f3a2954118e..9afb9bdc42ef1c07274bf368c52dc9d357b0af14 100644 (file)
@@ -1,4 +1,5 @@
 iat_keyboard: at_keyboard
+imouse: mouse
 iserial: serial
 iserial_*: serial
 oaudio: morse
index d94561e0af61fef967754754d18c074881d7624b..cb8be2e8f2216f2961f68f3d0ef7a75c309007f6 100644 (file)
Binary files a/INSTALL/grub/i386-pc/core.img and b/INSTALL/grub/i386-pc/core.img differ
index d205b28a15c8dfb8a3ec86bf443d797fced0f761..5e32ffad5c16eb58b91868af2e55003ee08d692f 100644 (file)
@@ -26,7 +26,7 @@ sfs: fshelp
 reiserfs: fshelp
 part_sunpc:
 zstd:
-gfxmenu: trig video_colors gfxterm bitmap_scale font normal video bitmap
+gfxmenu: video_colors trig gfxterm bitmap_scale font normal video bitmap
 backtrace:
 jfs:
 help: extcmd normal
index 554171b54f10488ef69e088556e5c9f4a9952282..6041b3b8d41e3156d41c3a16b337307cbf73be00 100644 (file)
Binary files a/INSTALL/grub/mips64el-efi/moddep.lst and b/INSTALL/grub/mips64el-efi/moddep.lst differ
diff --git a/INSTALL/grub/mips64el-efi/mouse.mod b/INSTALL/grub/mips64el-efi/mouse.mod
new file mode 100644 (file)
index 0000000..bc2dda8
Binary files /dev/null and b/INSTALL/grub/mips64el-efi/mouse.mod differ
index a10d308b02329304526bd553b6f14bc7fd6f417a..9d625d3d67b877e4096fb833e6d988e7c9d79cab 100644 (file)
Binary files a/INSTALL/grub/mips64el-efi/normal.mod and b/INSTALL/grub/mips64el-efi/normal.mod differ
index b2cfb3fff0a4c91141bd1e9faa93190016c18155..0f853df051d21d0b1c7ab372166bf08e9ccf6492 100644 (file)
Binary files a/INSTALL/grub/mips64el-efi/terminal.lst and b/INSTALL/grub/mips64el-efi/terminal.lst differ
diff --git a/INSTALL/grub/x86_64-efi/gfxterm_menu.mod b/INSTALL/grub/x86_64-efi/gfxterm_menu.mod
deleted file mode 100644 (file)
index 6783e07..0000000
Binary files a/INSTALL/grub/x86_64-efi/gfxterm_menu.mod and /dev/null differ
index 8cbceb048793f5a23aeb1354061905c3c2f3e26d..24d5da78c61151f5e82a7df2866b59577fec553b 100644 (file)
@@ -26,7 +26,7 @@ sfs: fshelp
 reiserfs: fshelp
 part_sunpc:
 zstd:
-gfxmenu: trig video_colors gfxterm bitmap_scale font normal video bitmap
+gfxmenu: video_colors trig gfxterm bitmap_scale font normal video bitmap
 backtrace:
 jfs:
 help: extcmd normal
@@ -227,6 +227,7 @@ gcry_sha256: crypto
 ls: extcmd normal
 usbserial_common: serial usb
 ntfscomp: ntfs
+mouse:
 lzopio: crypto
 video_cirrus: video video_fb
 hello: extcmd
diff --git a/INSTALL/grub/x86_64-efi/mouse.mod b/INSTALL/grub/x86_64-efi/mouse.mod
new file mode 100644 (file)
index 0000000..18724b3
Binary files /dev/null and b/INSTALL/grub/x86_64-efi/mouse.mod differ
index 5ed99b73fc5fe5e2bdb42a2348479ac3471d3637..853d51571f984479839b351f451a0d0952d4df1a 100644 (file)
Binary files a/INSTALL/grub/x86_64-efi/normal.mod and b/INSTALL/grub/x86_64-efi/normal.mod differ
index 3c9a5a34a6f31f2c42b87668d2e47f3a2954118e..9afb9bdc42ef1c07274bf368c52dc9d357b0af14 100644 (file)
@@ -1,4 +1,5 @@
 iat_keyboard: at_keyboard
+imouse: mouse
 iserial: serial
 iserial_*: serial
 oaudio: morse
index 3de5623e7c31fd35e9f785be8c80cee96a561a59..1e3f38511b6ebfd92d6bfd369a0777928f58186a 100644 (file)
@@ -53,6 +53,8 @@
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Təbriklər!#@Zərərsiz Ventoy quraşdırması başa çatdı.",
         "STR_PART_RESIZE_FAILED":"Zərərsiz quraşdırma baş tutmadı, daha ətraflı öyrənmək üçün log.txt jurnal faylına baxın.",
         "STR_PART_RESIZE_UNSUPPORTED":"ZƏrərsiz Ventoy quraşdırması dayandırıldı, belə ki, bəzi şərtlər yerinə yetirilə bilməd. Daha ətraflı məlumat üçün.txt jurnal faylına baxın.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"축하합니다!#@Ventoy 비파괴 설치가 완료되었습니다.",
         "STR_PART_RESIZE_FAILED":"비파괴 설치에 실패했습니다. 자세한 내용은 log.txt를 확인하십시오.",
         "STR_PART_RESIZE_UNSUPPORTED":"일부 조건을 충족할 수 없기 때문에 Ventoy 비파괴 설치가 중지되었습니다. 자세한 내용은 log.txt를 확인하십시오.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
                 
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"恭喜你! Ventoy 成功完成了无损安装。",
         "STR_PART_RESIZE_FAILED":"Ventoy 无损安装失败。详细信息请查阅 log.txt 文件。",
         "STR_PART_RESIZE_UNSUPPORTED":"条件不满足,无法进行无损安装。详细信息请查阅 log.txt 文件。",
+        "STR_INSTALL_YES_TIP1":"警告: 所有数据将会丢失!",
+        "STR_INSTALL_YES_TIP2":"请在下面文本框中输入 YES 以确认你是要进行安装而不是升级。",
 
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Gratulacje!#@Nieniszcząca instlacja Ventoy zakończyła się pomyślnie.",
         "STR_PART_RESIZE_FAILED":"Nieniszcząca instalacja nie powiodła się, sprawdz log.txt po szczegóły.",
         "STR_PART_RESIZE_UNSUPPORTED":"Nieniszcząca instalacja Ventoy została zatrzymana ponieważ niektóre wymagania nie zostały spełnione. Sprawdz log.txt po szczegóły.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Parabéns!#@Instalação não destrutiva do Ventoy concluída com sucesso.",
         "STR_PART_RESIZE_FAILED":"Falha na instalação não destrutiva, cheque o arquivo log.txt para entender.",
         "STR_PART_RESIZE_UNSUPPORTED":"Instalação não destrutiva do Ventoy interrompida devido fato desconhecido. Cheque o arquivo log.txt para detalhes.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Tebrikler!#@Ventoy Tahribatsız Kurulum, başarıyla tamamlandı.",
         "STR_PART_RESIZE_FAILED":"Tahribatsız kurulum başarısız oldu, ayrıntılar için log.txt dosyasını kontrol edin.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy Tahribatsız Kurulum, bazı koşullar sağlanmadığı için durduruldu. Ayrıntılı bilgi için log.txt dosyasını kontrol edin.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Glückwunsch!#@Die Installation von Ventoy, ohne vorherige Formatierung, wurde erfolgreich abgeschlossen.",
         "STR_PART_RESIZE_FAILED":"Installation ohne vorherige Formatierung fehlgeschlagen. Für Details die log.txt prüfen.",
         "STR_PART_RESIZE_UNSUPPORTED":"Installation ohne vorherige Formatierung wurde auf Grund einiger nicht erfüllbarer Bedingungen gestoppt. Für Details die log.txt prüfen.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Поздравляем!#@Неразрушающая установка Ventoy успешно завершена.",
         "STR_PART_RESIZE_FAILED":"Не удалось выполнить неразрушающую установку, проверьте файл log.txt для получения подробной информации.",
         "STR_PART_RESIZE_UNSUPPORTED":"Неразрушающая установка Ventoy остановлена, поскольку некоторые условия не могут быть выполнены. Проверьте файл log.txt для получения подробной информации.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Gefeliciteerd!#@De niet-destructieve installatie van Ventoy is met succes voltooid.",
         "STR_PART_RESIZE_FAILED":"Niet-destructieve installatie mislukt. Controleer log.txt voor details.",
         "STR_PART_RESIZE_UNSUPPORTED":"De niet-destructieve installatie van Ventoy is gestopt omdat aan sommige voorwaarden niet kan worden voldaan. Controleer log.txt voor details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"おめでとうございます。#@Ventoyの非破壊的導入は正常に行われました。",
         "STR_PART_RESIZE_FAILED":"Ventoyを非破壊的に導入できませんでした。詳細な記録は log.txt にあります。",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoyを非破壊的に導入できませんでした。非破壊的導入にあたっての要件が満たされていません。詳細な記録は log.txt にあります。",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulazioni!#@Installazione non distruttiva di Ventoy completata.",
         "STR_PART_RESIZE_FAILED":"Installazione non distruttiva fallita.#@Per i dettagli controlla il file log.txt.",
         "STR_PART_RESIZE_UNSUPPORTED":"L'installazione non distruttiva di Ventoy è stata interrotta perché alcune condizioni non possono essere soddisfatte.#@Per i dettagli controlla il file log.txt.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"恭喜!#@Ventoy 已完成無損安裝。",
         "STR_PART_RESIZE_FAILED":"Ventoy 無損安裝失敗。詳細訊息請檢視 log.txt 檔案。",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy 無損安裝已中止因為未滿足部分條件。詳細訊息請檢視 log.txt 檔案。",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Chúc mừng bạn!#@Thiết bị đã được cài Ventoy thành công theo cách cài đặt không phá hủy.",
         "STR_PART_RESIZE_FAILED":"Đã xảy ra lỗi trong quá trình cài Ventoy theo cách cài đặt không phá hủy. Xem chi tiết ở tệp log.txt.",
         "STR_PART_RESIZE_UNSUPPORTED":"Cài Ventoy theo cách cài đặt không phá hủy đã bị dừng lại vì chưa đúng điều kiện. Xem chi tiết ở tệp log.txt.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         "STRXXX":""
     },
     {
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Честитки! Недеструктивната инсталација е успешно завршена.",
         "STR_PART_RESIZE_FAILED":"Недеструктивната инсталација не успеа. Проверете го log.txt за детали.",
         "STR_PART_RESIZE_UNSUPPORTED":"Недеструктивната инсталација на Ventoy е запрена бидејќи некои услови не се исполнети. Проверете го log.txt за детали.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Selamat!#@Pemasangan tanpa merusakkan Ventoy berhasil.",
         "STR_PART_RESIZE_FAILED":"Pemasangan tanpa merusakkan gagal, periksa berkas log.txt untuk detil.",
         "STR_PART_RESIZE_UNSUPPORTED":"Pemasangan tanpa merusakkan Ventoy terhenti karena beberapa kondisi yang tidak mendukung. Periksa berkas log.txt untuk detil.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Вітаємо!#@Неруйнівна установка Ventoy успішно завершена.",
         "STR_PART_RESIZE_FAILED":"Збій неруйнівної установки, перевірте log.txt для отримання детальної інформації.",
         "STR_PART_RESIZE_UNSUPPORTED":"Неруйнівна установка Ventoy зупинена через неможливість виконання деяких умов. Перевірте log.txt для отримання детальної інформації.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Gratulerar!#@Ventoy lyckades slutföra en icke-förstörande installation.",
         "STR_PART_RESIZE_FAILED":"Ventoy misslyckades slutföra en icke-förstörande installation. Mer information finns i log.txt.",
         "STR_PART_RESIZE_UNSUPPORTED":"Icke-förstörande installation stoppades eftersom vissa villkor inte kunde uppfyllas. Mer information finns i log.txt.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Onnittelut!#@Ventoyn ei-tuhoisa asennus saapui päätökseen onnistuneesti.",
         "STR_PART_RESIZE_FAILED":"Ei-tuhoisa asennusmuoto epäonnistui, tarkista log.txt nähdäksesi yksityiskohtaiset tiedot.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoyn ei-tuhoisa asennus pysähtyi koska jotkut ehdot eivät täyttyneet. Tarkista log.txt nähdäksesi yksityiskohdat.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Parabéns!#@Instalación non destructiva do Ventoy concluida con suceso.",
         "STR_PART_RESIZE_FAILED":"Erro na instalación non destructiva, revisa o arquivo log.txt para ver os detalles.",
         "STR_PART_RESIZE_UNSUPPORTED":"Instalación non destructiva do Ventoy interrompida porque non se poden cumprir algunhas condicións. Revisa o arquivo log.txt para mais detalles.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Enhorabona!#@La instal·lació no destructiva s'ha completat de forma satisfactòria.",
         "STR_PART_RESIZE_FAILED":"Hi ha hagut un error durant el procés d'instal·lació no destructiva, comproveu el fitxer log.txt per a més detalls.",
         "STR_PART_RESIZE_UNSUPPORTED":"La instal·lació no destructiva de Ventoy no ha estat possible perquè els requeriments no es compleixen. Comproveu el fitxer log.txt per a més detalls.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
         
         "STRXXX":""
     },
         "STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
         "STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
         "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
+        "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
+        "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
 
         "STRXXX":""
     }
index 00c4618d4a74bc889f112715bbc3ded21f2eb907..5b0d797f6100b3a2363f54d3324c74e54dc30907 100644 (file)
@@ -83,6 +83,9 @@ typedef enum STR_ID
        STR_PART_RESIZE_FAILED,//46\r
        STR_PART_RESIZE_UNSUPPORTED,//47\r
 \r
+       STR_INSTALL_YES_TIP1,//48\r
+       STR_INSTALL_YES_TIP2,//49\r
+\r
        STR_ID_MAX\r
 }STR_ID;\r
 \r
index 348d2e5aa38933ec67475aaab4998568cb3bbd6c..e3149f81b455344ba3d99553681449c0c6c781fd 100644 (file)
Binary files a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps and b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps differ
index 4c6f6096d5726358e20cbb44bc353dbd0e18fa9b..8767e3b61e07c2beddb800a240eb0db6b582efa1 100644 (file)
@@ -28,6 +28,7 @@ DWORD g_PhyDriveCount = 0;
 static int g_FilterRemovable = 0;\r
 int g_FilterUSB = 1;\r
 int g_ForceOperation = 1;\r
+int g_NoNeedInputYes = 0;\r
 int g_WriteImage = 0;\r
 \r
 int ParseCmdLineOption(LPSTR lpCmdLine)\r
@@ -51,6 +52,10 @@ int ParseCmdLineOption(LPSTR lpCmdLine)
         {\r
             g_ForceOperation = 1;\r
         }\r
+        else if (strncmp(__argv[i], "-Y", 2) == 0 || strncmp(__argv[i], "-y", 2) == 0)\r
+        {\r
+            g_NoNeedInputYes = 1;\r
+        }\r
     }\r
 \r
     GetCurrentDirectoryA(sizeof(cfgfile), cfgfile);\r
index daf8c3c4dc2b7d610be84c0dc4cdc6abb6e00705..beafaa4ab95081b5895f209b3e3459061c665041 100644 (file)
@@ -201,6 +201,7 @@ typedef enum PROGRESS_POINT
 extern PHY_DRIVE_INFO *g_PhyDriveList;\r
 extern DWORD g_PhyDriveCount;\r
 extern int g_ForceOperation;\r
+extern int g_NoNeedInputYes;\r
 extern HWND g_ProgressBarHwnd;\r
 extern HFONT g_language_normal_font;\r
 extern HFONT g_language_bold_font;\r
@@ -246,6 +247,9 @@ int INIT unxz(unsigned char *in, int in_size,
     unsigned char *out, int *in_used,\r
     void(*error)(char *x));\r
 void disk_io_set_param(HANDLE Handle, UINT64 SectorCount);\r
+\r
+extern BOOL g_InputYes;\r
+INT_PTR CALLBACK YesDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam);\r
 INT_PTR CALLBACK PartDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam);\r
 int GetReservedSpaceInMB(void);\r
 int IsPartNeed4KBAlign(void);\r
index 18c7d06bfafce5adaa85416cfc714e61434ab59e..acf72c871929c90d9ccc327e855e9045b0d5e795 100644 (file)
Binary files a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.rc and b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.rc differ
index 45bb839e7611856c8cedfa3f6c15164fd733336a..9540a363722628f00c6b2f9e407735463d3958b6 100644 (file)
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
-      <AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
     <ClCompile Include="VentoyJson.c" />
     <ClCompile Include="WinDialog.c" />
     <ClCompile Include="xz-embedded-20130513\linux\lib\decompress_unxz.c" />
+    <ClCompile Include="YesDialog.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="DiskService.h" />
index 410ec23facba6e596ac19b163c1ebf34443e3020..0ee93bc6dccdd10d9cf68331637b58f081b98296 100644 (file)
@@ -93,6 +93,9 @@
     <ClCompile Include="DiskService.c">
       <Filter>源文件</Filter>
     </ClCompile>
+    <ClCompile Include="YesDialog.c">
+      <Filter>源文件</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="Ventoy2Disk.h">
index 86277baaa4e7db38233ace75ce10e6a96c80f41e..d9fe702b053f4862dccf8893212469774488c46a 100644 (file)
Binary files a/Ventoy2Disk/Ventoy2Disk/WinDialog.c and b/Ventoy2Disk/Ventoy2Disk/WinDialog.c differ
diff --git a/Ventoy2Disk/Ventoy2Disk/YesDialog.c b/Ventoy2Disk/Ventoy2Disk/YesDialog.c
new file mode 100644 (file)
index 0000000..9157fe3
Binary files /dev/null and b/Ventoy2Disk/Ventoy2Disk/YesDialog.c differ
index 5ca99e24fad4d45f8955031ffe661bd0ea2ce541..037e857fed74ca0e96827fcc3735198d29462b3e 100644 (file)
Binary files a/Ventoy2Disk/Ventoy2Disk/resource.h and b/Ventoy2Disk/Ventoy2Disk/resource.h differ