Updates and fixes

* updated VC++ 14 runtime
* moved convertImage macro to API instead of implementing in both wallpaper and OEMInfo
* fixed startIsBack user profile pic
* OEMInfo.script - allow editing other info without specifying logo
* Wallpaper.script - added support for .accoutpicture-ms files to be used for SIB and OpenShell
* added NT6Repair app script
This commit is contained in:
Homes32
2021-04-09 10:25:49 -05:00
parent cebda4e1c4
commit a1569c5641
11 changed files with 2448 additions and 2129 deletions

View File

@@ -35,7 +35,7 @@ Author=Homes32
Level=4
Selected=False
Mandatory=False
Version=1.0.0.0
Version=1.1.0.0
Date=2020-03-01
Interface=Interface
@@ -69,35 +69,16 @@ RegWrite,HKLM,0x1,"Tmp_Software\Microsoft\Windows\CurrentVersion\OEMInformation"
RegWrite,HKLM,0x1,"Tmp_Software\Microsoft\Windows\CurrentVersion\OEMInformation","SupportPhone",%txt_SupportPh%
RegWrite,HKLM,0x1,"Tmp_Software\Microsoft\Windows\CurrentVersion\OEMInformation","SupportURL",%txt_SupportURL%
If,Not,%fb_Logo%,Equal,"",If,Not,ExistFile,%fb_Logo%,Halt,"ERROR: The specified image [%fb_Logo%] does not exist."
Run,%ScriptFile%,ConvertImage,%fb_Logo%,"%TargetSystem32%\OEMLogo.bmp",120x120
RegWrite,HKLM,0x1,"Tmp_Software\Microsoft\Windows\CurrentVersion\OEMInformation","Logo","%SystemRoot%\System32\OEMLogo.bmp"
If,Not,%fb_Logo%,Equal,"",Begin
If,ExistFile,%fb_Logo%,Begin
ConvertImage,%fb_Logo%,"%TargetSystem32%\OEMLogo.bmp",120x120
RegWrite,HKLM,0x1,"Tmp_Software\Microsoft\Windows\CurrentVersion\OEMInformation","Logo","%SystemRoot%\System32\OEMLogo.bmp"
End
Else,Halt,"ERROR: The specified image [%fb_Logo%] does not exist."
End
RegUnloadHives
[#ConvertImage#]
// ===============================================================================================================================
// Name...........: ConvertImage
// Description....: Convert an image to the specified format.
// Syntax.........: ConvertImage,<Source>,<Target>[,<Resize>]
// Parameters.....: #1 <Source> - The full path to the image file.
// #2 <Target> - The full path to the converted image file.
// #3 <Resize> - (Optional) Resize the image.
// Return values..:
// Author.........: Homes32
// Remarks........: Depends on ImageConvert.exe in %Tools%.
// ImageConvert.exe <input_image> <output_image>
// Related........:
// ===============================================================================================================================
[ConvertImage]
// Convert images to the specified format...
StrFormat,EXT,#2,%NewImageExt%
Echo,"Converting [#1] to a [%NewImageExt%] image..."
If,Not,#3,Equal,"",Set,%ResizeParam%," --resize:#3"
ShellExecute,Hide,"%Tools%\%HostArch%\ImageConvert.exe","#$q#1#$q #$q#2#$q --silent%ResizeParam%"
If,Not,%ExitCode%,Equal,0,Halt,"ERROR: Image conversion failed. [%ExitCode%]"
[#SetDefaultOptions#]
// ===============================================================================================================================
// Name...........: SetDefaultOptions

View File

@@ -83,19 +83,18 @@ RegHiveUnload,Tmp_System
// Related........:
// ===============================================================================================================================
[Interface]
bvl_PowerOptions="Power Options",1,12,5,50,272,100,8,Bold
lbl_OnBattery="On Battery",1,1,155,60,63,18,8,Normal
lbl_PluggedIn="Plugged In",1,1,218,60,58,18,8,Normal
lbl_Display="Turn Off Display (Minutes):",1,1,11,79,146,18,8,Normal
num_MonOnBattery=,1,2,157,76,51,22,15,0,300,1
num_MonPluggedIn=,1,2,219,76,51,22,0,0,300,1
lbl_TurnOffDisks="Turn Off Hard Disk (Minutes):",1,1,11,104,146,18,8,Normal
num_HDDOnBattery=,1,2,157,102,51,22,20,0,300,1
num_HDDPluggedIn=,1,2,219,102,51,22,0,0,300,1
lbl_SuspendUSB="Disable USB Selective Suspend:",1,1,11,129,161,18,8,Normal
cb_USBsuspendOnBattery=,1,3,175,127,21,18,True
cb_USBsuspendPluggedIn=,1,3,238,127,21,18,True
bvl_PowerOptions="Power Options",1,12,5,50,300,100,8,Bold
lbl_OnBattery="On Battery",1,1,170,60,63,18,8,Normal
lbl_PluggedIn="Plugged In",1,1,233,60,58,18,8,Normal
lbl_Display="Turn Off Display (Minutes):",1,1,16,79,146,18,8,Normal
num_MonOnBattery=,1,2,172,76,51,22,15,0,300,1
num_MonPluggedIn=,1,2,234,76,51,22,0,0,300,1
lbl_TurnOffDisks="Turn Off Hard Disk (Minutes):",1,1,16,104,146,18,8,Normal
num_HDDOnBattery=,1,2,172,102,51,22,20,0,300,1
num_HDDPluggedIn=,1,2,234,102,51,22,0,0,300,1
lbl_SuspendUSB="Disable USB Selective Suspend:",1,1,16,129,161,18,8,Normal
cb_USBsuspendOnBattery=,1,3,190,127,21,18,True
cb_USBsuspendPluggedIn=,1,3,253,127,21,18,True
[AuthorEncoded]
powercfg80.png=10463,14052

View File

@@ -35,7 +35,7 @@ Description=Personalize your desktop background.
Version=1.5.0.0
Selected=True
Mandatory=False
Date=2019-03-12
Date=2021-04-06
Level=4
[Variables]
@@ -45,8 +45,7 @@ Level=4
[Process]
Echo,"Configuring Desktop Wallpaper..."
RegHiveLoad,Tmp_Default,%RegDefault%
RegHiveLoad,Tmp_Software,%RegSoftware%
RegLoadHives
If,ExistFile,"%TargetWindows%\Web\Wallpaper\Windows\%WallpaperFileName%",FileDelete,"%TargetWindows%\Web\Wallpaper\Windows\%WallpaperFileName%"
If,Not,ExistDir,"%TargetWindows%\Web\Wallpaper\Windows",DirMake,"%TargetWindows%\Web\Wallpaper\Windows"
@@ -125,13 +124,12 @@ Else,Halt,"LOGIC ERROR: No configuration exists for [%cmb_Position%]"
Run,%ScriptFile%,ColorMeBadd
RegHiveUnLoad,Tmp_Default
RegHiveUnLoad,Tmp_Software
// User Profile Pic
If,%cb_ChangeUserProfilePic%,Equal,True,Run,%ScriptFile%,SetUserProfilePic
Else,RequireFileEx,ExtractFile,\ProgramData\Microsoft\User Account Pictures\user*.*,NOMUI
RegUnLoadHives
[#SetWallpaper#]
// ===============================================================================================================================
// Name...........: SetWallpaper
@@ -154,31 +152,9 @@ If,%WallpaperExt%,Equal,".jpg",Begin
End
Else,Begin
// Image is not a .jpg so we need to convert it
Run,%ScriptFile%,ConvertImage,#1,"%TargetWindows%\Web\Wallpaper\Windows\%WallpaperFileName%"
ConvertImage,#1,"%TargetWindows%\Web\Wallpaper\Windows\%WallpaperFileName%"
End
[#ConvertImage#]
// ===============================================================================================================================
// Name...........: ConvertImage
// Description....: Convert an image to the specified format.
// Syntax.........: ConvertImage,<Source>,<Target>[,<Resize>]
// Parameters.....: #1 <Source> - The full path to the image file.
// #2 <Target> - The full path to the converted image file.
// #3 <Resize> - (Optional) Resize the image.
// Return values..:
// Author.........: Homes32
// Remarks........: Depends on ImageConvert.exe in %Tools%.
// ImageConvert.exe <input_image> <output_image>
// Related........:
// ===============================================================================================================================
[ConvertImage]
// Convert images to the specified format...
StrFormat,EXT,#2,%NewImageExt%
Echo,"Converting [#1] to a [%NewImageExt%] image..."
If,Not,#3,Equal,"",Set,%ResizeParam%," --resize:#3"
ShellExecute,Hide,"%Tools%\%HostArch%\ImageConvert.exe","#$q#1#$q #$q#2#$q --silent%ResizeParam%"
If,Not,%ExitCode%,Equal,0,Halt,"ERROR: Image conversion failed. [%ExitCode%]"
[#ColorMeBadd#]
// ===============================================================================================================================
// Name...........: ColorMeBadd
@@ -239,19 +215,34 @@ WriteInterface,Visible,%ScriptFile%,Interface,num_Blue,%Toggle%
Echo,"Configuring User Profile Picture..."
If,Not,ExistFile,%fb_UserProfilePic%,Halt,"ERROR: The specified image [%fb_UserProfilePic%] does not exist."
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user.bmp",448x448
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user.png",448x448
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-32.png",32x32
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-40.png",40x40
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-48.png",48x48
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-192.png",192x192
// StartIsBack
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\448.jpg",448x448
Run,%ScriptFile%,ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\96.jpg",96x96
//AccountPicture.accountpicture-ms"
StrFormat,EXT,%fb_UserProfilePic%,%UserProfilePicExt%
If,%UserProfilePicExt%,Equal,".accountpicture-ms",Begin
// Extract .accountpicture-ms
ShellExecute,Hide,"%Tools%\anycpu\AcctPicExtractor.exe",%fb_UserProfilePic%,%ProjectTemp%
StrFormat,FileName,%fb_UserProfilePic%,%UserProfilePicFileName%
StrFormat,Replace,%UserProfilePicFileName%,".accountpicture-ms","",%UserProfilePicFileNameNoExt%
ConvertImage,"%ProjectTemp%\%UserProfilePicFileNameNoExt%-448.jpg","%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-448.png"
ConvertImage,"%ProjectTemp%\%UserProfilePicFileNameNoExt%-96.jpg","%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-96.png"
ConvertImage,"%ProjectTemp%\%UserProfilePicFileNameNoExt%-448.jpg","%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-40.png",40x40
ConvertImage,"%ProjectTemp%\%UserProfilePicFileNameNoExt%-448.jpg","%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-48.png",48x48
ConvertImage,"%ProjectTemp%\%UserProfilePicFileNameNoExt%-448.jpg","%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-192.png",192x192
// Register .accountpicture-ms
RegCopy,HKLM,"Tmp_Install_Software\Classes\.accountpicture-ms",HKLM,"Tmp_Software\Classes\.accountpicture-ms"
RegCopy,HKLM,"Tmp_Install_Software\Classes\accountpicturefile",HKLM,"Tmp_Software\Classes\accountpicturefile"
RegWrite,HKLM,0x1,"Tmp_Software\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.accountpicture-ms","","{9a02e012-6303-4e1e-b9a1-630f802592c5}"
RegWrite,HKLM,0x1,"Tmp_Default\Software\Microsoft\Windows\CurrentVersion\AccountPicture","SourceId","AccountPicture"
FileCopy,%fb_UserProfilePic%,"%TargetDir%\Users\Default\AppData\Roaming\Microsoft\Windows\AccountPictures\AccountPicture.accountpicture-ms"
End
Else,Begin
// Used by Open-Shell, etc.
ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user.bmp",448x448
ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user.png",448x448
ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-32.png",32x32
ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-40.png",40x40
ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-48.png",48x48
ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-48.png",96x96
ConvertImage,%fb_UserProfilePic%,"%TargetDir%\ProgramData\Microsoft\User Account Pictures\user-192.png",192x192
End
[#SetDefaultOptions#]
// ===============================================================================================================================
@@ -341,7 +332,7 @@ lbl_Green=Green,0,1,332,180,37,16,8,Normal
lbl_Blue=Blue,0,1,383,180,40,16,8,Normal
bvl_UserProfilePic="User Profile Picture",1,12,5,244,436,68,8,Bold
cb_ChangeUserProfilePic="Select the image to be used as the User's profile picture:",1,3,15,260,388,18,False
fb_UserProfilePic=,1,13,15,280,412,20,file,"__All standard image types are supported. (BMP, ICON, GIF, JPEG, PNG, TIFF, Exif, WMF, and EMF)"
fb_UserProfilePic=,1,13,15,280,412,20,file,"__All standard image types are supported. (accountpicture-ms, BMP, ICON, GIF, JPEG, PNG, TIFF, Exif, WMF, and EMF)#$x#$x.accountpicture-ms is required if you are using the StartIsBack start menu replacement."
[AuthorEncoded]
wallpaper_80.png=12998,17432
@@ -865,7 +856,6 @@ lines=0
lines=0
0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHAWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0wMi0yMlQxNjo1OTo1MC0wNjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTktMTItMDJUMjE6NTM6MDQtMDY6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMTItMDJUMjE6NTM6MDQtMDY6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YWQ2OTFmMzItY2FiZC1hZTQzLTlmNjAtMzk5YjQyOTBlMTNiIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6OTBjZmFlNjAtYWJhZS1iNTQ3LWIyODEtOWYxNzg2YzM1NjQ2IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MzUwYTZiYzMtZDFiMi03MjRjLTlmZWQtY2RmYTM4YzhjM2FkIj4gPGRjOmNyZWF0b3I+IDxyZGY6U2VxPiA8cmRmOmxpPkhvbWVzMzI8L3JkZjpsaT4gPC9yZGY6U2VxPiA8L2RjOmNyZWF0b3I+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzUwYTZiYzMtZDFiMi03MjRjLTlmZWQtY2RmYTM4YzhjM2FkIiBzdEV2dDp3aGVuPSIyMDE4LTAyLTIyVDE2OjU5OjUwLTA2OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MmNhNWFiYy05Mzg0LWUwNGYtOGE5NC0yMTk1NjY1NjY1YTUiIHN0RXZ0OndoZW49IjIwMTgtMDItMjJUMTc6MTA6MDUtMDY6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmFkNjkxZjMyLWNhYmQtYWU0My05ZjYwLTM5OWI0MjkwZTEzYiIgc3RFdnQ6d2hlbj0iMjAxOS0xMi0wMlQyMTo1MzowNC0wNjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PozE0ngAAAOzSURBVDgRBcF9TJR1AMDx7/N7nnuOez/kxUJe4q2pWEgoykxLpqkzx6bhlszN/soZ/dE0W9bWZrVZ2WYt/ypn5VrmzDkZZk2INoRyNJEUUDg4TuC4g7vjjrvjHu7uefp8pJljb2KymMlr2g5rq5H0ZQj6V+mzwYOh4qrGbDyadqN1GfOhK7Hp2cV4VQWRE5+SF42QUVUUAEOSkDJZsMvuQEg68/OgfOBPjzvf4xnDpArW1xQe2rxS/XB/Q8kPzlnv6blYXJeEAEB+Z8MGTOllrE0b13V4uXXk3NDuS3/4rYmoTnGeDUk30f1PkNvDmntQz3/5mecKm2o8//6WGByNY7ehmI0Mec9Xlvw6rf51+Mv7K3IzBmff2sgbB2rJdZpJpZa5NzzJR+fv0dMxwqPZqq0XT37cvqbo/JapvpFl+fPtGxhv2PHjkauxuqJMFpdL5qtTO3A7ZMa8fnJtBmUlKissaR75UmgzER66K4qa1ttVqafvttBLi9d868lpTvkXWVloxunI4cLVfg6/e43GQ9c4e3GAWCDECjVJYikBqsTd30e4mSw9aq0tt4ontvx9vZ4lCi0SmayO2ST45dYYfQNR5r0ZkokkTruG50mYwcdRYnGNwHiQjmHdpW3b2iYixZV74sFFTMJAUWQkIZHSdHwTi5w8VsXpo2WMjgU5ezmA1e7G5bCQ67IyN7FApm7TdpFWFIvIGiiKjCwkxn0R7g/O09pSzmfHy+m6M8He40MMzTgoL3ZiiBzUHDsm1YJsMUtCHfmvU813oMiCJ/4Y4WgKcszUP2sFC1zuijA6qlJT5ULHhGq2ogsHT6+uQNztva8UxWba66rrT10fnkMsazhtKkIxOPeTB99kmP5HOgWVuUjChCzMWK0qWtLOltUWTe3u/VoUKNm/D1Yu9U9rglQ8jWwSxGMp9r5Uxqu7XqTt8CYcFkEqo+ByWPEFFNbWV/Oa5cHV2FR4WgQmw2yd6Gl7v7WIuTmZQDBJPLFMy+5KtjWWcGRfAZKRQVWt+OYkYvYyPtm1EOHCF+8FH3iR366vRQuEppsb3SPyuqr9XQNLUjaR5nr3FOGFBT74ZoBRv5m47iSvZBXfn3DP1E5d2TP43Y3Hsm4gH9/8AlmbHWMp9XBnafbOtj01lSa7rdQbynDrxgQR3DQ0VvB6UwFndgban5q82eqZiD6QRscR2SwKgGToaLKKP5Tu3Gib7Fxd4Ws5+Upd82JuwypTNqMXJANeOTxwCd9i91g4jaSawTAA+B9saZuyCHkkigAAAABJRU5ErkJggnic4/ZIzSmINzTTK8hLZxgFIw7wceOXd9V7kMTIAAAhOQWdbDOZ9gEAAAACAAAAIwAAAA4LAAAAAAAAAQAAAAAAAAAAAAAA
[EncodedFile-AuthorEncoded-wallpaper_80.png]
lines=4
0=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