mirror of
https://github.com/PhoenixPE/PhoenixPE.git
synced 2025-09-17 02:28:09 +02:00
153 lines
23 KiB
Plaintext
153 lines
23 KiB
Plaintext
[License]
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// This script is part of the PhoenixPE project and distributed under the MIT License.
|
|
//
|
|
// Additional 3rd party tools, encoded files, and programs used by the project are the property
|
|
// of their respective authors and may be subject to their own license agreement.
|
|
//
|
|
// Copyright (c) 2014-2021 Jonathan Holmgren (Homes32)
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to deal
|
|
// in the Software without restriction, including without limitation the rights
|
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
// copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
//
|
|
// The above copyright notice and this permission notice shall be included in all
|
|
// copies or substantial portions of the Software.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
// SOFTWARE.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
[Main]
|
|
Title=.NET v4 Framework
|
|
Description=Microsoft .NET Framework v4 included with Windows 10.
|
|
Selected=False
|
|
Level=4
|
|
Author=Homes32
|
|
Version=1.1.0.0
|
|
Date=2019-07-01
|
|
Mandatory=False
|
|
|
|
[TODO]
|
|
// Finish writing .Net detector tool in PureBasic (Zero Runtime Dependencies) and include in build.
|
|
|
|
[Variables]
|
|
|
|
[Process]
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
// Build Files List
|
|
|
|
Echo,"Building a list of required files...#$x#$xThis can take awhile, please be patient."
|
|
|
|
RequireFileEx,Append,\Windows\Microsoft.NET
|
|
If,%SourceArch%,Equal,x86,RequireFileEx,Append,\Program Files\Microsoft.NET
|
|
Else,RequireFileEx,Append,\Program Files (x86)\Microsoft.NET
|
|
RequireFileEx,Append,\Windows\System32\MUI\0409\mscorees.dll
|
|
RequireFileEx,Append,\Windows\System32\aspnet_counters.dll
|
|
RequireFileEx,Append,\Windows\System32\dfshim.dll
|
|
RequireFileEx,Append,\Windows\System32\FntCache.dll
|
|
RequireFileEx,Append,\Windows\System32\mscoree.dll
|
|
RequireFileEx,Append,\Windows\System32\mscorier.dll
|
|
RequireFileEx,Append,\Windows\System32\mscories.dll
|
|
RequireFileEx,Append,\Windows\System32\msvcp120_clr0400.dll
|
|
RequireFileEx,Append,\Windows\System32\msvcp140_clr0400.dll
|
|
RequireFileEx,Append,\Windows\System32\msvcr100_clr0400.dll
|
|
RequireFileEx,Append,\Windows\System32\msvcr120_clr0400.dll
|
|
RequireFileEx,Append,\Windows\System32\netfxperf.dll
|
|
RequireFileEx,Append,\Windows\System32\PresentationCFFRasterizerNative_v0300.dll
|
|
RequireFileEx,Append,\Windows\System32\PresentationHost.exe
|
|
RequireFileEx,Append,\Windows\System32\PresentationHostProxy.dll
|
|
RequireFileEx,Append,\Windows\System32\PresentationNative_v0300.dll
|
|
RequireFileEx,Append,\Windows\System32\ucrtbase_clr0400.dll
|
|
RequireFileEx,Append,\Windows\System32\UIAutomationCore.dll
|
|
RequireFileEx,Append,\Windows\System32\vcruntime140_clr0400.dll
|
|
RequireFileEx,Append,\Windows\System32\sxstrace.exe
|
|
RequireFileEx,Append,\Windows\System32\WindowsCodecs.dll
|
|
RequireFileEx,Append,\Windows\System32\WindowsCodecsExt.dll
|
|
|
|
// WoW64
|
|
If,ExistFile,"%TargetSystem32%\wow64.dll",Begin
|
|
RequireFileEx,Append,\Windows\SysWOW64\MUI\0409\mscorees.dll
|
|
RequireFileEx,Append,\Windows\SysWoW64\aspnet_counters.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\dfshim.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\mscoree.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\mscorier.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\mscories.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\msvcp120_clr0400.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\msvcp140_clr0400.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\msvcr100_clr0400.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\msvcr120_clr0400.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\netfxperf.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\PresentationCFFRasterizerNative_v0300.dll
|
|
RequireFileEx,Append,\Windows\SysWoW64\UIAutomationCore.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\ucrtbase_clr0400.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\vcruntime140_clr0400.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\PresentationHost.exe
|
|
RequireFileEx,Append,\Windows\SysWOW64\PresentationHostProxy.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\PresentationNative_v0300.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\sxstrace.exe
|
|
RequireFileEx,Append,\Windows\SysWOW64\WindowsCodecs.dll
|
|
RequireFileEx,Append,\Windows\SysWOW64\WindowsCodecsExt.dll
|
|
End
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
// Extract Files
|
|
|
|
Echo,"Extracting the .NET 4 Framework...#$x#$xThis can take awhile, please be patient."
|
|
RequireFileEx,ExtractList
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
// Configure Dummy Registry
|
|
|
|
RegHiveLoad,Tmp_Software,%RegSoftware%
|
|
RegHiveLoad,Tmp_System,%RegSystem%
|
|
RegHiveLoad,Tmp_Install_Software,%RegInstallSoftware%
|
|
RegHiveLoad,Tmp_Install_System,%RegInstallSystem%
|
|
RegCopy,HKLM,"Tmp_Install_Software\Microsoft\Fusion",HKLM,"Tmp_Software\Microsoft\Fusion"
|
|
RegCopy,HKLM,"Tmp_Install_Software\Microsoft\.NETFramework",HKLM,"Tmp_Software\Microsoft\.NETFramework"
|
|
RegCopy,HKLM,"Tmp_Install_Software\Microsoft\NET Framework Setup",HKLM,"Tmp_Software\Microsoft\NET Framework Setup"
|
|
RegCopy,HKLM,"Tmp_Install_System\ControlSet001\Services\FontCache*",HKLM,"Tmp_System\ControlSet001\Services",WILDCARD
|
|
RegCopy,HKLM,"Tmp_Install_Software\WOW6432Node\Microsoft\.NETFramework",HKLM,"Tmp_Software\WOW6432Node\Microsoft\.NETFramework"
|
|
RegCopy,HKLM,"Tmp_Install_Software\WOW6432Node\Microsoft\NET Framework Setup",HKLM,"Tmp_Software\WOW6432Node\Microsoft\NET Framework Setup"
|
|
RegHiveUnload,Tmp_Software
|
|
RegHiveUnload,Tmp_System
|
|
RegHiveUnload,Tmp_Install_Software
|
|
RegHiveUnload,Tmp_Install_System
|
|
|
|
[#Interface#]
|
|
// ===============================================================================================================================
|
|
// Name...........: Interface
|
|
// Description....:
|
|
// Syntax.........:
|
|
// Parameters.....:
|
|
// Return values..:
|
|
// Author.........: Homes32
|
|
// Remarks........:
|
|
// Related........:
|
|
// ===============================================================================================================================
|
|
[Interface]
|
|
cb_IncludeDotNET3="Include .NET 3 (if available)",1,3,5,50,150,15,True,"__.NET 3 is disabled by default in Win10."
|
|
|
|
[AuthorEncoded]
|
|
net-icon-100x95.png=12277,16476
|
|
Logo=net-icon-100x95.png
|
|
|
|
[EncodedFile-AuthorEncoded-net-icon-100x95.png]
|
|
lines=4
|
|
0=iVBORw0KGgoAAAANSUhEUgAAAGQAAABfCAYAAAAeX2I6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAF+mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA3LTAxVDIxOjA0OjQ4LTA1OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNy0wMVQyMTowNjozNi0wNTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wNy0wMVQyMTowNjozNi0wNTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMWNiNTRiOC1iNDg4LTMwNDgtODQ2Yi03YTYxMGMyYjJiMjYiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplNjAwZWIwNC1mNTBhLTc4NDItYjQzYS1hYTEzMTc0ZTJiYTMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYzYyNDU0My1iNDViLThmNDctYjJjNi0yZDdhZWRiMDhjMmEiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjNjNjI0NTQzLWI0NWItOGY0Ny1iMmM2LTJkN2FlZGIwOGMyYSIgc3RFdnQ6d2hlbj0iMjAxOS0wNy0wMVQyMTowNDo0OC0wNTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozMWNiNTRiOC1iNDg4LTMwNDgtODQ2Yi03YTYxMGMyYjJiMjYiIHN0RXZ0OndoZW49IjIwMTktMDctMDFUMjE6MDY6MzYtMDU6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4tZ4/WAAApoUlEQVR4Ae3BB7ynV13g/8/3nPM8z6/dXqZnUmdSSTCEYigLiFQhCwq6uyKwqKCuCLvCqiu7CssqfxB8AaLgihpxcQWlCgkluLQUAySQMimT6eXO7b/2lHPO9z+Za3K5M3dCMpmJ4Cvvt/Ah5YRoFytziHGgHrUJslhCIsSaQWJEjCUYh1Y1S1qcPdTvTD5pMPLkreO+3ko52M5lsYiSCogqQUBBS6/aDc74WsME52IUExf2HpL939xm5+/cTtIwMnre6WWyYe3dOjiSR0kbhmpW640q9nrE1gBxvk1y5+1olnI8Vg2l8dwytItgPKjhWBVGm6yJT6BpA4UKQVJM8MQQGurcsxPrnuas3eqtrCsOzq6Lc52mOBs4htoySHN8sP62888Z+ejwaK1VVsEAWjXi4OCOZLvjlFCCEUyaXZgU+Wvt4uxPmE53U/SBa/fBd7bPcfpEg0u3jnHamkHumSvo+4ATQVWoDQ1Si7B/+34O3LmL+V0H6c+1qYo+6fgkbu16FhcUZ8pdjZp8PB1L7wp96pR+N8qXEA4inALKESJrxCVvtjZ5ZWJNPYTAbLtN3uvT6hRYa1CUo1U+0qpnd04MZde71G2IoCBG0dR5F5JmtsNxMimoKtGlkyn8XnZo+pXm0CxSFiCGaIRSYXHBs3f3HDfcPsXzL9vABedNss8rYwM1SBLu+Pad3H7drRy4Yw9lu4+pWVzDIalS5TOkcYKkNUJxcOG0arr9q82t66+qnzHxVe1XzxAxTxMxf4OP12hRoKIcj0bBOEEwgPL9KCBiX2vgj0QjTqDX7+tsuxvL4E2zVM1UjBcQZSVVBMNQM/3Tet3N1Bp2QhVvBFRss5XV/8meSc9xEkWBmCYvHIE/cTv3rq3mFojOoUkCKCg4UVo1h6kn9PKSv//S9mrHXJCnPv0c25s65K/91HXmu/90l8UHmiMD2jytEdWpgBowhDxn4fYb49A5F8X6xDpXLbbp3rL72epjo3H22k+bvNpEXv4nEcZkzdqPmsRxPKlkLIQZvHYBAZRjecAjKEFqHyTGV5tQ4axpL/YKN91u1xCxzrrYil6jsKoqKIOt7B/rqfsnk9pNSeKKsgxJktSbnd7CwlXf+PDtvaKL4yQJPiJD9d/aQPlWvWsn7XYPainCYaqgyhIFBdVIMxHsSMN957Y5jfM3VHu+c4uZ3T0jI4MNbKsWYs2gViyR+5lGi1iVZuGebdhaLdSGR23V7ZDfc/Aptp52sg2j10u3n9FIX2EGz1xIIp9XVVZTszWmexXMKaINVqMYhAyDvI8gr1aN3dTaTjsvGtPtTt0YS0wsjX6Fi8F6YziaqmKMMDSQfRKh2WgkiaJRVY0PVTNxtWvPWnNeLMs+jodJULyCOPvus214XXnXbqYWuyS1FKICCsoRosoSRWKk9MBEK67fRD//zrYaVXCt0YEozawKDevEWiEoGFYwrkEocrO4++6QtgaDazZtMDn5jkPPsoP1aVPPZil8L+J/oSz6t1IVezGGo6kRkrLGGnkaFmE1imLU/EcLv6RazaXGdIvKp4e6vQFjDVhLEjQ2ioCKQTiWD8rQYP3zqbO3ieG0RsMWvvRONY5KlJ2jSf3OzZdcjhiwXPE/ODEVVnKiWFTMu87PzK+xcw+7ZxbJ6hlE5V6iigCCgnKYcq+qU+CGB4uJiyank/VNsul2o9Htq9+4KSZnbjZ+fh4UEevAGDAGjAFjQAwmzajyvhERbU1MikoUqmDUx4FkfGAnURHVTWrNGEn6ZVwCLgGXgEvAJZCmxJigfUcqKQkpCSkJKQkpCSmJJmsM7qOKWhGmjUiY6vbGqxidM5Zgjbb6ldZLb4MRjqaqiEgYG2n+ifdaDQ3XGuPj9Ri8ZqjWnPJFjbLY6Qe6/YDjYYhAVN66pWFfWzt4iFsOzpJlKRIiSxSUwxSUwxRB6C70aI0N5JOPP22XSWLaLXU4jL
|
|
1=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
|
|
2=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
|
|
3=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
|
|
4=RU5ErkJggnicE85LLdHNTM7P0zU0MKiwNNUryEtnGAUjBnzVxy9vuarHiJEBAHYbCQ6ZIgirAQAAAAIAAAArAAAA9S8AAAAAAAABAAAAAAAAAAAAAAA
|