diff --git a/.github/ISSUE_TEMPLATE/issue_template.yml b/.github/ISSUE_TEMPLATE/issue_template.yml
index 8099da83..66ff1b94 100644
--- a/.github/ISSUE_TEMPLATE/issue_template.yml
+++ b/.github/ISSUE_TEMPLATE/issue_template.yml
@@ -21,7 +21,7 @@ body:
attributes:
label: Ventoy Version
description: What version of ventoy are you running?
- placeholder: 1.0.57
+ placeholder: 1.0.58
validations:
required: true
- type: dropdown
diff --git a/INSTALL/FOR_X64_ARM.txt b/INSTALL/FOR_X64_ARM.txt
new file mode 100644
index 00000000..d1b82aeb
--- /dev/null
+++ b/INSTALL/FOR_X64_ARM.txt
@@ -0,0 +1,12 @@
+============ Ventoy2Disk.exe for x86_64/ARM/ARM64 =================
+Ventoy2Disk.exe is a x86_32 application and supports both 32-bit and 64-bit Windows PC with intel/amd processor.
+Since 1.0.58, Ventoy also provides Ventoy2Disk_X64.exe/Ventoy2Disk_ARM.exe/Ventoy2Disk_ARM64.exe you can use them if needed.
+These exe files are in altexe directory of the installation package.
+You must copy them to the upper directory to use them. (The same location with Ventoy2Disk.exe)
+
+
+============ x86_64/ARM/ARM64 版本 Ventoy2Disk.exe =================
+默认的 Ventoy2Disk.exe 是32位x86程序,同时支持最常见的32位和64位Windows系统,绝大部分情况下使用它就可以。
+从1.0.58版本开始,Ventoy还同时提供了 Ventoy2Disk_X64.exe/Ventoy2Disk_ARM.exe/Ventoy2Disk_ARM64.exe 可以根据需要使用。
+这些文件位于安装包内的altexe目录下,使用时需要将其拷贝到上一层目录(即和 Ventoy2Disk.exe 同一位置)。
+
diff --git a/INSTALL/Ventoy2Disk.exe b/INSTALL/Ventoy2Disk.exe
index e8bd61c7..8af8442b 100644
Binary files a/INSTALL/Ventoy2Disk.exe and b/INSTALL/Ventoy2Disk.exe differ
diff --git a/INSTALL/Ventoy2Disk_ARM.exe b/INSTALL/Ventoy2Disk_ARM.exe
new file mode 100644
index 00000000..47a65121
Binary files /dev/null and b/INSTALL/Ventoy2Disk_ARM.exe differ
diff --git a/INSTALL/Ventoy2Disk_ARM64.exe b/INSTALL/Ventoy2Disk_ARM64.exe
new file mode 100644
index 00000000..fa844917
Binary files /dev/null and b/INSTALL/Ventoy2Disk_ARM64.exe differ
diff --git a/INSTALL/Ventoy2Disk_X64.exe b/INSTALL/Ventoy2Disk_X64.exe
new file mode 100644
index 00000000..924df5ab
Binary files /dev/null and b/INSTALL/Ventoy2Disk_X64.exe differ
diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg
index 370b42f7..4acad0d4 100644
--- a/INSTALL/grub/grub.cfg
+++ b/INSTALL/grub/grub.cfg
@@ -2010,7 +2010,7 @@ function img_unsupport_menuentry {
#############################################################
#############################################################
-set VENTOY_VERSION="1.0.57"
+set VENTOY_VERSION="1.0.58"
#ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1
diff --git a/INSTALL/ventoy_pack.sh b/INSTALL/ventoy_pack.sh
index e67e2fde..a1f10059 100644
--- a/INSTALL/ventoy_pack.sh
+++ b/INSTALL/ventoy_pack.sh
@@ -172,7 +172,14 @@ tar -czvf ventoy-${curver}-linux.tar.gz $tmpdir
rm -f ventoy-${curver}-windows.zip
-cp $OPT Ventoy2Disk*.exe $tmpdir/
+
+cp $OPT Ventoy2Disk.exe $tmpdir/
+cp $OPT FOR_X64_ARM.txt $tmpdir/
+mkdir -p $tmpdir/altexe
+cp $OPT Ventoy2Disk_*.exe $tmpdir/altexe/
+
+
+
cp $OPT $LANG_DIR/languages.json $tmpdir/ventoy/
rm -rf $tmpdir/tool
rm -f $tmpdir/*.sh
diff --git a/README.md b/README.md
index 1485e056..cbc0e469 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ You can copy many image files at a time and ventoy will give you a boot menu to
x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way.
Both MBR and GPT partition style are supported in the same way.
Most type of OS supported(Windows/WinPE/Linux/Unix/ChromeOS/Vmware/Xen...)
- 760+ ISO files are tested (List ). 90%+ distros in distrowatch.com supported (Details ).
+ 770+ ISO files are tested (List ). 90%+ distros in distrowatch.com supported (Details ).
Official Website: https://www.ventoy.net
@@ -56,7 +56,7 @@ VMware ESXi, Citrix XenServer, Xen XCP-ng
* FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4) supported for main partition
* ISO files larger than 4GB supported
* Native boot menu style for Legacy & UEFI
-* Most type of OS supported, 760+ iso files tested
+* Most type of OS supported, 770+ iso files tested
* Linux vDisk boot supported
* Not only boot but also complete installation process
* Menu dynamically switchable between List/TreeView mode
diff --git a/Ventoy2Disk/Ventoy2Disk.sln b/Ventoy2Disk/Ventoy2Disk.sln
index 2f9c0439..0046232f 100644
--- a/Ventoy2Disk/Ventoy2Disk.sln
+++ b/Ventoy2Disk/Ventoy2Disk.sln
@@ -1,22 +1,43 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ventoy2Disk", "Ventoy2Disk\Ventoy2Disk.vcxproj", "{8D231B30-65B1-48A2-A720-F659E61DD390}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|Win32.ActiveCfg = Debug|Win32
- {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|Win32.Build.0 = Debug|Win32
- {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|Win32.ActiveCfg = Release|Win32
- {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31729.503
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ventoy2Disk", "Ventoy2Disk\Ventoy2Disk.vcxproj", "{8D231B30-65B1-48A2-A720-F659E61DD390}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|ARM64 = Debug|ARM64
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|ARM = Release|ARM
+ Release|ARM64 = Release|ARM64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|ARM.ActiveCfg = Debug|ARM
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|ARM.Build.0 = Debug|ARM
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|ARM64.Build.0 = Debug|ARM64
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|Win32.Build.0 = Debug|Win32
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|x64.ActiveCfg = Debug|x64
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Debug|x64.Build.0 = Debug|x64
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|ARM.ActiveCfg = Release|ARM
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|ARM.Build.0 = Release|ARM
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|ARM64.ActiveCfg = Release|ARM64
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|ARM64.Build.0 = Release|ARM64
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|Win32.ActiveCfg = Release|Win32
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|Win32.Build.0 = Release|Win32
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|x64.ActiveCfg = Release|x64
+ {8D231B30-65B1-48A2-A720-F659E61DD390}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {46BA90D6-AD88-4760-A9BF-5B05B7941467}
+ EndGlobalSection
+EndGlobal
diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c b/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c
index 7a55395e..e7c1dafb 100644
--- a/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c
+++ b/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c
@@ -49,7 +49,7 @@ STATIC BOOL DSPT_CommProc(const char *Cmd)
GetCurrentDirectoryA(sizeof(CmdBuf), CmdBuf);
sprintf_s(CmdFile, sizeof(CmdFile), "%s\\ventoy\\diskpart_%u.txt", CmdBuf, GetCurrentProcessId());
- SaveBufToFile(CmdFile, Cmd, strlen(Cmd));
+ SaveBufToFile(CmdFile, Cmd, (int)strlen(Cmd));
GetStartupInfoA(&Si);
Si.dwFlags |= STARTF_USESHOWWINDOW;
diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c b/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c
index 763ab035..55fd70a8 100644
--- a/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c
+++ b/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c
@@ -1041,7 +1041,7 @@ STATIC BOOL VDS_CallBack_ChangeEFIType(void *pInterface, VDS_DISK_PROP *pDiskPro
BOOL r = FALSE;
HRESULT hr;
IVdsAdvancedDisk2 *pAdvancedDisk2 = (IVdsAdvancedDisk2 *)pInterface;
- VDS_PARA *VdsPara = (VDS_PARA *)(ULONG)data;
+ VDS_PARA *VdsPara = (VDS_PARA *)data;
CHANGE_PARTITION_TYPE_PARAMETERS para;
para.style = VDS_PST_GPT;
@@ -1069,7 +1069,7 @@ BOOL VDS_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset)
memcpy(&(Para.Type), &EspPartType, sizeof(GUID));
Para.Offset = Offset;
- BOOL ret = VDS_DiskCommProc(INTF_ADVANCEDDISK2, DriveIndex, VDS_CallBack_ChangeEFIType, (ULONG)&Para);
+ BOOL ret = VDS_DiskCommProc(INTF_ADVANCEDDISK2, DriveIndex, VDS_CallBack_ChangeEFIType, (UINT64)&Para);
Log("VDS_ChangeVtoyEFI2ESP %d ret:%d (%s)", DriveIndex, ret, ret ? "SUCCESS" : "FAIL");
return ret;
}
@@ -1082,7 +1082,7 @@ BOOL VDS_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset)
memcpy(&(Para.Type), &WindowsDataPartType, sizeof(GUID));
Para.Offset = Offset;
- BOOL ret = VDS_DiskCommProc(INTF_ADVANCEDDISK2, DriveIndex, VDS_CallBack_ChangeEFIType, (ULONG)&Para);
+ BOOL ret = VDS_DiskCommProc(INTF_ADVANCEDDISK2, DriveIndex, VDS_CallBack_ChangeEFIType, (UINT64)&Para);
Log("VDS_ChangeVtoyEFI2Basic %d ret:%d (%s)", DriveIndex, ret, ret ? "SUCCESS" : "FAIL");
return ret;
}
@@ -1095,7 +1095,7 @@ STATIC BOOL VDS_CallBack_CreateVtoyEFI(void *pInterface, VDS_DISK_PROP *pDiskPro
IVdsAsync* pAsync;
CREATE_PARTITION_PARAMETERS para;
IVdsCreatePartitionEx *pCreatePartitionEx = (IVdsCreatePartitionEx *)pInterface;
- VDS_PARA *VdsPara = (VDS_PARA *)(ULONG)data;
+ VDS_PARA *VdsPara = (VDS_PARA *)data;
(void)pDiskProp;
@@ -1157,7 +1157,7 @@ BOOL VDS_CreateVtoyEFIPart(int DriveIndex, UINT64 Offset)
memcpy(&(Para.Type), &EspPartType, sizeof(GUID));
CoCreateGuid(&(Para.Id));
- BOOL ret = VDS_DiskCommProc(INTF_CREATEPARTITIONEX, DriveIndex, VDS_CallBack_CreateVtoyEFI, (ULONG)&Para);
+ BOOL ret = VDS_DiskCommProc(INTF_CREATEPARTITIONEX, DriveIndex, VDS_CallBack_CreateVtoyEFI, (UINT64)&Para);
Log("VDS_CreateVtoyEFIPart %d ret:%d (%s)", DriveIndex, ret, ret ? "SUCCESS" : "FAIL");
return ret;
}
@@ -1169,7 +1169,7 @@ STATIC BOOL VDS_CallBack_FormatVtoyEFI(void *pInterface, VDS_DISK_PROP *pDiskPro
ULONG completed;
IVdsAsync* pAsync;
IVdsDiskPartitionMF *pPartitionMF = (IVdsDiskPartitionMF *)pInterface;
- VDS_PARA *VdsPara = (VDS_PARA *)(ULONG)data;
+ VDS_PARA *VdsPara = (VDS_PARA *)data;
(void)pDiskProp;
@@ -1217,7 +1217,7 @@ BOOL VDS_FormatVtoyEFIPart(int DriveIndex, UINT64 Offset)
Para.Offset = Offset;
memcpy(Para.Name, L"VTOYEFI", 7 * 2);
- BOOL ret = VDS_DiskCommProc(INTF_PARTITIONMF, DriveIndex, VDS_CallBack_FormatVtoyEFI, (ULONG)&Para);
+ BOOL ret = VDS_DiskCommProc(INTF_PARTITIONMF, DriveIndex, VDS_CallBack_FormatVtoyEFI, (UINT64)&Para);
Log("VDS_FormatVtoyEFIPart %d ret:%d (%s)", DriveIndex, ret, ret ? "SUCCESS" : "FAIL");
return ret;
}
diff --git a/Ventoy2Disk/Ventoy2Disk/Language.h b/Ventoy2Disk/Ventoy2Disk/Language.h
index ca2f0d7a..72491a38 100644
--- a/Ventoy2Disk/Ventoy2Disk/Language.h
+++ b/Ventoy2Disk/Ventoy2Disk/Language.h
@@ -123,8 +123,8 @@ typedef enum OPT_SUBMENU
typedef struct VENTOY_LANGUAGE
{
- WCHAR Name[128];
- WCHAR FontFamily[64];
+ WCHAR Name[256];
+ WCHAR FontFamily[128];
int FontSize;
WCHAR StrId[STR_ID_MAX][64];
diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps
index 4ed5d4f2..348d2e5a 100644
Binary files a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps and b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps differ
diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h
index dca9eb9f..8b77ea1e 100644
--- a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h
+++ b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h
@@ -187,6 +187,8 @@ extern HFONT g_language_normal_font;
extern HFONT g_language_bold_font;
extern int g_FilterUSB;
+
+
void TraceOut(const char *Fmt, ...);
void Log(const char *Fmt, ...);
BOOL IsPathExist(BOOL Dir, const char *Fmt, ...);
diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj
index 8778b0f2..ee03fa5e 100644
--- a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj
+++ b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj
@@ -1,31 +1,95 @@
+
+ Debug
+ ARM
+
+
+ Debug
+ ARM64
+
Debug
Win32
+
+ Debug
+ x64
+
+
+ Release
+ ARM
+
+
+ Release
+ ARM64
+
Release
Win32
+
+ Release
+ x64
+
{8D231B30-65B1-48A2-A720-F659E61DD390}
Win32Proj
Ventoy2Disk
+ 10.0
Application
true
- v120
+ v142
+ Unicode
+
+
+ Application
+ true
+ v142
+ Unicode
+
+
+ Application
+ true
+ v142
+ Unicode
+
+
+ Application
+ true
+ v142
Unicode
Application
false
- v120
+ v142
+ true
+ Unicode
+
+
+ Application
+ false
+ v142
+ true
+ Unicode
+
+
+ Application
+ false
+ v142
+ true
+ Unicode
+
+
+ Application
+ false
+ v142
true
Unicode
@@ -35,18 +99,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
true
true
$(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk
+
+
+ true
+ true
+ $(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk_ARM
+
+
+ true
+ true
+ $(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk_ARM64
+
+
+ true
+ true
+ $(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk_X64
false
$(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk
+
+
+ false
+ $(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk_ARM
+
+
+ false
+ $(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk_ARM64
+
+
+ false
+ $(ProjectDir)\fat_io_lib\;$(ProjectDir)\xz-embedded-20130513\linux\include;$(ProjectDir)\xz-embedded-20130513\linux\include\linux;$(ProjectDir)\xz-embedded-20130513\userspace;$(ProjectDir)\ff14\source;$(IncludePath)
+ Ventoy2Disk_X64
@@ -54,7 +171,7 @@
Level3
Disabled
- FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ VTARCH_X86;VTBIT=32;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
MultiThreadedDebug
@@ -64,7 +181,64 @@
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)
- $(ProjectDir)\Res\Ventoy2Disk.manifest %(AdditionalManifestFiles)
+ $(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)
+
+
+
+
+
+
+ Level3
+ Disabled
+ VTARCH_ARM;VTBIT=32;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreadedDebug
+
+
+ Windows
+ true
+ RequireAdministrator
+ 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)
+
+
+ $(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)
+
+
+
+
+
+
+ Level3
+ Disabled
+ VTARCH_ARM64;VTBIT=64;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreadedDebug
+
+
+ Windows
+ true
+ RequireAdministrator
+ 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)
+
+
+ $(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)
+
+
+
+
+
+
+ Level3
+ Disabled
+ VTARCH_X64;VTBIT=64;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreadedDebug
+
+
+ Windows
+ true
+ RequireAdministrator
+ 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)
+
+
+ $(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)
@@ -75,7 +249,7 @@
MaxSpeed
true
true
- FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ VTARCH_X86;VTBIT=32;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
MultiThreaded
@@ -87,7 +261,76 @@
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)
- $(ProjectDir)\Res\Ventoy2Disk.manifest %(AdditionalManifestFiles)
+ $(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ VTARCH_ARM;VTBIT=32;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+ RequireAdministrator
+ 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)
+
+
+ $(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ VTARCH_ARM64;VTBIT=64;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+ RequireAdministrator
+ 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)
+
+
+ $(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ VTARCH_X64;VTBIT=64;FATFS_INC_FORMAT_SUPPORT=0;STATIC=static;INIT=;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+ RequireAdministrator
+ 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)
+
+
+ $(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)
diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj.user b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj.user
index 08fca610..536e8f09 100644
--- a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj.user
+++ b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.vcxproj.user
@@ -6,10 +6,40 @@
-
+
C:\share\ventoy-1.0.03
WindowsLocalDebugger
+
+
+
+ C:\share\ventoy-1.0.03
+ WindowsLocalDebugger
+
+
+
+ C:\share\ventoy-1.0.03
+ WindowsLocalDebugger
+
+
+
+ K:\test\ventoy\ventoy-1.0.57
+ WindowsLocalDebugger
+
+ C:\share\ventoy-1.0.03
+ WindowsLocalDebugger
+
+
+
+ C:\share\ventoy-1.0.03
+ WindowsLocalDebugger
+
+
+
+ K:\test\ventoy\ventoy-1.0.57
+ WindowsLocalDebugger
+
+
\ No newline at end of file
diff --git a/Ventoy2Disk/Ventoy2Disk/VentoyJson.c b/Ventoy2Disk/Ventoy2Disk/VentoyJson.c
index 1bfca570..9fdeffaf 100644
--- a/Ventoy2Disk/Ventoy2Disk/VentoyJson.c
+++ b/Ventoy2Disk/Ventoy2Disk/VentoyJson.c
@@ -403,7 +403,7 @@ int vtoy_json_parse(VTOY_JSON *pstJson, const char *szJsonData)
char *pcNewBuf = NULL;
const char *pcEnd = NULL;
- uiMemSize = strlen(szJsonData) + 1;
+ uiMemSize = (UINT32)strlen(szJsonData) + 1;
pcNewBuf = (char *)malloc(uiMemSize);
if (NULL == pcNewBuf)
{
diff --git a/Ventoy2Disk/Ventoy2Disk/WinDialog.c b/Ventoy2Disk/Ventoy2Disk/WinDialog.c
index 37850f4b..7f7b7928 100644
Binary files a/Ventoy2Disk/Ventoy2Disk/WinDialog.c and b/Ventoy2Disk/Ventoy2Disk/WinDialog.c differ
diff --git a/Ventoy2Disk/Ventoy2Disk/process.h b/Ventoy2Disk/Ventoy2Disk/process.h
index 39ebe404..765c00ea 100644
--- a/Ventoy2Disk/Ventoy2Disk/process.h
+++ b/Ventoy2Disk/Ventoy2Disk/process.h
@@ -365,11 +365,12 @@ if ((pf##proc == NULL) && (NT_SUCCESS(status))) status = STATUS_NOT_IMPLEMENTED;
#define GB 1073741824LL
#define TB 1099511627776LL
+#ifndef _WINTERNL_
typedef struct _CLIENT_ID {
HANDLE UniqueProcess;
HANDLE UniqueThread;
} CLIENT_ID;
-
+#endif
diff --git a/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/decompress_unxz.c b/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/decompress_unxz.c
index 01aff842..91d5ae50 100644
--- a/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/decompress_unxz.c
+++ b/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/decompress_unxz.c
@@ -302,7 +302,7 @@ int INIT unxz(unsigned char *in, int in_size,
do {
if (b.in_pos == b.in_size && fill != NULL) {
if (in_used != NULL)
- *in_used += b.in_pos;
+ *in_used += (int)(b.in_pos);
b.in_pos = 0;
@@ -329,7 +329,7 @@ int INIT unxz(unsigned char *in, int in_size,
* returned by xz_dec_run(), but probably
* it's not too bad.
*/
- if (flush(b.out, b.out_pos) != (int)b.out_pos)
+ if (flush(b.out, (unsigned int)(b.out_pos)) != (int)b.out_pos)
ret = XZ_BUF_ERROR;
b.out_pos = 0;
@@ -344,7 +344,7 @@ int INIT unxz(unsigned char *in, int in_size,
}
if (in_used != NULL)
- *in_used += b.in_pos;
+ *in_used += (int)(b.in_pos);
xz_dec_end(s);
diff --git a/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/xz/xz_dec_lzma2.c b/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/xz/xz_dec_lzma2.c
index a6cdc969..66ae4210 100644
--- a/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/xz/xz_dec_lzma2.c
+++ b/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/linux/lib/xz/xz_dec_lzma2.c
@@ -351,7 +351,7 @@ static bool dict_repeat(struct dictionary *dict, uint32_t *len, uint32_t dist)
if (dist >= dict->full || dist >= dict->size)
return false;
- left = min_t(size_t, dict->limit - dict->pos, *len);
+ left = (uint32_t)min_t(size_t, dict->limit - dict->pos, *len);
*len -= left;
back = dict->pos - dist - 1;
@@ -385,7 +385,7 @@ static void dict_uncompressed(struct dictionary *dict, struct xz_buf *b,
if (copy_size > *left)
copy_size = *left;
- *left -= copy_size;
+ *left -= (uint32_t)copy_size;
memcpy(dict->buf + dict->pos, b->in + b->in_pos, copy_size);
dict->pos += copy_size;
@@ -427,7 +427,7 @@ static uint32_t dict_flush(struct dictionary *dict, struct xz_buf *b)
dict->start = dict->pos;
b->out_pos += copy_size;
- return copy_size;
+ return (uint32_t)copy_size;
}
/*****************
@@ -854,7 +854,7 @@ static bool lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)
if (tmp > s->lzma2.compressed - s->temp.size)
tmp = s->lzma2.compressed - s->temp.size;
if (tmp > in_avail)
- tmp = in_avail;
+ tmp = (uint32_t)in_avail;
memcpy(s->temp.buf + s->temp.size, b->in + b->in_pos, tmp);
@@ -877,10 +877,10 @@ static bool lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)
if (!lzma_main(s) || s->rc.in_pos > s->temp.size + tmp)
return false;
- s->lzma2.compressed -= s->rc.in_pos;
+ s->lzma2.compressed -= (uint32_t)(s->rc.in_pos);
if (s->rc.in_pos < s->temp.size) {
- s->temp.size -= s->rc.in_pos;
+ s->temp.size -= (uint32_t)(s->rc.in_pos);
memmove(s->temp.buf, s->temp.buf + s->rc.in_pos,
s->temp.size);
return true;
@@ -907,7 +907,7 @@ static bool lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)
if (in_avail > s->lzma2.compressed)
return false;
- s->lzma2.compressed -= in_avail;
+ s->lzma2.compressed -= (uint32_t)in_avail;
b->in_pos = s->rc.in_pos;
}
@@ -917,7 +917,7 @@ static bool lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)
in_avail = s->lzma2.compressed;
memcpy(s->temp.buf, b->in + b->in_pos, in_avail);
- s->temp.size = in_avail;
+ s->temp.size = (uint32_t)in_avail;
b->in_pos += in_avail;
}