mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
Compare commits
6 commits
27aad53a08
...
5e8b8f7349
Author | SHA1 | Date | |
---|---|---|---|
|
5e8b8f7349 | ||
|
10d33c6658 | ||
|
83b1e73062 | ||
|
6d29120b38 | ||
|
7c6dbdc1ce | ||
|
6f764ab637 |
4 changed files with 22 additions and 13 deletions
|
@ -287,6 +287,7 @@ static __inline BOOL IsVHD(const char* buffer)
|
||||||
"Arsenal_________Virtual_",
|
"Arsenal_________Virtual_",
|
||||||
"KernSafeVirtual_________",
|
"KernSafeVirtual_________",
|
||||||
"Msft____Virtual_Disk____",
|
"Msft____Virtual_Disk____",
|
||||||
|
"BHYVE__________SATA_DISK",
|
||||||
"VMware__VMware_Virtual_S" // Enabled through a cheat mode, as this lists primary disks on VMWare instances
|
"VMware__VMware_Virtual_S" // Enabled through a cheat mode, as this lists primary disks on VMWare instances
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -415,9 +416,9 @@ BOOL GetOpticalMedia(IMG_SAVE* img_save)
|
||||||
/* For debugging user reports of HDDs vs UFDs */
|
/* For debugging user reports of HDDs vs UFDs */
|
||||||
//#define FORCED_DEVICE
|
//#define FORCED_DEVICE
|
||||||
#ifdef FORCED_DEVICE
|
#ifdef FORCED_DEVICE
|
||||||
#define FORCED_VID 0x23A9
|
#define FORCED_VID 0x04E8
|
||||||
#define FORCED_PID 0xEF18
|
#define FORCED_PID 0x61ED
|
||||||
#define FORCED_NAME "SCSI DISK USB Device"
|
#define FORCED_NAME "Samsung uSD Card Reader USB Device"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void ClearDrives(void)
|
void ClearDrives(void)
|
||||||
|
|
|
@ -91,6 +91,7 @@ static str_score_t str_adjust[] = {
|
||||||
{ "Gadget", -10 },
|
{ "Gadget", -10 },
|
||||||
{ "Flash", -10 },
|
{ "Flash", -10 },
|
||||||
{ "SD-CARD", -10 },
|
{ "SD-CARD", -10 },
|
||||||
|
{ "uSD Card", -10 },
|
||||||
{ "HDD", +20 },
|
{ "HDD", +20 },
|
||||||
{ "SATA", +20 },
|
{ "SATA", +20 },
|
||||||
{ "SCSI", +20 },
|
{ "SCSI", +20 },
|
||||||
|
|
10
src/rufus.rc
10
src/rufus.rc
|
@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
IDD_DIALOG DIALOGEX 12, 12, 232, 326
|
IDD_DIALOG DIALOGEX 12, 12, 232, 326
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
EXSTYLE WS_EX_ACCEPTFILES
|
EXSTYLE WS_EX_ACCEPTFILES
|
||||||
CAPTION "Rufus 4.6.2182"
|
CAPTION "Rufus 4.6.2187"
|
||||||
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
|
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
|
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
|
||||||
|
@ -397,8 +397,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,6,2182,0
|
FILEVERSION 4,6,2187,0
|
||||||
PRODUCTVERSION 4,6,2182,0
|
PRODUCTVERSION 4,6,2187,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -416,13 +416,13 @@ BEGIN
|
||||||
VALUE "Comments", "https://rufus.ie"
|
VALUE "Comments", "https://rufus.ie"
|
||||||
VALUE "CompanyName", "Akeo Consulting"
|
VALUE "CompanyName", "Akeo Consulting"
|
||||||
VALUE "FileDescription", "Rufus"
|
VALUE "FileDescription", "Rufus"
|
||||||
VALUE "FileVersion", "4.6.2182"
|
VALUE "FileVersion", "4.6.2187"
|
||||||
VALUE "InternalName", "Rufus"
|
VALUE "InternalName", "Rufus"
|
||||||
VALUE "LegalCopyright", "<22> 2011-2024 Pete Batard (GPL v3)"
|
VALUE "LegalCopyright", "<22> 2011-2024 Pete Batard (GPL v3)"
|
||||||
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
|
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
|
||||||
VALUE "OriginalFilename", "rufus-4.6.exe"
|
VALUE "OriginalFilename", "rufus-4.6.exe"
|
||||||
VALUE "ProductName", "Rufus"
|
VALUE "ProductName", "Rufus"
|
||||||
VALUE "ProductVersion", "4.6.2182"
|
VALUE "ProductVersion", "4.6.2187"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
17
src/wue.c
17
src/wue.c
|
@ -31,6 +31,7 @@
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "registry.h"
|
#include "registry.h"
|
||||||
#include "msapi_utf8.h"
|
#include "msapi_utf8.h"
|
||||||
|
#include "timezoneapi.h"
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
|
|
||||||
/* Memory leaks detection - define _CRTDBG_MAP_ALLOC as preprocessor macro */
|
/* Memory leaks detection - define _CRTDBG_MAP_ALLOC as preprocessor macro */
|
||||||
|
@ -60,10 +61,12 @@ extern StrArray modified_files;
|
||||||
/// <returns>The path of a newly created answer file on success or NULL on error.</returns>
|
/// <returns>The path of a newly created answer file on success or NULL on error.</returns>
|
||||||
char* CreateUnattendXml(int arch, int flags)
|
char* CreateUnattendXml(int arch, int flags)
|
||||||
{
|
{
|
||||||
|
const static char* xml_arch_names[5] = { "x86", "amd64", "arm", "arm64" };
|
||||||
|
const static char* unallowed_account_names[] = { "Administrator", "Guest", "KRBTGT", "Local" };
|
||||||
static char path[MAX_PATH];
|
static char path[MAX_PATH];
|
||||||
FILE* fd;
|
FILE* fd;
|
||||||
|
TIME_ZONE_INFORMATION tz_info;
|
||||||
int i, order;
|
int i, order;
|
||||||
const char* xml_arch_names[5] = { "x86", "amd64", "arm", "arm64" };
|
|
||||||
unattend_xml_flags = flags;
|
unattend_xml_flags = flags;
|
||||||
if (arch < ARCH_X86_32 || arch > ARCH_ARM_64 || flags == 0) {
|
if (arch < ARCH_X86_32 || arch > ARCH_ARM_64 || flags == 0) {
|
||||||
uprintf("Note: No Windows User Experience options selected");
|
uprintf("Note: No Windows User Experience options selected");
|
||||||
|
@ -150,10 +153,10 @@ char* CreateUnattendXml(int arch, int flags)
|
||||||
fprintf(fd, " </OOBE>\n");
|
fprintf(fd, " </OOBE>\n");
|
||||||
}
|
}
|
||||||
if (flags & UNATTEND_SET_USER) {
|
if (flags & UNATTEND_SET_USER) {
|
||||||
if ((unattend_username[0] == 0) || (stricmp(unattend_username, "Administrator") == 0) ||
|
for (i = 0; (i < ARRAYSIZE(unallowed_account_names)) && (stricmp(unattend_username, unallowed_account_names[i]) != 0); i++);
|
||||||
(stricmp(unattend_username, "Guest") == 0)) {
|
if (i < ARRAYSIZE(unallowed_account_names)) {
|
||||||
uprintf("WARNING: '%s' is not allowed as local account name - Option ignored", unattend_username);
|
uprintf("WARNING: '%s' is not allowed as local account name - Option ignored", unattend_username);
|
||||||
} else {
|
} else if (unattend_username[0] != 0) {
|
||||||
uprintf("• Use '%s' for local account name", unattend_username);
|
uprintf("• Use '%s' for local account name", unattend_username);
|
||||||
// If we create a local account in unattend.xml, then we can get Windows 11
|
// If we create a local account in unattend.xml, then we can get Windows 11
|
||||||
// 22H2 to skip MSA even if the network is connected during installation.
|
// 22H2 to skip MSA even if the network is connected during installation.
|
||||||
|
@ -198,6 +201,10 @@ char* CreateUnattendXml(int arch, int flags)
|
||||||
ReadRegistryKeyStr(REGKEY_HKCU, "Keyboard Layout\\Preload\\1"));
|
ReadRegistryKeyStr(REGKEY_HKCU, "Keyboard Layout\\Preload\\1"));
|
||||||
fprintf(fd, " <SystemLocale>%s</SystemLocale>\n", ToLocaleName(GetSystemDefaultLCID()));
|
fprintf(fd, " <SystemLocale>%s</SystemLocale>\n", ToLocaleName(GetSystemDefaultLCID()));
|
||||||
fprintf(fd, " <UserLocale>%s</UserLocale>\n", ToLocaleName(GetUserDefaultLCID()));
|
fprintf(fd, " <UserLocale>%s</UserLocale>\n", ToLocaleName(GetUserDefaultLCID()));
|
||||||
|
if (GetTimeZoneInformation(&tz_info) == TIME_ZONE_ID_INVALID)
|
||||||
|
uprintf("WARNING: Could not retrieve current timezone: %s", WindowsErrorString());
|
||||||
|
else
|
||||||
|
fprintf(fd, " <TimeZone>%S</TimeZone>\n", tz_info.StandardName);
|
||||||
fprintf(fd, " <UILanguage>%s</UILanguage>\n", ToLocaleName(GetUserDefaultUILanguage()));
|
fprintf(fd, " <UILanguage>%s</UILanguage>\n", ToLocaleName(GetUserDefaultUILanguage()));
|
||||||
fprintf(fd, " <UILanguageFallback>%s</UILanguageFallback>\n",
|
fprintf(fd, " <UILanguageFallback>%s</UILanguageFallback>\n",
|
||||||
// NB: Officially, this is a REG_MULTI_SZ string
|
// NB: Officially, this is a REG_MULTI_SZ string
|
||||||
|
@ -631,7 +638,7 @@ out:
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Setup a Windows To Go drive according to the official Microsoft instructions detailed at:
|
/// Setup a Windows To Go drive according to the official Microsoft instructions detailed at:
|
||||||
/// https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/jj721578(v=ws.11).
|
/// https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/deployment/windows-to-go/deploy-windows-to-go
|
||||||
/// Note that as opposed to the technet guide above we use bcdedit rather than 'unattend.xml'
|
/// Note that as opposed to the technet guide above we use bcdedit rather than 'unattend.xml'
|
||||||
/// to disable the recovery environment.
|
/// to disable the recovery environment.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in a new issue