From bac7fea21dd521fc1295c045df514d22ec474c19 Mon Sep 17 00:00:00 2001 From: Homes32 Date: Wed, 12 Jan 2022 18:07:46 -0600 Subject: [PATCH] DISM API command for compatibility building from Win7 host --- Projects/PhoenixPE/100-ConfigSource.script | 61 +++++++------- Projects/PhoenixPE/Components/DotNET.script | 14 ++-- Projects/PhoenixPE/Core/200-PreFlight.script | 9 +- .../Drivers/DriverIntegration.script | 6 +- .../Drivers/Tools/DriverInjection.script | 4 +- .../PhoenixPE/Finalize/709-TweakBox.script | 8 +- Projects/PhoenixPE/PhoenixAPI.script | 47 ++++++++++- Projects/PhoenixPE/Toolbox/Features.script | 84 +++++++++---------- Projects/PhoenixPE/Tweaks/Localization.script | 4 +- Projects/PhoenixPE/script.project | 9 +- 10 files changed, 143 insertions(+), 103 deletions(-) diff --git a/Projects/PhoenixPE/100-ConfigSource.script b/Projects/PhoenixPE/100-ConfigSource.script index d8d66d5..e17b7df 100644 --- a/Projects/PhoenixPE/100-ConfigSource.script +++ b/Projects/PhoenixPE/100-ConfigSource.script @@ -37,7 +37,6 @@ Selected=True Mandatory=True Version=1.1.0.0 Date=2020-11-19 -Interface=Interface [Variables] @@ -188,7 +187,11 @@ WriteInterface,Items,%ScriptFile%,Interface,cmb_SrcInstallImage,%imgIndexList% // Select the Windows 10 Pro image as default. List,Pos,%imgNameList%,"Windows 10 Pro",%ProPos% If,%ProPos%,Equal,0,Begin - // Could not find Windows 10 Pro index. Just select the highest numbered image. + // Windows 10 Pro not found, try to select the Windows 11 Pro image as default. + List,Pos,%imgNameList%,"Windows 11 Pro",%ProPos% +End +If,%ProPos%,Equal,0,Begin + // Could not find Windows 10/11 Pro index. Just select the highest numbered image. List,Count,%imgIndexList%,%SrcInstallImageCount% List,Get,%imgIndexList%,%SrcInstallImageCount%,%indexSelected% End @@ -229,7 +232,7 @@ System,Cursor,Normal [GetImgInfo_Loop] StrFormat,FileName,#1,%WimFile% Echo,"Getting image info from %WimFile% [#c]..." -WimInfo,#1,#c,NAME,%imgName% +WimInfo,#1,#c,DISPLAYNAME,%imgName% WimInfo,#1,#c,WINDOWS/VERSION/MAJOR,%imgVerMaj% WimInfo,#1,#c,WINDOWS/VERSION/MINOR,%imgVerMin% WimInfo,#1,#c,WINDOWS/VERSION/BUILD,%imgVerBld% @@ -449,44 +452,44 @@ Message,"Configure the source directory and Wim images used for building the pro // Related........: // =============================================================================================================================== [Interface] -btn_GetISOFido="Download Win10 ISO",1,8,5,5,140,25,DownloadWithFido,VistalcoDownload_16.png,False,"__Download Win10 ISO Images with FIDO" -btn_ExtractISO="Extract Win10 ISO",1,8,151,5,125,25,ExtractISO,Images_Iso_16.png,False,"__Extract a downloaded Win10 ISO file to use as source." -bvl_Homepage=bvl_Homepage,1,12,302,5,121,25 -web_TechBench="Techbench ISO Images",1,10,309,9,113,18,https://tb.rg-adguard.net/public.php -btn_SetDefaultOptions=,1,8,452,5,25,25,SetDefaultOptions,SetDefaults_16.png,False,"__Restore Defaults" -btn_AdvancedOptions=,1,8,482,5,25,25,ToggleAdvancedOptions,Advanced_16.png,True,"__Show Advanced Options" -btn_ScriptInfo=,1,8,513,5,25,25,ShowScriptInfo,Help_16.png,True,"__Script Info" -bvl_SourceCfg="Configure Source",1,12,5,50,532,105,8,Bold -lbl_SupportedVer1="Supported Versions: 1809 (10.0.17763), 1903 (10.0.18362), 1909 (10.0.18363), 2004 (10.0.19041)",0,1,16,66,510,16,8,Normal,Italic -lbl_SupportedVer2="Supported Versions",1,1,412,66,97,16,8,Normal,Italic,"__1809 (10.0.17763)#$x1903 (10.0.18362)#$x1909 (10.0.18363)#$x2004 20H1 (10.0.19041)#$x2009 20H2 (10.0.19041) - Boot.wim only" -lbl_Source="Source Files:",1,1,17,94,83,18,8,Bold -fb_SrcPath=,1,13,94,88,433,20,dir,"Title=Select the directory containing your extracted ISO image" -lbl_ClickSave="Select the directory containing your extracted ISO image and click 'Save'.",1,1,55,124,354,16,8,Normal -btn_SrcSave=" Save",1,8,421,116,80,25,SaveSource,Disquette_16.png,False -bvl_ImageCfg="Configure Source Image",1,12,5,169,532,130,8,Bold +btn_GetISOFido="Download Source ISO",1,8,5,5,140,25,DownloadWithFido,VistalcoDownload_16.png,False,"__Download ISO Images with FIDO" +btn_ExtractISO="Extract Source ISO",1,8,151,5,140,25,ExtractISO,Images_Iso_16.png,False,"__Extract a downloaded ISO file to use as source." +bvl_Homepage=bvl_Homepage,1,12,380,5,121,25 +web_TechBench="Techbench ISO Images",1,10,387,9,113,18,https://tb.rg-adguard.net/public.php +btn_SetDefaultOptions=,1,8,530,5,25,25,SetDefaultOptions,SetDefaults_16.png,False,"__Restore Defaults" +btn_AdvancedOptions=,1,8,560,5,25,25,ToggleAdvancedOptions,Advanced_16.png,True,"__Show Advanced Options" +btn_ScriptInfo=,1,8,591,5,25,25,ShowScriptInfo,Help_16.png,True,"__Script Info" +bvl_SourceCfg="Configure Source",1,12,5,50,611,105,8,Bold +lbl_SupportedVer1="Supported Versions: 1809 (10.0.17763), 1903 (10.0.18362), 1909 (10.0.18363), 2004 (10.0.19041)",0,1,16,121,510,16,8,Normal,Italic +lbl_SupportedVer2="Supported Versions",1,1,434,71,97,16,8,Normal,Italic,"__1809 (10.0.17763)#$x1903 (10.0.18362)#$x1909 (10.0.18363)#$x2004 20H1 (10.0.19041)#$x2009 20H2 (10.0.19041) - Boot.wim only" +lbl_Source="Source Files:",1,1,17,99,83,18,8,Bold +fb_SrcPath=,1,20,94,93,485,20,dir,"Title=Select the directory containing your extracted ISO image",_SaveSource_,False +lbl_ClickSave="Select the directory containing your extracted ISO image.",1,1,15,71,354,16,8,Normal +btn_SrcSave=,1,8,584,93,20,20,SaveSource,Refresh.ico,False,"__Rescan Source" +bvl_ImageCfg="Configure Source Image",1,12,5,169,611,130,8,Bold lbl_BaseWim="Base Wim:",0,1,69,189,54,18,8,Normal cmb_BaseWim=WinRE.wim,0,4,130,185,100,21,Boot.wim,WinRE.wim,_SaveSource_,False lbl_SrcBaseImg="'Base' Image:",1,1,56,216,92,18,8,Normal -cmb_SrcBaseImage="[Please select a valid source]",1,4,130,211,395,21,"[Please select a valid source]",_UpdateBaseWimLabel_,True +cmb_SrcBaseImage="[Please select a valid source]",1,4,130,211,474,21,"[Please select a valid source]",_UpdateBaseWimLabel_,True lbl_SrcInstallImage="'install.wim' Image:",1,1,29,244,94,18,8,Normal -cmb_SrcInstallImage="[Please select a valid source]",1,4,130,237,395,21,"[Please select a valid source]",_GetSourceWimImage_,True +cmb_SrcInstallImage="[Please select a valid source]",1,4,130,237,474,21,"[Please select a valid source]",_GetSourceWimImage_,True lbl_ImageInfo="Image Info:",1,1,64,274,60,16,8,Normal -lbl_ImgInfo=,1,1,131,274,393,16,8,Bold -bvl_DestCfg="Configure Destination",0,12,5,313,532,112,8,Bold +lbl_ImgInfo=,1,1,131,274,474,16,8,Bold +bvl_DestCfg="Configure Destination",0,12,5,313,611,112,8,Bold cb_RunFromWim="Run all programs from RAM (Boot.wim)",0,3,16,332,215,18,False,"__Select this option to pack all programs into Boot.wim regardless of individual script settings.#$x#$xRequired for PXE/Network boot." lbl_OutputDir="Output Dir:",0,1,17,369,70,16,8,Bold -fb_OutputDir=%BaseDir%\Output\%ProjectTitle%\,0,13,94,363,433,20,dir,"Title=Select the directory where the final build will be saved","__The directory where the final build will be saved. (eg. BOOT.WIM, Programs, etc.)" +fb_OutputDir=%BaseDir%\Output\%ProjectTitle%\,0,13,94,363,510,20,dir,"Title=Select the directory where the final build will be saved","__The directory where the final build will be saved. (eg. BOOT.WIM, Programs, etc.)" lbl_IsoOutputDir="ISO Dir:",0,1,17,400,70,16,8,Bold -fb_IsoOutputDir=%BaseDir%\Output\,0,13,94,394,433,20,dir,"Title=Select the directory where the final ISO file will be saved","__The directory where the final ISO file will be saved." +fb_IsoOutputDir=%BaseDir%\Output\,0,13,94,394,510,20,dir,"Title=Select the directory where the final ISO file will be saved","__The directory where the final ISO file will be saved." [InterfaceEncoded] Advanced_Exit_16.png=705,1048 -Disquette_16.png=2267,3124 SetDefaults_16.png=2475,3404 Advanced_16.png=2000,2768 Help_16.png=2830,3868 Images_Iso_16.png=1019,1464 VistalcoDownload_16.png=927,1348 +Refresh.ico=1150,1212 [AuthorEncoded] Source.png=11546,15488 @@ -502,10 +505,6 @@ lines=3 [EncodedFile-InterfaceEncoded-Advanced_Exit_16.png] lines=0 0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACc0lEQVQ4y3XTX2jWZRQH8M/z+pttvIVuY5lMzDRppugioj9Q4EUlUZpFF1JCFBaV1BK68aJuQrqJrMibdhEGXrXKxDBqw4vSiNxGk7G37SJRKtvbmvNtre3V00WPISPP1cPzPefw/X7POVw5duArHML9V0oqIgKklFpxJ/oiYjql1IbFWIQ1EfFFSukqbMVARFSgyMVL8Ty2Y39K6QTuwBwuYG1K6R5sxOP4JqX0RkRUUkRIKT2AfRhDM5owg4WZaeR3DRNYjd0RcaDICcdwAPfhHBKGMZjxTtycsRbsz94QEbIPd+NH9ONVtF+Gtee//tz44UtYwiasRUfW/QO6ImL8crezqXszk9M4jmqBF3AdZjP1wfnFmel4SmkQG9CGR/FHQi8WdbQ2L9y18d4Vt1+/st5wsT586lTlrU09n/XMY/EKnsTvaMRUwo7b2lrWf7jtqeda25cvuHqu7q+GwvRENU4Mfv3M5iO93fMkrMMQBlArIuL9vs0PflIuGhZc88gWf38/oOmW9WYPHkrLyi2vd61u/+DtsZ+X4GmsyTKPRkQ3FFuWNqeuVes2zJwcMnX4c81PbFP79jvTx48p1WpLPjpTfQ03ZPMmUcatKaUjEXFGROhetWL45NbHYubseFR7DsbsxGSM7nw5Dt/UcaGhlIYz3Ureiy/xE56NiH9XeWj2z30rRyvvFHv2pPO9fZo+7TQ5MuLjqeqvcxfjHH7Bu3kCL6EvH5oUEbYvb03LSsXuztS4a3GpaKmXnD86O92/9/TZcj2iEb0R0ZXNfAgjETH6X4NL8eKN1zaWS6W2uYjJN8d+uws7s+aeiHjv/875HzeNCzhN2c5EAAAAAElFTkSuQmCCeJwTcUwpS8xLTk2Jd63ILIk3NNMryEtnGAUjBRxkwi/faXT+FiMDAK67CoVdXuX/AQAAAAIAAAAsAAAAwQIAAAAAAAABAAAAAAAAAAAAAAA -[EncodedFile-InterfaceEncoded-Disquette_16.png] -lines=0 -0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF+mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA1LTA4VDIxOjIwOjUzLTA1OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMC0yMVQxNzoxODoyMC0wNTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMC0yMVQxNzoxODoyMC0wNTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1ODkzOWE5ZS0wNmQ3LTFiNGEtOGYwZS1mOGFmZTU4NTAxZjUiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1YWYyYzQ2YS1hOWY0LTMxNGUtOTlkMy1hNjA2Y2U5NDQ0ZDUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmZmU1MmUyZi1iYmY2LTJlNDMtOTY0Ni0yZTY3NzlhMzM2ZmIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZmZTUyZTJmLWJiZjYtMmU0My05NjQ2LTJlNjc3OWEzMzZmYiIgc3RFdnQ6d2hlbj0iMjAxOS0wNS0wOFQyMToyMDo1My0wNTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ODkzOWE5ZS0wNmQ3LTFiNGEtOGYwZS1mOGFmZTU4NTAxZjUiIHN0RXZ0OndoZW49IjIwMTktMTAtMjFUMTc6MTg6MjAtMDU6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz626fMuAAACh0lEQVQ4EXXBzWtcVRzH4c/33HPnzrQzaZt00JaCYheCC3VRrNBNioIrFy5d+EfoxlX/CfeC7twK3QqSRUFBifiGGAqxMY2JnZlk5r6fc34mRSpVfB7/6dbhrbJp3h6tHpzbfPlZPyv7TOAEDpDxRMqckiOEj76YdzuHqf/m63tbPoT+rZ3dow9vXPUUg5y8STxFgPGYczD0A2IIpKwgL4p1/+diNby3fZ93br7eX5xezt048B8SArJMjIuMZfmr7f5+kvLBwPzV6aVw++ZL1L3lg+GQwhkYT5FAgjwThYPpdKr1MmX3H+5kfrbsBgezFcnOE2Mi9AEznpBACDlQEmmQUdYdx6uAJPNNn/yqjpgZkjgj8TSBEEicqbtI1UXMwFdt9GUbSAkcIIl/k0CAxGNVG2l744yv++RWdUAC54QA4x/ibwLvhJOYlx3zEtbMzNddyuZVYP/oGGGsn/OA+D99V3PwqERujVPmF8tG169t8MnWjLvffcVRKcaFuDAyftjrmJcBzKi7iJlYyzuWccLG2NOdWPJNF+WzjI3pM+wfLXjzemD/BLYfJDZfcOTOERKMBjkHi4bPvnVMioglAUp+b9YqxsRJ29BWSz7YnHDnbs32z+Lj9ya8ci1jXsH6JOfH3QWf/9TQdxVZJk4l//1vSyeg7B2Xi0SfX6CJHfjIH5Vn7xiOTnoWjdg/TjiMpAwQp6If5m7MqYTIMnFxbcyiegiHLcVwxPi8mJUrzAwJnES0iEVAmAfuAK8hnuv6RPIT3nj1CqtmxZVLQ3qL5HmOFIkRYkqIBCYwCx74BXhfcKOP0T2q3fDd28+Pbr14nK+NTFXbc8qA0HZdFUNfZXJGCslC++VfWJFMfmujqNsAAAAASUVORK5CYIJ4nBNwySwuLE0tKUmNNzTTK8hLZxgFIwnc5sAvv4Il8DQjAwDhcQiu1I1ULgEAAAACAAAAKAAAANsIAAAAAAAAAQAAAAAAAAAAAAAA - [EncodedFile-InterfaceEncoded-SetDefaults_16.png] lines=0 0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHEGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEwLTIxVDE3OjIxOjEyLTA1OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wMlQyMTo1MTo1Mi0wNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wMlQyMTo1MTo1Mi0wNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiMWM3ZDhlNS1mMGMxLTMwNDgtOGNiOS03YWU4YjgyNDgyNmQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowNzhkNDM1MC04NWRmLTg4NDQtOTY0Mi1lYTIxNmU3YjUwNDIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmMDM1MDg3Mi1hYmUxLWU5NDAtOTE2NC1kYzRjMzdjOGIwOTUiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+SG9tZXMzMjwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZGM6Y3JlYXRvcj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMDM1MDg3Mi1hYmUxLWU5NDAtOTE2NC1kYzRjMzdjOGIwOTUiIHN0RXZ0OndoZW49IjIwMTktMTAtMjFUMTc6MjE6MTItMDU6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDdmNDNiMDctMTg1NC1hNjQwLWEwM2UtYTQxMTM2YTA0ODA2IiBzdEV2dDp3aGVuPSIyMDE5LTEwLTIxVDE3OjIxOjQ3LTA1OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmIxYzdkOGU1LWYwYzEtMzA0OC04Y2I5LTdhZThiODI0ODI2ZCIgc3RFdnQ6d2hlbj0iMjAxOS0xMi0wMlQyMTo1MTo1Mi0wNjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlYy9voAAAJBSURBVDiNpdHLThNRHAbwvkCjpalcSyyUEDo09Jw5MxZeggXdQHSpa96ARTclolWpLYtG20IDwdpaoeVOW63G0gvEmEaj3cFKYrxMXLjw88wAbQ3smOQ3OTn/73yZiw6A7jK0G9tjJ0rcPmtnB8zNFbnjU0VtT52VWD1/UcE4KzOFw39K3D6D44NDYRWeOVdQYKoxDue8YxjeH4b1lRXm5S70v+7HSHlkjO83FeSZkcNFnAUnDFsGuOIu7L0v4M7GbXRlusDeMGO9QMyIHikrYSA7ACEnQF2LuyLkrIzuTDd6Q704rB1CvabWp6B/qYeYFT31AmlTqtrX7XAmb2AwLsCyZoFz2wn7th2GqAHxfEI7nM6voW2+DY4dB8QNsVovsKVsCl2myOXyGrpA0LHSAWOsBZOxSeAL8LH0GWJYRGeyE/KqDHFFVOoFQkJQBucFpFNb+JH/gxeJFMx+M4SADW/TZdR2jnAzdAtXo1cgJ2XQ51TVKGBLrGqJXofkl7C5uotvld9YiC/hSSyCr8VfmF6cQcucAUPPhkAX6ZnGK9Aw9UhRCdeCJhAvQblwAPzkk+9ApXgA6z0rLGELWISBRuiZxkckQWLkIIUkGH1G9Ln7UPtUA/4Co75R6O/rIT2VoGaaNH4jmSM6EiAu4ieQgzJava2QZ2RMBCZgvmsGDVLweTOXeqZR8Jic8JFx8ogosl9Gj7cHpmkTqJ8/7iwvmCUqRcuc5i8q0JGHpJ08IG6uyB1rvNrarc18RHeu4DL+AeXUQV071uymAAAAAElFTkSuQmCCeJwTCk4tcUlNSyzNKSmONzTTK8hLZxgFIwes5sQv/03zkSgjAwBGXgl7UO9x9wEAAAACAAAAKgAAAKsJAAAAAAAAAQAAAAAAAAAAAAAA @@ -525,3 +524,7 @@ lines=0 [EncodedFile-InterfaceEncoded-VistalcoDownload_16.png] lines=0 0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADZklEQVQ4jUWT3WubdRTHP89L3p8mTfpim7ZL37ZZp6UTV1F0g00dXky9myAiXhf8A0QRvFCGF96o4IViJ0Mm4lSUIbIqdVs6W+3W1da+LW3SpC9Jm6TJ8+RJ+uT5SdLBDpzD4cD3e76Hc470zIUTHJiMU4szP3Yav+stXr00PVQqNL4SG1ea/ltYW29wp8Y2/roxuTF2CzOhANU6StVLe/VEkqBg5sHv8vf2D38b+Hv4bJdS5chRgcdUuZ28hud4elr+ff1lSCbud0UtapkaHCFnMLNPhc8+/8XsyEsEIxK4VYVCBXo98PP8Ga7eOnbc8l2/pzg/HHD1xJaNhSxq/+N9gI1pO/CrI9+c7yM46AMnIGqDqTCgQjoCi3EX0ptBVaRPfR/76Z/BuoL9vIGo6pjejhcOO7wnxVacsd0k4YYAgz2P4LEhU3PHCk88d4Ngbpu07H4sfT1y3mTtspqYy2OXDfTW1tOPhsfJKVPMbW7QUI4Q7nqPlKgwkbvJkrFNceMQvt4Z8EPjcNuZTHTtslpKeqESIG/FO2NCojtwglTvDI41ia/iP5DyXqNs5PFrTSwsj5CdPYe76Qr5lcZwfYT8TQ+KpWNFAtmELfGj8TUxLUdDeYaN6hKhUBiqMgV1hsaBL1m68ixWIUOlulhfn6IdbaVcbqN8+x2s0OJrpcN3kHRw52t1F3ljmb29KusJnYr0L67QFLolMKaXPy8nzEm19ekZ2WpWPFu/Vv5wO1djzYfoqcjgmHuIwuIHbGkfoYWmEXYDOztFKGqUk3rJuJO9VFdguhGyJd7vPJe46n+4YPs68HqCkDO20AJRukIa89FtbKuCpNrsb/vIfLf1hlXMT9UJnL1QXCLqj8ivt58S7e2tENLADkK3v8zUxR2yq1k8ARV5p43cpPPdStb3mRLqROgpVFcASXFhbE+IC76I8qnvySpeDY41aUx+coS9TRdDJ1swkyqbt/QdW6/OSk1VkOSDUxZVhOIkZGaFvjshVoVX7u4fcpP8s2Iu3M381tf34oqc6rJ25+Y3S/vpFcknTUv79sHz1Ajq0WbX6WfU3LOFdU8dLewL7o5XPqYl/vZc9Beqqx0QEjg0LzIC6T74AYF0QFjc5KJtWslk1Oos5Rn1toDd7MDINSK7aydvI+QHYID/Ab48jqdfCQxIAAAAAElFTkSuQmCCeJwTD8ssLknMSc53yS/Py8lPTIk3NNMryEtnGAUjAsxnxi+fwnL8OSMDAKdDC4fwuePJAQAAAAIAAAAvAAAAnwMAAAAAAAABAAAAAAAAAAAAAAA + +[EncodedFile-InterfaceEncoded-Refresh.ico] +lines=0 +0=eJxjYGAEQgEBBiCpwJDBwsAgxsDAoAHEQCGgCEQcBBxYGHCCIi9TFg0pYQEmRgY5dhYmM3UR7hxreYEuSzmBLiVBrmxmJkZLoDIlFXFBgUQHPawmdUXYiSaYyk/fkuf95VJnyv97U/L/352c9/9Ce9L/NZnuHwK0JSZqSQlJZ7sZMaHrnZPkrDk31ubBw+mF/1/MLceKQWb1BplcFeZi1Z4Q6wQ3Y2WWh9iyZIdHz+eUgdW9Wtr4/+HS5v9nJhX8PzUh7//t+XX/X69sA8s9nVXyvz/E5KqujLAETP+SOLM5j2cUgeVfAvXuq414vjrTOWlLaaDQ5pIAnnU57p6bC7wuPF3cAFZzb0ru/1B9yZ5Kf3OWXSU+okeqg36C3Ti/8v+uMv93B2rDldH9t6c6jGtLrvO5FwuqwWZsyXd/F2OjKbi3zDv8zqRsoFjF/8czi/8XOijU4YqjrYXuztd6UsBqr3Ql/TeX43M5WOVT82xxzf8XS2r/X5uY/r8v2soZl/59dSGsJ5tC/4LU3p9d/N9fRyT9aJ1f7fPVLf9frGn9f3Nm3n9LBT4fZD0rc10U2sPNzWdm+7DuqQ/jPNsZ/Q+k9sHiqv+tQXppp5oDox6tqPv/anPP/+cb2v9n2clNm5bpxQ7Tv7HAoeZER8QnA2luv6ZAvch7i8vBau/ML/4/J83B8UJ3hMSN6Wm/P+6a9B+EL09O/qEjyeU9LcsLnMZ2lDnXfdw58f/p7uhPO6u8nkHUTf5/uivi/drKEE6QmhO1Tos/7J7yH4x3Tfl/oTfye2+CjQrYz9Vu9TDx9zsng9W83db/f3+VawfMjRcnJkhemxT98uP+2f8/7Jn+/2ij97U9zeFg+w/VugP1T/0Px0D5HVXud1tj7YWQw+lsZ7DRzalxz5+tqf9/rMEtACZ+stm7AVn/e6A7zvdFf9KT4vKcWxiAko/O98eIn2vzyUAWu9QV0Pj58IL/X44tReCjS/5fmhz/YW62kz6uuIaBO7NSTS4127ddnxDaeKk7oP5iFxB3B9Wf6/SvPdEdLXeAmYHhARAfYGRgaABhoB7mAwwM7A+gGMRnAJUhDAyNjBB8GMh+DsT/gRgAJw7A4nic4w5KTStKLc7Qy0zOZxgFIw7UsUBoB2bs8n6bHDYzsAEANM4HAiNl1bQBAAAAAgAAACcAAABAAwAAAAAAAAEAAAAAAAAAAAAAAA diff --git a/Projects/PhoenixPE/Components/DotNET.script b/Projects/PhoenixPE/Components/DotNET.script index 1b5e6fe..a93ae70 100644 --- a/Projects/PhoenixPE/Components/DotNET.script +++ b/Projects/PhoenixPE/Components/DotNET.script @@ -169,8 +169,8 @@ WimMount,%SourceInstallWim%,%SourceInstallWimImage%,%MountDir%,READWRITE // Check for .NET 3 and Enable if necessary Echo,"Enabling feature: .NET Framework 3..." If,Not,ExistFile,"%MountDir%\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:#$q%SourceDir%\sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,AbortFeature + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:#$q%SourceDir%\sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,AbortFeature End Else,Message,".NET Framework 3 is already enabled!",Warning @@ -214,8 +214,8 @@ WimMount,%SourceInstallWim%,%SourceInstallWimImage%,%MountDir%,READWRITE // Check for .NET 3 and Enable if necessary Echo,"Disabling feature: .NET Framework 3..." If,ExistFile,"%MountDir%\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:NetFx3 /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,AbortFeature + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:NetFx3 /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,AbortFeature End Else,Message,".NET Framework 3 is already disabled!",Warning @@ -237,9 +237,9 @@ WimUnmount,%MountDir%,COMMIT // Related........: EnableFx3, DisableFx3 // =============================================================================================================================== [AbortFeature] -Echo,"Aborting operation...#$xDism.exe terminated with error code: [%ExitCode%]. Check the log for details." +Echo,"Aborting operation...#$xDism.exe terminated with error code: [#r]. Check the log for details." WimUnmount,%MountDir%,DISCARD -Halt,"Error: Dism.exe terminated with error code: [%ExitCode%]. Check the log for details." +Halt,"Error: Dism.exe terminated with error code: [#r]. Check the log for details." [#ViewDismLog#] // =============================================================================================================================== @@ -318,7 +318,7 @@ btn_ViewDismLog=,1,8,491,5,25,25,ViewDismLog,Health.ico,True,"__View the DISM lo btn_SetDefaultOptions=,1,8,541,5,25,25,SetDefaultOptions,SetDefaults_16.png,True,"__Restore Defaults" btn_AdvancedOptions=,1,8,572,5,25,25,ToggleAdvancedOptions,Advanced_16.png,True,"__Show/Hide Advanced Options" btn_ScriptInfo=,1,8,603,5,25,25,ShowScriptInfo,Help_16.png,True,"__Script Info" -lbl_NetFx4="This script will add the .NET Framework v4 runtime embedded within your Win10 source.#$x#$xIf required, you may use the buttons above to enable .NET Framework version 2.0-3.5 in your source image. Once the feature is enabled they will be included in your build.",1,1,5,50,518,49,8,Bold +lbl_NetFx4="This script will add the .NET Framework v4 runtime embedded within your source.#$x#$xIf required, you may use the buttons above to enable .NET Framework version 2.0-3.5 in your source image. Once the feature is enabled they will be included in your build.",1,1,5,50,518,49,8,Bold [AuthorEncoded] net-icon-100x95.png=12277,16476 diff --git a/Projects/PhoenixPE/Core/200-PreFlight.script b/Projects/PhoenixPE/Core/200-PreFlight.script index 1b33ea4..926aa59 100644 --- a/Projects/PhoenixPE/Core/200-PreFlight.script +++ b/Projects/PhoenixPE/Core/200-PreFlight.script @@ -187,6 +187,7 @@ If,Not,ExistFile,"%Tools%\%HostArch%\SetACL.exe",Run,%ScriptFile%,ErrMissingTool If,Not,ExistFile,"%Tools%\x86\xml.exe",Run,%ScriptFile%,ErrMissingTool,xml.exe // WaikTools +If,Not,ExistFile,"%Tools%\%HostArch%\DISM\dism.exe",Run,%ScriptFile%,GetWaikTools If,Not,ExistFile,"%Tools%\%HostArch%\Oscdimg\oscdimg.exe",Run,%ScriptFile%,GetWaikTools [#ErrMissingTool#] @@ -217,15 +218,15 @@ Halt,"The build cannot continue because [ #1 ] is missing." // =============================================================================================================================== [GetWaikTools] Echo,"Downloading required tools from Windows 10 ADK...#$x#$xThis will only need to be done once." -ShellExecute,Open,"%Tools%\%HostArch%\GWT.exe","-Win10 -Silent -folder:%ProjectTemp%" +ShellExecute,Open,"%Tools%\%HostArch%\GWT.exe","-Win10 -Win10dism -Silent -folder:%ProjectTemp%" DirCopy,"%ProjectTemp%\ADK_6\x86\*.*","%Tools%\x86" DirCopy,"%ProjectTemp%\ADK_6\amd64\*.*","%Tools%\x64" If,Not,ExistFile,"%Tools%\x64\Oscdimg\oscdimg.exe",Halt,"Error downloading required Windows 10 ADK tools. The build cannot continue." -// Don't waste disk space with these, we will use the OS versions -DirDeleteEx,"%Tools%\x86\DISM" +// Don't waste disk space with these, we will use the OS versions (DISM required for Win7 Compatibility shim PhoenixAPI_DISM) +//DirDeleteEx,"%Tools%\x86\DISM" DirDeleteEx,"%Tools%\x86\BCDBOOT" -DirDeleteEx,"%Tools%\x64\DISM" +//DirDeleteEx,"%Tools%\x64\DISM" DirDeleteEx,"%Tools%\x64\BCDBOOT" diff --git a/Projects/PhoenixPE/Drivers/DriverIntegration.script b/Projects/PhoenixPE/Drivers/DriverIntegration.script index 902cd68..69ec9d7 100644 --- a/Projects/PhoenixPE/Drivers/DriverIntegration.script +++ b/Projects/PhoenixPE/Drivers/DriverIntegration.script @@ -80,8 +80,8 @@ If,Not,ExistDir,%DismLogPath%,DirMake,%DismLogPath% If,%cb_ForceUnsignedDrivers%,Equal,True,Set,%DismForceUnsigned%," /ForceUnsigned" Else,Set,%DismForceUnsigned%,"" -ShellExecute,Hide,"Dism.exe","/image:#$q%TargetDir%#$q /Add-Driver /Driver:#$q%DriversSrc%#$q /recurse /LogPath:#$q%DismLog%#$q%DismForceUnsigned%" -If,Not,%ExitCode%,Equal,0,Halt,"Error: Dism.exe terminated with error code: [%ExitCode%]. Check the log for details." +DISM,"/image:#$q%TargetDir%#$q /Add-Driver /Driver:#$q%DriversSrc%#$q /recurse /LogPath:#$q%DismLog%#$q%DismForceUnsigned%" +If,Not,#r,Equal,0,Halt,"Error: Dism.exe terminated with error code: [#r]. Check the log for details." // Dism doesn't always unload hives correctly. Force unload just to make sure. RegUnloadHives,Force,"Target=%TargetSystem32%\config" @@ -147,7 +147,7 @@ If,ExistDir,%ExportDest%,DirDeleteEx,%ExportDest% DirMake,%ExportDest% // Export Drivers -ShellExecute,Hide,"Dism.exe","/online /Export-Driver /Destination:#$q%ExportDest%#$q" +DISM,"/online /Export-Driver /Destination:#$q%ExportDest%#$q" DirSize,%ExportDest%,%DirSize% StrFormat,Bytes,%DirSize%,%StrDirSize% diff --git a/Projects/PhoenixPE/Drivers/Tools/DriverInjection.script b/Projects/PhoenixPE/Drivers/Tools/DriverInjection.script index 721ffcc..7a83bf9 100644 --- a/Projects/PhoenixPE/Drivers/Tools/DriverInjection.script +++ b/Projects/PhoenixPE/Drivers/Tools/DriverInjection.script @@ -101,8 +101,8 @@ If,%cb_ForceUnsignedDrivers%,Equal,True,Set,%DismForceUnsigned%," /ForceUnsigned Else,Set,%DismForceUnsigned%,"" // Inject Drivers -ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Add-Driver /Driver:#$q%fb_DriversSrc%#$q /recurse /LogPath:#$q%DismLog%#$q%DismForceUnsigned%" -If,Not,%ExitCode%,Equal,0,Halt,"Error: Dism.exe terminated with error code: [%ExitCode%]. Check the log for details." +DISM,"/image:#$q%MountDir%#$q /Add-Driver /Driver:#$q%fb_DriversSrc%#$q /recurse /LogPath:#$q%DismLog%#$q%DismForceUnsigned%" +If,Not,#r,Equal,0,Halt,"Error: Dism.exe terminated with error code: [#r]. Check the log for details." // Dism doesn't always unload hives correctly. Force unload just to make sure WimUnmout doesn't freak out. RegUnloadHives,Force,"Target=%MountDir%\Windows\System32\config" diff --git a/Projects/PhoenixPE/Finalize/709-TweakBox.script b/Projects/PhoenixPE/Finalize/709-TweakBox.script index f77382b..ca2ab7d 100644 --- a/Projects/PhoenixPE/Finalize/709-TweakBox.script +++ b/Projects/PhoenixPE/Finalize/709-TweakBox.script @@ -288,18 +288,18 @@ btn_ResetCodebox="Reset Codebox",1,8,209,66,100,25,ResetCodebox,SetDefaults_16.p bvl_RegFiles="Merge Registry",1,12,0,239,600,95,8,Bold lbl_MergeReg="Merge registry files (*.reg, *.txt) into your build. Tmp_* and Tmp_Install_* hives will be loaded automatically.",1,1,10,255,579,16,8,Normal cb_RegFiles_Enable01="Registry file 1",1,3,10,283,90,18,False -fb_RegFiles_File01=,1,13,100,281,404,20,file +fb_RegFiles_File01=,1,13,100,281,404,20,file,"Title=Select a registry file","Filter=Registry files|*.reg;*.txt|All files|*.*" btn_RegFiles_Exec01=Merge,1,8,510,281,80,20,MergeRegFile01,play-16.ico,False cb_RegFiles_Enable02="Registry file 2",1,3,10,308,90,18,False -fb_RegFiles_File02=,1,13,100,306,404,20,file +fb_RegFiles_File02=,1,13,100,306,404,20,file,"Title=Select a registry file","Filter=Registry files|*.reg;*.txt|All files|*.*" btn_RegFiles_Exec02=Merge,1,8,510,306,80,20,MergeRegFile01,play-16.ico,False bvl_Script="Execute Scripts",1,12,0,355,600,95,8,Bold lbl_ExecScript="Execute additional PEBakery scripts, bat/cmd files, powershell scripts, and/or programs.",1,1,10,370,579,16,8,Normal cb_Script_Enable01="Script/Exe 1",1,3,10,393,90,18,False -fb_Script_File01=,1,13,100,391,404,20,file +fb_Script_File01=,1,13,100,391,404,20,file,"Title=Select a .script or executable file","Filter=Programs/Scripts|*.bat;*.cmd;*.exe;*.ps1;*.script|Programs|*.exe|PEBakery scripts|*.script|Batch files|*.bat;*.cmd|Powershell scripts|*.ps1|All files|*.*" btn_Script_Exec01=Execute,1,8,510,391,80,20,ExecScript01,play-16.ico,False cb_Script_Enable02="Script/Exe 2",1,3,10,418,90,18,False -fb_Script_File02=,1,13,100,416,404,20,file +fb_Script_File02=,1,13,100,416,404,20,file,"Title=Select a .script or executable file","Filter=Programs/Scripts|*.bat;*.cmd;*.exe;*.ps1;*.script|Programs|*.exe|PEBakery scripts|*.script|Batch files|*.bat;*.cmd|Powershell scripts|*.ps1|All files|*.*" btn_Script_Exec02=Execute,1,8,510,416,80,20,ExecScript02,play-16.ico,False [InterfaceEncoded] diff --git a/Projects/PhoenixPE/PhoenixAPI.script b/Projects/PhoenixPE/PhoenixAPI.script index bd5089c..7878454 100644 --- a/Projects/PhoenixPE/PhoenixAPI.script +++ b/Projects/PhoenixPE/PhoenixAPI.script @@ -60,6 +60,7 @@ DirDeleteEx=Run,%API%,_PhoenixAPI_DirDeleteEx FileCopyEx=Run,%API%,_PhoenixAPI_FileCopyEx FileDeleteEx=Run,%API%,_PhoenixAPI_FileDeleteEx +// ACL Management SetFileACL=Run,%API%,_PhoenixAPI_SetFileACL SetRegACL=Run,%API%,_PhoenixAPI_SetRegACL @@ -71,7 +72,9 @@ Associate=Run,%API%,_PhoenixAPI_Associate ConvertImage=Run,%API%,_PhoenixAPI_ConvertImage -// Experimental - May be changed or removed without notice +DISM=Run,%API%,_PhoenixAPI_DISM + +// Compression/Decompression 7z=Run,%API%,_PhoenixAPI_7z //7zExtract=Run,%API%,_PhoenixAPI_7z InnoUnpack=Run,%API%,_PhoenixAPI_InnoUnpack @@ -277,7 +280,7 @@ System,EndLocal // =============================================================================================================================== [_PhoenixAPI_7z] System,SetLocal -If,#1,Equal,"",Halt,"7zip Error: You must specify the program arguments." +If,#1,Equal,"",Halt,"7zip Error: You must provide required 7z.exe arguments." GetParam,1,%Args% Getparam,2,%WorkDir% @@ -287,6 +290,44 @@ Set,#r,%ExitCode% System,EndLocal +[#_PhoenixAPI_DISM#] +// =============================================================================================================================== +// Name...........: DISM +// Description....: Execute DISM with the provided arguments. +// Syntax.........: DISM,[,] +// Parameters.....: #1 Args - The arguments to pass to the 7z executable. +// #2 WorkDir - The full path to the working directory. Default is the exe path. +// Return values..: ExitCode provided by the DISM application +// Author.........: Homes32 +// Remarks........: This command is provided as compatibility shim to allow using DISM on Win10 images from a Win7 Host. +// The version of DISM provided with Win7 does not recognize Win10 imagines when using the /image: argument. +// In order to work around this limitation and allow DISM operations (Localization, driver integration, etc) on Win7 +// we use DISM from Win10 AIK tools, downloaded using JFX's GetWaikTools.exe during Pre-Flight Check. +// * Win10+ - Executes DISM.exe from the HostOS +// * Win7/8 - Executes Win10 AIK DISM.exe +// +// Eventually GetWaikTools will no longer be able to download an AIK that works on Win7, at which time it will no +// longer be possible to build PhoenixPE on Win7. What do you expect running an unsupported OS? ;-) +// +// Related........: Depends on %Tools%\%HostArch%\GWT.exe +// =============================================================================================================================== +[_PhoenixAPI_DISM] +System,SetLocal +If,#1,Equal,"",Halt,"DISM Error: You must provide the dism.exe arguments." + +GetParam,1,%Args% +Getparam,2,%WorkDir% + +System,GetEnv,windir,%HostWinDir% +FileVersion,"%HostWinDir%\System32\ntdll.dll",%HostOSVer% + +If,%HostOSVer%,Bigger,10.0.0.0,ShellExecute,Hide,"dism.exe",%Args%,%WorkDir% +Else,ShellExecute,Hide,"%Tools%\%HostArch%\DISM\dism.exe",%Args%,%WorkDir% + +Set,#r,%ExitCode% + +System,EndLocal + [#_PhoenixAPI_Innounp#] // =============================================================================================================================== // Name...........: Innounp @@ -305,7 +346,7 @@ System,EndLocal // =============================================================================================================================== [_PhoenixAPI_Innounp] System,SetLocal -If,#1,Equal,"",Halt,"InnoExtractEx Syntax Error: You must specify the program arguments." +If,#1,Equal,"",Halt,"InnoExtractEx Syntax Error: You must provide the Innounp.exe arguments." GetParam,1,%Args% Getparam,2,%WorkDir% diff --git a/Projects/PhoenixPE/Toolbox/Features.script b/Projects/PhoenixPE/Toolbox/Features.script index 8db9ac1..df27c83 100644 --- a/Projects/PhoenixPE/Toolbox/Features.script +++ b/Projects/PhoenixPE/Toolbox/Features.script @@ -78,22 +78,22 @@ WimUnmount,%MountDir%,COMMIT If,%cb_SMBv1%,Equal,True,Begin Echo,"Enabling feature: Server Message Block v1..." If,Not,ExistFile,"%MountDir%\Windows\System32\drivers\mrxsmb10.sys",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol-Client /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol-Server /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol-Deprecation /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol-Client /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol-Server /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:SMB1Protocol-Deprecation /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Server Message Block v1 is already enabled!" End Else,Begin Echo,"Disabling feature: Server Message Block v1..." If,ExistFile,"%MountDir%\Windows\System32\drivers\mrxsmb10.sys",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol-Client /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol-Server /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol-Deprecation /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol-Client /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol-Server /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:SMB1Protocol-Deprecation /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Server Message Block v1 is already disabled!" End @@ -102,16 +102,16 @@ End If,%cb_NetFX3%,Equal,True,Begin Echo,"Enabling feature: .NET Framework 3..." If,Not,ExistFile,"%MountDir%\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,".NET Framework 3 is already enabled!" End Else,Begin Echo,"Disabling feature: .NET Framework 3..." If,ExistFile,"%MountDir%\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:NetFx3 /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:NetFx3 /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,".NET Framework 3 is already disabled!" End @@ -120,16 +120,16 @@ End If,%cb_NetFX4%,Equal,True,Begin Echo,"Enabling feature: .NET Framework 4 Extended..." If,Not,ExistDir,"%MountDir%\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:NetFx4Extended-ASPNET45 /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:NetFx4Extended-ASPNET45 /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,".NET Framework 4 Extended is already enabled!" End Else,Begin Echo,"Disabling feature: .NET Framework 4 Extended..." If,ExistDir,"%MountDir%\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:NetFx4Extended-ASPNET45 /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:NetFx4Extended-ASPNET45 /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,".NET Framework 4 Extended is already disabled!" End @@ -138,16 +138,16 @@ End If,%cb_TelentClient%,Equal,True,Begin Echo,"Enabling feature: Telnet Client..." If,Not,ExistFile,"%MountDir%\Windows\System32\telnet.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:TelnetClient /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:TelnetClient /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Telnet Client is already enabled!" End Else,Begin Echo,"Disabling feature: Telnet Client..." If,ExistFile,"%MountDir%\Windows\System32\telnet.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:TelnetClient /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:TelnetClient /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Telnet Client is already disabled!" End @@ -156,16 +156,16 @@ End If,%cb_TFTP%,Equal,True,Begin Echo,"Enabling feature: TFTP..." If,Not,ExistFile,"%MountDir%\Windows\System32\tftp.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:TFTP /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:TFTP /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"TFTP is already enabled!" End Else,Begin Echo,"Disabling feature: TFTP Client..." If,ExistFile,"%MountDir%\Windows\System32\tftp.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:TFTP /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:TFTP /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"TFTP Client is already disabled!" End @@ -174,16 +174,16 @@ End If,%cb_Linux%,Equal,True,Begin Echo,"Enabling feature: Legacy Components (DirectPlay)..." If,Not,ExistFile,"%MountDir%\Windows\System32\bash.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:LegacyComponents /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:LegacyComponents /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Legacy Components (DirectPlay) are already enabled!" End Else,Begin Echo,"Disabling feature: Legacy Components (DirectPlay)..." If,ExistFile,"%MountDir%\Windows\System32\bash.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:LegacyComponents /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:LegacyComponents /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Legacy Components (DirectPlay) is already disabled!" End @@ -192,16 +192,16 @@ End If,%cb_Linux%,Equal,True,Begin Echo,"Enabling feature: Linux Subsystem..." If,Not,ExistFile,"%MountDir%\Windows\System32\bash.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Linux Subsystem is already enabled!" End Else,Begin Echo,"Disabling feature: Linux Subsystem..." If,ExistFile,"%MountDir%\Windows\System32\bask.exe",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Linux Subsystem is already disabled!" End @@ -210,26 +210,26 @@ End If,%cb_Print%,Equal,True,Begin Echo,"Enabling feature: Print Components..." If,Not,ExistFile,"%MountDir%\Windows\System32\lpdsvc.dll",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:Printing-Foundation-LPDPrintService /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:Printing-Foundation-LPRPortMonitor /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:Printing-Foundation-LPDPrintService /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Enable-Feature /FeatureName:Printing-Foundation-LPRPortMonitor /All /LimitAccess /Source:#$q%SourceDir%\Sources\sxs#$q /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Print Components are already installed!" End Else,Begin Echo,"Disabling feature: Print Components..." If,ExistFile,"%MountDir%\Windows\System32\lpdsvc.dll",Begin - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:Printing-Foundation-LPDPrintService /LogPath:#$q%DismLog%#$q" - ShellExecute,Hide,"Dism.exe","/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:Printing-Foundation-LPRPortMonitor /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Run,%ScriptFile%,Abort + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:Printing-Foundation-LPDPrintService /LogPath:#$q%DismLog%#$q" + DISM,"/image:#$q%MountDir%#$q /Disable-Feature /FeatureName:Printing-Foundation-LPRPortMonitor /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Run,%ScriptFile%,Abort End Else,Echo,"Print Components are already disabled!" End [Abort] -Echo,"Aborting operation...#$xDism.exe terminated with error code: [%ExitCode%]. Check the log for details." +Echo,"Aborting operation...#$xDism.exe terminated with error code: [#r]. Check the log for details." WimUnmount,%MountDir%,DISCARD -Halt,"Error: Dism.exe terminated with error code: [%ExitCode%]. Check the log for details." +Halt,"Error: Dism.exe terminated with error code: [#r]. Check the log for details." [#ViewDismLog#] // =============================================================================================================================== diff --git a/Projects/PhoenixPE/Tweaks/Localization.script b/Projects/PhoenixPE/Tweaks/Localization.script index 5281e86..01987cc 100644 --- a/Projects/PhoenixPE/Tweaks/Localization.script +++ b/Projects/PhoenixPE/Tweaks/Localization.script @@ -165,8 +165,8 @@ If,Not,%TimeZone%,Equal,Default,Set,%DismArg%,"%DismArg% /Set-TimeZone:#$q%TimeZ // Set Keyboard, Format and Timezone with DISM If,Not,%DismArg%,Equal,"",Begin Echo,"Configuring International Settings...#$x#$xThis can take awhile, please be patient." - ShellExecute,Hide,"dism.exe","/image:#$q%TargetDir%#$q %DismArg% /LogPath:#$q%DismLog%#$q" - If,Not,%ExitCode%,Equal,0,Halt,"Error: Dism.exe terminated with error code: [%ExitCode%]. Check the log for details." + DISM,"/image:#$q%TargetDir%#$q %DismArg% /LogPath:#$q%DismLog%#$q" + If,Not,#r,Equal,0,Halt,"Error: Dism.exe terminated with error code: [#r]. Check the log for details." End // Create an empty User Profile registry key for the International Control Panel diff --git a/Projects/PhoenixPE/script.project b/Projects/PhoenixPE/script.project index 0c912ef..651f48b 100644 --- a/Projects/PhoenixPE/script.project +++ b/Projects/PhoenixPE/script.project @@ -203,6 +203,7 @@ Echo,"Generating Support Log..." // Get a timestamp for our archive file name to avoid overwrites StrFormat,DATE,%Timestamp%,"yyyy-mm-dd-hhnn" Echo,"Exporting Log as [HTML]..." +If,Not,ExistDir,%ProjectTemp%,DirMake,%ProjectTemp% System,SaveLog,"%ProjectTemp%\BuildLog.html" System,SaveLog,"%ProjectTemp%\BuildLog.log",Text Set,%LogFile%,"%Timestamp%-%ProjectTitle%-Logs.7z" @@ -210,16 +211,10 @@ Set,%LogFile%,"%Timestamp%-%ProjectTitle%-Logs.7z" // Collect various useful information If,ExistFile,"%TargetWindows%\Logs\DISM\dism.log",Filecopy,"%TargetWindows%\Logs\DISM\dism.log","%ProjectTemp%" -RegRead,HKLM,"Software\Microsoft\Windows NT\CurrentVersion","ReleaseId",%ReleaseId% -RegRead,HKLM,"Software\Microsoft\Windows NT\CurrentVersion","CurrentBuildNumber",%CurrentBuildNumber% -RegRead,HKLM,"Software\Microsoft\Windows NT\CurrentVersion","UBR",%UBR% -RegRead,HKLM,"Software\Microsoft\Windows NT\CurrentVersion","DisplayVersion",%DisplayVersion% -RegRead,HKLM,"Software\Microsoft\Windows NT\CurrentVersion","ProductName",%ProductName% -Echo,"Host OS: %ProductName%, Version [%DisplayVersion%/%ReleaseId%], %HostArch% (Build %CurrentBuildNumber%.%UBR%)" - // Compress our build log and our other logs into a zip archive Echo,"Archiving Support Log...." Compress,7z,%ProjectTemp%\*.log,%BaseDir%\Logs\%LogFile% +Compress,7z,%ProjectTemp%\*.ini,%BaseDir%\Logs\%LogFile% Compress,7z,%ProjectTemp%\BuildLog.html,%BaseDir%\Logs\%LogFile% System,EndLocal