Optimize-Offline

Optimize-Offline is a Windows 10 offline image optimization framework.

MIT License

Stars
706
Committers
2
Optimize-Offline - Optimize-Offline 4.0.1.10 Latest Release

Published by DrEmpiricism over 1 year ago

  • Corrected the improper formatting of the output WimFileInfo.xml file when running Optimize-Offline with PowerShell 7+
  • Windows 10 22H2 will now display properly in the output WimFileInfo.xml file.
  • Added additional telemetry disabling registry entries.
  • Disabled Interests and News and Meet Now taskbar registry entries.
  • Updated the Win32Calc integration WIM file.
  • Updated the integrated Microsoft Edge Administrative Policy Templates WIM file to the latest versions.
  • Updated the integrated CustomAppsAssociations.xml
  • Updated the 'Additional Tweaks' registry template.
  • Updated the Set-Additional.ps1 post-setup script.
  • Added a Remove-DefaultUser0.ps1 post-setup script.
  • The Get-DeploymentTool function has been replaced with the Get-DISMPath function.
  • Removed redundancies in the Invoke-Cleanup function.
  • Additional framework code changes and other core module updates.
Optimize-Offline - Optimize-Offline 4.0.1.9

Published by DrEmpiricism about 3 years ago

  • Optimize-Offline's native ISO creation function has been re-written and now supports PowerShell 6+.
  • The names of the Biometric FOD packages that are automatically removed when the BioEnrollment System Application has been removed are now displayed and logged.
  • Added the disabling of Windows Taskbar Interests and News.
  • Additional framework code changes and other core module updates.

NOTE: A very small update was added on 09-16-2021 that adds 21H2 to the Get-ImageData function as well as the module manifest.

Optimize-Offline - Optimize-Offline 4.0.1.8

Published by DrEmpiricism over 3 years ago

  • Optimize-Offline now supports Windows 10 build 19043 (21H1)
  • When it is detected that the BioEnrollment System Application has been removed, Optimize-Offline will not automatically remove its associated Capability Packages.
  • A -ComponentCleanup switch has been added that will compress all superseded components, thus reducing the size of the Component Store.
  • The DaRT 20H1/21H1 WIM file has been updated.
  • External help files have been updates.
  • Additional framework code changes to support Windows 10 21H1 and other core module updates.
Optimize-Offline - Optimize-Offline 4.0.1.7

Published by DrEmpiricism almost 4 years ago

  • Optimize-Offline now supports PowerShell Core 7.
  • Updated required Resource Functions for PowerShell Core 7 compatibility.
  • Updated the Start-Optimize call script for PowerShell Core 7 compatibility.
  • Corrected a non-terminating error that could occur for a null value when no DaRT parameters were passed when processing the boot.wim and/or winre.wim.
  • Added the Deduplication integration packages for Windows 10 builds 19041+. added 12-11-2020
  • Updated the Edge Chromium integration package for Windows 10 builds 19041+.
  • Updated the Edge Chromium integration process.
  • Updated the Windows Store bundle packages.
  • If the removal of System Applications returns an error, it will now continue to the next System Application selected in the Gridview list instead of returning to the caller scope.
  • Added the 20H2 Enablement package to the exclusion list when outputting a Gridview list of Windows Cabinet Packages available for removal.
  • The Windows Cabinet Packages are now output to its Gridview list sorted in order by their package names instead of package type. This way all packages for a specific feature are in order to make selecting all of them easier without potentially skipping one.
  • Improved the exported package log formatting.

Note: If creating bootable ISO media using PowerShell Core 7, Optimize-Offline must be able to resolve the path to the oscdimg.exe premastering tool included in the Windows 10 ADK, as its default API function wrapper contains code that is not yet fully supported by PowerShell versions higher than 5.

Optimize-Offline - Optimize-Offline 4.0.1.6

Published by DrEmpiricism about 4 years ago

  • Added support for the SWM (split Windows image) file type.
  • If the source image is a SWM file, only the first SWM file needs passed to Optimize-Offline. It will recursively copy all additional SWM files. Likewise, the SWM files do not need to be named 'install.swm,' etc. Do note that in order to use a SWM file as the source image, all of the SWM files must be in their own directory. For example, if there are three SWM files named 'test.swm,' 'test2.swm,' 'test3.swm,' then all three of these SWM files must be in their own directory in order for Optimize-Offline to recognize them as split images from the same WIM file.
  • Corrected some registry vales that contained an invalid hive mount point.
  • Updated the Microsoft Edge Chromium package for Windows 10 builds 19041+.
  • Updated the Windows Store bundle packages.
  • The MAML XML external help file and manifest data have been updated.
  • Multiple code improvements across the framework.
Optimize-Offline - Optimize-Offline 4.0.1.5

Published by DrEmpiricism about 4 years ago

  • Fixed an error where the metadata for the image would not be returned if both the -DaRT and -Additional parameters were omitted.
  • Updated the Win32Calc integration image package to correct a bug where selecting 'Unit Conversion' from its drop-down list would cause the Win32Calc.exe to close immediately.
  • Updated the Resource Function that returns the metadata for any images being optimized.
  • Additional Optimize-Offline code improvements.
Optimize-Offline - Optimize-Offline 4.0.1.4

Published by DrEmpiricism about 4 years ago

  • Added support for Windows 10 build 19042 (20H2).
  • Added the new 20H2 Start Menu Experience to the applied registry settings.
  • Corrected an issue for Windows 10 builds 19041+ where it occasionally would be returned as an unsupported image build.
  • Updated the Windows Store bundle packages.
  • Updated the optional Set-Additional runtime script.
  • Multiple code improvements across the framework.
Optimize-Offline - Optimize-Offline 4.0.1.3

Published by DrEmpiricism about 4 years ago

  • Added the clean-up of any directories for Windows Apps that were deprovisioned.
  • Added additional disabling of Microsoft Edge telemetry and tracking.
  • Updated the custom App Associations .xml that gets imported.
  • Updated the 'Additional Tweaks.reg' file in the 'Content\Additional\RegistryTemplates' directory.
  • Updated the Windows Store bundle packages.
  • Added two scripts in the 'Content\Additional\Setup' directory named 'Remove-OneDrive.ps1' and 'Set-Additional.ps1' that can be run during system runtime (when the image is in an online state). These two scripts are copied to the image's 'Windows\Setup\Scripts' directory.
  • Remove-OneDrive.ps1 will completely and thoroughly remove Microsoft OneDrive.
  • Set-Additional.ps1 uses the included ScheduledTasks.json and Services.json files to disable any scheduled tasks or system services that have 'SetState' value to 'Disable.' Additionally runtime-specific privacy and system settings are also applied.

NOTE: Make sure you evaluate the contents of the Set-Additional.ps1 script, and its associated ScheduledTasks and Services .json files, before running the script. Though there are no ill effects of running it as-is, and before disabling any scheduled tasks or services it makes backup files of their default states, make sure no scheduled tasks or system services are set to be disabled that will be required by the system. Lastly, if you do not intend to use either of these scripts, you can remove them from the 'Content\Additional\Setup' directory.

Optimize-Offline - Optimize-Offline 4.0.1.2

Published by DrEmpiricism over 4 years ago

  • The Microsoft Edge Chromium browser can now be integrated into Windows 10 builds 18362+
  • Following the integration of the Microsoft Edge Chromium package, Optimize-Offline will also apply all administrative policy templates to the image and a custom 'master_preferences' file for Microsoft Edge Chromium updates.
  • Additional registry settings specific to Microsoft Edge Chromium have been added.
  • The -DaRT parameter value 'All' has been removed. The -DaRT parameter now accepts one or both of the 'Setup' and 'Recovery' values.
  • The Configuration.json file has been updated to incorporate the change to the -DaRT parameter.
  • The Start-Optimize call script and Resource Functions have been updated.
  • The MAML XML external help file and manifest data have been updated.
  • There have been additional offline process code changes to reflect the aforementioned updates.
Optimize-Offline - Optimize-Offline 4.0.1.0

Published by DrEmpiricism over 4 years ago

  • Corrected an issue where some users had an error when integrating Microsoft DaRT 10.
  • Corrected an issue for Windows 10 build 19041 where Windows Store Apps would be unresponsive in a runtime (online) environment if any Windows Store Apps were deprovisioned in the offline optimization process.
Optimize-Offline - Optimize-Offline 4.0.0.10

Published by DrEmpiricism over 4 years ago

  • Added additional subscribed content that will be disabled when the ContentDeliveryManager system application is removed.
  • Added the disabling of the Get More out of Windows notification that displays during OOBE and during reboots for builds 18362+.
  • Updated registry values applied to the image registry hives.
  • Updated the Get-OfflineHives function.
  • Updated the Windows Store bundle packages.
Optimize-Offline - Optimize-Offline 4.0.0.9

Published by DrEmpiricism over 4 years ago

  • Added the Developer Mode package for Windows 10 build 19041.
  • Originally multiple package summary logs would be created and overwritten. This has been fixed.
  • Removed a registry setting that applied a telemetry registry value to the WOW6432Node offline hive causing some UAC functionality issues.
  • Corrected a typo in the external help files.
Optimize-Offline - Optimize-Offline 4.0.0.8

Published by DrEmpiricism over 4 years ago

  • Added support for Windows 10 build 19041 (20H1).
  • Multiple Resource Functions and optimization processes have been updated to support build 19041.
  • Added a new -Additional hashtable parameter named 'LayoutModification' and its corresponding folder to the 'Content\Additional' directory. Enabling the 'LayoutModification' hashtable value will apply a user-specific custom Start layout XML added to the 'Content\Additional\LayoutModification' folder to the image. Additionally, the optimization process that creates and applies a custom Start layout XML will be bypassed.
  • The custom Start layout XML that Optimize-Offline creates and applies to the image has been updated to support build 19041. Also, the regular Control Panel pinned application has been replaced by the Master Control Panel (God Mode) application.
  • The creation of the Package Summary Log now first checks for specific dynamic parameters before compiling the log file. This prevents an empty log file from being created and saved if no package integrations were processed.
  • Created a Microsoft DaRT 10 integration WIM file for Windows 10 build 19041.
  • Updated the Windows Store bundle packages.
  • This list is not exhaustive of all changes made to Optimize-Offline or its Resource Functions, but outlines the major ones.
    NOTE: Because the Data Deduplication and Developer Mode packages are not yet available for Windows 10 19041, they cannot be integrated into build 19041. When these packages are available, they will be added to Optimize-Offline. Likewise, Windows 10 build 19041 is still an Insider Preview, so more optimizations will be added in future Optimize-Offline builds.
Optimize-Offline - Optimize-Offline 4.0.0.7

Published by DrEmpiricism over 4 years ago

  • Updated multiple Resource Functions.
  • Updated the firewall registry settings that get applied when the Deduplication packages are integrated into the image.
  • Removed unsupported language packages from the 'Packages' directory. These will be re-added if/when additional languages are supported by Optimize-Offline.
  • Optimized and trimmed down multiple module processes.
  • This list is not exhaustive of all changes made to Optimize-Offline or its Resource Functions, but outlines the major ones.
Optimize-Offline - Optimize-Offline 4.0.0.6

Published by DrEmpiricism over 4 years ago

  • Combined and ordered the Optimize-Offline module's initializing and finalizing processes more optimally.
  • The clean-up of Xbox integrated content has been modified to eliminate potential errors when trying to run paid apps or games downloaded from the Windows Store.
  • Errors are now handled simultaneously when a log entry is written that contains an error record.
  • The boot and recovery images will no longer be automatically mounted by default; rather, Optimize-Offline will now only mount them if any parameters for optimization requires their mounting (i.e. applying Microsoft DaRT 10 or integrating drivers to Windows Setup or Windows Recovery environments).
  • Simplified multiple processes and Resource Functions to further improve the overall speed of image optimization.
  • Updated localized data and external help.
  • Updated the Windows Store bundle packages.
Optimize-Offline - Optimize-Offline 4.0.0.5

Published by DrEmpiricism over 4 years ago

  • Corrected incorrect key syntax in the -Additional hashtable parameter.
  • Corrected an issue where some Resource Functions would try to use the main module's data strings when reporting errors, which could cause an additional incorrect variable error.
  • When an ESD is used as the source image, the metadata of the image is now refreshed after it's been exported to a WIM to ensure the image path is accurate.
  • Updated necessary Resource Functions to reflect the aforementioned changes.
Optimize-Offline - Optimize-Offline 4.0.0.4

Published by DrEmpiricism over 4 years ago

  • Optimize-Offline now supports the ESD file format as a source image.
  • The Additional.json file has been nested into the Configuration.json, as having a separate JSON file for additional user content was redundant.
  • Incorporated better methods for numerous removal processes.
  • Improved the Start-Optimize.ps1 call script functionality.
  • Updated multiple Resource Functions.
  • Updated the Windows Store bundle packages.
  • Updated localized data and external help.
  • This update list is not exhaustive of all changes and updates, but outlines the major ones.
Optimize-Offline - Optimize-Offline 4.0.0.3

Published by DrEmpiricism almost 5 years ago

  • Updated the Start-Optimize.ps1 call script.
  • Updated multiple Resource Functions.
  • Added additional error-handling for Resource Function processes.
  • Fixed an error that would prevent the use of solid compression for the final image.
  • Localized data has been updated.
Optimize-Offline - Optimize-Offline 4.0.0.2

Published by DrEmpiricism almost 5 years ago

  • The error handling for multiple functions and processes has been updated or integrated.
  • Optimize-Offline now first checks for a Windows 10 ADK path for the Dism executable it uses. If the Windows 10 ADK is not found, it will use the system Dism executable instead.
  • Final image compression now will output a Windows Form Listbox for the compression type selection. If the Windows Form Listbox is unable to be displayed, it will revert back to its selectable Gridview list.
  • Additional module processes have been converted to advanced functions.
  • The imported localized data has been updated.
Optimize-Offline - Optimize-Offline 4.0.0.1

Published by DrEmpiricism almost 5 years ago

  • Cmdlet help topics have been re-written into an XML-based external MAML file. Moreover, this XML MAML help document will be able to be updated any time Optimize-Offline is imported into a session.
  • A few additional Resource functions have been created to aid in various framework tasks.
  • Multiple Resource functions have been updated.
  • The imported localized data has been updated.
  • The loading and unloading of registry hives is now done natively using the Advapi32.dll Win32 API.
  • A custom System.IO.Optimized.Wim object type is now created when Optimize-Offline finalizes and added to the final save folder in the form of an XML document that will contain both default and optimized-specific image metadata.
  • The Windows Store bundle packages have been updated.
  • This update list is not exhaustive of all changes and updates, but outlines the major ones.
Related Projects