Skip to content

Commit 329e970

Browse files
committed
[wue] remove an unneeded condition
* Also update ChangeLog.txt for BETA.
1 parent 3619bad commit 329e970

File tree

3 files changed

+56
-49
lines changed

3 files changed

+56
-49
lines changed

ChangeLog.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
1-
o Version 4.9 (2021.06.15) [BUGFIX RELEASE]
1+
o Version 4.10 (2025.09.??)
2+
Add Dark Mode support (courtesy of @ozone10)
3+
Add support for creating Windows CA 2023 compatible media (requires a Windows 11 25H2 ISO)
4+
Add support for saving an existing drive to ISO (UDF only)
5+
Improve error reporting when saving to VHD/VHDX (with thanks to @Kazkans)
6+
Fix DBX updates being reported in some timezones, even when there are none
7+
Fix a situation where no file system can be selected in ISO mode
8+
Fix a crash when trying to process Windows ISOs with very long paths
9+
10+
o Version 4.9 (2025.06.15) [BUGFIX RELEASE]
211
Fix downloads from https://rufus.ie no longer working due to recent GitHub server changes
312
Fix unofficial Windows ISOs, with single index WIMs, not presenting the WUE dialog
413

src/rufus.rc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
3333
IDD_DIALOG DIALOGEX 12, 12, 232, 326
3434
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
3535
EXSTYLE WS_EX_ACCEPTFILES
36-
CAPTION "Rufus 4.10.2277"
36+
CAPTION "Rufus 4.10.2278"
3737
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
3838
BEGIN
3939
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@@ -408,8 +408,8 @@ END
408408
//
409409

410410
VS_VERSION_INFO VERSIONINFO
411-
FILEVERSION 4,10,2277,0
412-
PRODUCTVERSION 4,10,2277,0
411+
FILEVERSION 4,10,2278,0
412+
PRODUCTVERSION 4,10,2278,0
413413
FILEFLAGSMASK 0x3fL
414414
#ifdef _DEBUG
415415
FILEFLAGS 0x1L
@@ -427,13 +427,13 @@ BEGIN
427427
VALUE "Comments", "https://rufus.ie"
428428
VALUE "CompanyName", "Akeo Consulting"
429429
VALUE "FileDescription", "Rufus"
430-
VALUE "FileVersion", "4.10.2277"
430+
VALUE "FileVersion", "4.10.2278"
431431
VALUE "InternalName", "Rufus"
432432
VALUE "LegalCopyright", "� 2011-2025 Pete Batard (GPL v3)"
433433
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
434434
VALUE "OriginalFilename", "rufus-4.10.exe"
435435
VALUE "ProductName", "Rufus"
436-
VALUE "ProductVersion", "4.10.2277"
436+
VALUE "ProductVersion", "4.10.2278"
437437
END
438438
END
439439
BLOCK "VarFileInfo"

src/wue.c

Lines changed: 41 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -164,49 +164,47 @@ char* CreateUnattendXml(int arch, int flags)
164164
free(tzstr);
165165
}
166166
}
167-
if (flags & UNATTEND_SET_USER || flags & UNATTEND_USE_MS2023_BOOTLOADERS) {
168-
if (flags & UNATTEND_SET_USER) {
169-
for (i = 0; (i < ARRAYSIZE(unallowed_account_names)) && (stricmp(unattend_username, unallowed_account_names[i]) != 0); i++);
170-
if (i < ARRAYSIZE(unallowed_account_names)) {
171-
uprintf("WARNING: '%s' is not allowed as local account name - Option ignored", unattend_username);
172-
} else if (unattend_username[0] != 0) {
173-
uprintf("• Use '%s' for local account name", unattend_username);
174-
// If we create a local account in unattend.xml, then we can get Windows 11
175-
// 22H2 to skip MSA even if the network is connected during installation.
176-
fprintf(fd, " <UserAccounts>\n");
177-
fprintf(fd, " <LocalAccounts>\n");
178-
fprintf(fd, " <LocalAccount wcm:action=\"add\">\n");
179-
fprintf(fd, " <Name>%s</Name>\n", unattend_username);
180-
fprintf(fd, " <DisplayName>%s</DisplayName>\n", unattend_username);
181-
fprintf(fd, " <Group>Administrators;Power Users</Group>\n");
182-
// Sets an empty password for the account (which, in Microsoft's convoluted ways,
183-
// needs to be initialized to the Base64 encoded UTF-16 string "Password").
184-
// The use of an empty password has both the advantage of not having to ask users
185-
// to type in a password in Rufus (which they might be weary of) as well as allowing
186-
// automated logon during setup.
187-
fprintf(fd, " <Password>\n");
188-
fprintf(fd, " <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>\n");
189-
fprintf(fd, " <PlainText>false</PlainText>\n");
190-
fprintf(fd, " </Password>\n");
191-
fprintf(fd, " </LocalAccount>\n");
192-
fprintf(fd, " </LocalAccounts>\n");
193-
fprintf(fd, " </UserAccounts>\n");
194-
// Since we set a blank password, we'll ask the user to change it at next logon.
195-
// NB: In case you wanna try, please be aware that Microsoft doesn't let you have multiple
196-
// <FirstLogonCommands> sections in unattend.xml. Don't ask me how I know... :(
197-
fprintf(fd, " <FirstLogonCommands>\n");
198-
fprintf(fd, " <SynchronousCommand wcm:action=\"add\">\n");
199-
fprintf(fd, " <Order>%d</Order>\n", order++);
200-
fprintf(fd, " <CommandLine>net user &quot;%s&quot; /logonpasswordchg:yes</CommandLine>\n", unattend_username);
201-
fprintf(fd, " </SynchronousCommand>\n");
202-
// Some people report that using the `net user` command above might reset the password expiration to 90 days...
203-
// To alleviate that, blanket set passwords on the target machine to never expire.
204-
fprintf(fd, " <SynchronousCommand wcm:action=\"add\">\n");
205-
fprintf(fd, " <Order>%d</Order>\n", order++);
206-
fprintf(fd, " <CommandLine>net accounts /maxpwage:unlimited</CommandLine>\n");
207-
fprintf(fd, " </SynchronousCommand>\n");
208-
fprintf(fd, " </FirstLogonCommands>\n");
209-
}
167+
if (flags & UNATTEND_SET_USER) {
168+
for (i = 0; (i < ARRAYSIZE(unallowed_account_names)) && (stricmp(unattend_username, unallowed_account_names[i]) != 0); i++);
169+
if (i < ARRAYSIZE(unallowed_account_names)) {
170+
uprintf("WARNING: '%s' is not allowed as local account name - Option ignored", unattend_username);
171+
} else if (unattend_username[0] != 0) {
172+
uprintf("• Use '%s' for local account name", unattend_username);
173+
// If we create a local account in unattend.xml, then we can get Windows 11
174+
// 22H2 to skip MSA even if the network is connected during installation.
175+
fprintf(fd, " <UserAccounts>\n");
176+
fprintf(fd, " <LocalAccounts>\n");
177+
fprintf(fd, " <LocalAccount wcm:action=\"add\">\n");
178+
fprintf(fd, " <Name>%s</Name>\n", unattend_username);
179+
fprintf(fd, " <DisplayName>%s</DisplayName>\n", unattend_username);
180+
fprintf(fd, " <Group>Administrators;Power Users</Group>\n");
181+
// Sets an empty password for the account (which, in Microsoft's convoluted ways,
182+
// needs to be initialized to the Base64 encoded UTF-16 string "Password").
183+
// The use of an empty password has both the advantage of not having to ask users
184+
// to type in a password in Rufus (which they might be weary of) as well as allowing
185+
// automated logon during setup.
186+
fprintf(fd, " <Password>\n");
187+
fprintf(fd, " <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>\n");
188+
fprintf(fd, " <PlainText>false</PlainText>\n");
189+
fprintf(fd, " </Password>\n");
190+
fprintf(fd, " </LocalAccount>\n");
191+
fprintf(fd, " </LocalAccounts>\n");
192+
fprintf(fd, " </UserAccounts>\n");
193+
// Since we set a blank password, we'll ask the user to change it at next logon.
194+
// NB: In case you wanna try, please be aware that Microsoft doesn't let you have multiple
195+
// <FirstLogonCommands> sections in unattend.xml. Don't ask me how I know... :(
196+
fprintf(fd, " <FirstLogonCommands>\n");
197+
fprintf(fd, " <SynchronousCommand wcm:action=\"add\">\n");
198+
fprintf(fd, " <Order>%d</Order>\n", order++);
199+
fprintf(fd, " <CommandLine>net user &quot;%s&quot; /logonpasswordchg:yes</CommandLine>\n", unattend_username);
200+
fprintf(fd, " </SynchronousCommand>\n");
201+
// Some people report that using the `net user` command above might reset the password expiration to 90 days...
202+
// To alleviate that, blanket set passwords on the target machine to never expire.
203+
fprintf(fd, " <SynchronousCommand wcm:action=\"add\">\n");
204+
fprintf(fd, " <Order>%d</Order>\n", order++);
205+
fprintf(fd, " <CommandLine>net accounts /maxpwage:unlimited</CommandLine>\n");
206+
fprintf(fd, " </SynchronousCommand>\n");
207+
fprintf(fd, " </FirstLogonCommands>\n");
210208
}
211209
}
212210
fprintf(fd, " </component>\n");

0 commit comments

Comments
 (0)