Compare commits

...

21 Commits

Author SHA1 Message Date
a37e435949 Merge branch 'test-2024-02-07-refactor-noapps' into CW-MicroWin 2024-02-21 19:24:11 -06:00
2fbe40a3ee Update files
Updated the Test-CompatibleImage function to compare against a desired version, which is useful for determining if the Specialize pass needs to be added to the unattended answer file
2024-02-09 20:03:05 +01:00
42d13ad735 Merge branch 'test-2024-02-07-refactor-noapps' into CW-MicroWin 2024-02-09 15:57:27 +01:00
744fee6c40 Improve detection for Professional editions 2024-02-02 20:45:31 +01:00
6d4db7dc7a Merge branch 'test-2024-01-30' into CW-MicroWin 2024-02-02 16:29:07 +01:00
32e98c0264 Compile Winutil 2024-02-01 23:04:41 +00:00
26e117c5bf Choosing Alternate Scartch Path and Busy Messages
* Choosing Alternate Scartch Path and Busy Messages

* Change Selected index to be pro
2024-02-01 17:04:17 -06:00
1d35d06c84 Compile Winutil 2024-02-01 22:41:58 +00:00
8069364777 tweaks and fetures tabs clean up automation from inputXML.xaml
* tweaks and fetures tabs clean up automation from inputXML.xaml

* fixed some commas in tweaks.json file

* recompile

* Update tweaks.json
2024-02-01 16:41:36 -06:00
bac37a186b Compile Winutil 2024-02-01 22:25:13 +00:00
090aecc8b0 Remove Nano-Removed bugged Nano package for now
* Remove Nano

-Removed bugged Nano package for now
2024-02-01 16:24:51 -06:00
9a58c9e70e Compile Winutil 2024-02-01 22:23:07 +00:00
5248954e77 Fix Broken Link and add syncthingtray (#1508) 2024-02-01 16:22:45 -06:00
367485c993 Compile Winutil 2024-02-01 22:20:25 +00:00
440f8922bb applications.jsonAdded Foxit Reader app and updated Foxit Editor to show the difference.
* applications.json

Added Foxit Reader app and updated Foxit Editor to show the difference.
2024-02-01 16:19:54 -06:00
369f8a6179 Merge branch 'test-2024-01-25' into CW-MicroWin 2024-01-30 09:10:01 -06:00
6ebf40d373 Compile Winutil 2024-01-30 14:42:42 +00:00
739bb49796 Update screen-install.png (#1464) 2024-01-30 08:42:21 -06:00
c34c804037 Update files
- Add detections for whether the image to be processed by MicroWin is Windows 10 or later
- Add procedure to clear the indexes ComboBox (WinForms term) every time an ISO is specified
2024-01-27 21:43:35 +01:00
aed92704a8 Compile Winutil 2024-01-26 14:40:01 +00:00
b659acb3b3 Update applications.json
Fake app add made by linux fanboy
2024-01-26 08:39:29 -06:00
3 changed files with 60 additions and 31 deletions

View File

@ -18,28 +18,23 @@ function Test-CompatibleImage() {
<# <#
.SYNOPSIS .SYNOPSIS
Checks the version of a Windows image and determines whether or not it is compatible depending on the Major property Checks the version of a Windows image and determines whether or not it is compatible with a specific feature depending on a desired version
.PARAMETER imgVersion .PARAMETER Name
The version of the Windows image imgVersion - The version of the Windows image
desiredVersion - The version to compare the image version with
#> #>
param param
( (
[Parameter(Mandatory = $true)] [string] $imgVersion [Parameter(Mandatory = $true, Position=0)] [string] $imgVersion,
[Parameter(Mandatory = $true, Position=1)] [Version] $desiredVersion
) )
try { try {
$version = [Version]$imgVersion $version = [Version]$imgVersion
if ($version.Major -ge 10) return $version -ge $desiredVersion
{
return $True
}
else
{
return $False
}
} catch { } catch {
return $False return $False
} }
@ -247,7 +242,7 @@ function Remove-FileOrDirectory([string] $pathToDelete, [string] $mask = "", [sw
foreach($itemToDelete in $itemsToDelete) foreach($itemToDelete in $itemsToDelete)
{ {
$status = "Deleteing $($itemToDelete)" $status = "Deleting $($itemToDelete)"
Write-Progress -Activity "Removing Items" -Status $status -PercentComplete ($counter++/$itemsToDelete.Count*100) Write-Progress -Activity "Removing Items" -Status $status -PercentComplete ($counter++/$itemsToDelete.Count*100)
if (Test-Path -Path "$($itemToDelete)" -PathType Container) if (Test-Path -Path "$($itemToDelete)" -PathType Container)
@ -321,7 +316,7 @@ function New-Unattend {
<unattend xmlns="urn:schemas-microsoft-com:unattend" <unattend xmlns="urn:schemas-microsoft-com:unattend"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<#REPLACEME#>
<settings pass="auditUser"> <settings pass="auditUser">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous> <RunSynchronous>
@ -362,6 +357,26 @@ function New-Unattend {
</settings> </settings>
</unattend> </unattend>
'@ '@
$specPass = @'
<settings pass="specialize">
<component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CEIPEnabled>0</CEIPEnabled>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ConfigureChatAutoInstall>false</ConfigureChatAutoInstall>
</component>
</settings>
'@
if ((Test-CompatibleImage $imgVersion $([System.Version]::new(10,0,22000,1))) -eq $false)
{
# Replace the placeholder text with an empty string to make it valid for Windows 10 Setup
$unattend = $unattend.Replace("<#REPLACEME#>", "").Trim()
}
else
{
# Replace the placeholder text with the Specialize pass
$unattend = $unattend.Replace("<#REPLACEME#>", $specPass).Trim()
}
$unattend | Out-File -FilePath "$env:temp\unattend.xml" -Force $unattend | Out-File -FilePath "$env:temp\unattend.xml" -Force
} }

View File

@ -60,7 +60,7 @@ public class PowerManagement {
$imgVersion = (Get-WindowsImage -ImagePath $mountDir\sources\install.wim -Index $index).Version $imgVersion = (Get-WindowsImage -ImagePath $mountDir\sources\install.wim -Index $index).Version
# Detect image version to avoid performing MicroWin processing on Windows 8 and earlier # Detect image version to avoid performing MicroWin processing on Windows 8 and earlier
if ((Test-CompatibleImage $imgVersion) -eq $false) if ((Test-CompatibleImage $imgVersion $([System.Version]::new(10,0,10240,0))) -eq $false)
{ {
$msg = "This image is not compatible with MicroWin processing. Make sure it isn't a Windows 8 or earlier image." $msg = "This image is not compatible with MicroWin processing. Make sure it isn't a Windows 8 or earlier image."
$dlg_msg = $msg + "`n`nIf you want more information, the version of the image selected is $($imgVersion)`n`nIf an image has been incorrectly marked as incompatible, report an issue to the developers." $dlg_msg = $msg + "`n`nIf you want more information, the version of the image selected is $($imgVersion)`n`nIf an image has been incorrectly marked as incompatible, report an issue to the developers."

View File

@ -10,7 +10,6 @@
Author : Chris Titus @christitustech Author : Chris Titus @christitustech
Runspace Author: @DeveloperDurp Runspace Author: @DeveloperDurp
GitHub : https://github.com/ChrisTitusTech GitHub : https://github.com/ChrisTitusTech
Version : 24.02.22
#> #>
param ( param (
[switch]$Debug, [switch]$Debug,
@ -751,28 +750,23 @@ function Test-CompatibleImage() {
<# <#
.SYNOPSIS .SYNOPSIS
Checks the version of a Windows image and determines whether or not it is compatible depending on the Major property Checks the version of a Windows image and determines whether or not it is compatible with a specific feature depending on a desired version
.PARAMETER imgVersion .PARAMETER Name
The version of the Windows image imgVersion - The version of the Windows image
desiredVersion - The version to compare the image version with
#> #>
param param
( (
[Parameter(Mandatory = $true)] [string] $imgVersion [Parameter(Mandatory = $true, Position=0)] [string] $imgVersion,
[Parameter(Mandatory = $true, Position=1)] [Version] $desiredVersion
) )
try { try {
$version = [Version]$imgVersion $version = [Version]$imgVersion
if ($version.Major -ge 10) return $version -ge $desiredVersion
{
return $True
}
else
{
return $False
}
} catch { } catch {
return $False return $False
} }
@ -980,7 +974,7 @@ function Remove-FileOrDirectory([string] $pathToDelete, [string] $mask = "", [sw
foreach($itemToDelete in $itemsToDelete) foreach($itemToDelete in $itemsToDelete)
{ {
$status = "Deleteing $($itemToDelete)" $status = "Deleting $($itemToDelete)"
Write-Progress -Activity "Removing Items" -Status $status -PercentComplete ($counter++/$itemsToDelete.Count*100) Write-Progress -Activity "Removing Items" -Status $status -PercentComplete ($counter++/$itemsToDelete.Count*100)
if (Test-Path -Path "$($itemToDelete)" -PathType Container) if (Test-Path -Path "$($itemToDelete)" -PathType Container)
@ -1054,7 +1048,7 @@ function New-Unattend {
<unattend xmlns="urn:schemas-microsoft-com:unattend" <unattend xmlns="urn:schemas-microsoft-com:unattend"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<#REPLACEME#>
<settings pass="auditUser"> <settings pass="auditUser">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous> <RunSynchronous>
@ -1095,6 +1089,26 @@ function New-Unattend {
</settings> </settings>
</unattend> </unattend>
'@ '@
$specPass = @'
<settings pass="specialize">
<component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CEIPEnabled>0</CEIPEnabled>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ConfigureChatAutoInstall>false</ConfigureChatAutoInstall>
</component>
</settings>
'@
if ((Test-CompatibleImage $imgVersion $([System.Version]::new(10,0,22000,1))) -eq $false)
{
# Replace the placeholder text with an empty string to make it valid for Windows 10 Setup
$unattend = $unattend.Replace("<#REPLACEME#>", "").Trim()
}
else
{
# Replace the placeholder text with the Specialize pass
$unattend = $unattend.Replace("<#REPLACEME#>", $specPass).Trim()
}
$unattend | Out-File -FilePath "$env:temp\unattend.xml" -Force $unattend | Out-File -FilePath "$env:temp\unattend.xml" -Force
} }
@ -3430,7 +3444,7 @@ public class PowerManagement {
$imgVersion = (Get-WindowsImage -ImagePath $mountDir\sources\install.wim -Index $index).Version $imgVersion = (Get-WindowsImage -ImagePath $mountDir\sources\install.wim -Index $index).Version
# Detect image version to avoid performing MicroWin processing on Windows 8 and earlier # Detect image version to avoid performing MicroWin processing on Windows 8 and earlier
if ((Test-CompatibleImage $imgVersion) -eq $false) if ((Test-CompatibleImage $imgVersion $([System.Version]::new(10,0,10240,0))) -eq $false)
{ {
$msg = "This image is not compatible with MicroWin processing. Make sure it isn't a Windows 8 or earlier image." $msg = "This image is not compatible with MicroWin processing. Make sure it isn't a Windows 8 or earlier image."
$dlg_msg = $msg + "`n`nIf you want more information, the version of the image selected is $($imgVersion)`n`nIf an image has been incorrectly marked as incompatible, report an issue to the developers." $dlg_msg = $msg + "`n`nIf you want more information, the version of the image selected is $($imgVersion)`n`nIf an image has been incorrectly marked as incompatible, report an issue to the developers."