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,45 @@ 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 + + + 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\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 @@ -64,7 +219,26 @@ 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\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,76 @@ 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 + + + 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\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 @@ -87,7 +330,7 @@ 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\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; }