132 lines
4.5 KiB
PowerShell
132 lines
4.5 KiB
PowerShell
# Check if the script is running as administrator
|
|
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
|
|
# If not running as administrator, attempt to restart with elevation
|
|
Write-Host "This script needs to run with Administrator privileges. Please Run again"
|
|
Exit
|
|
}
|
|
|
|
# download git via winget since we need to get this.
|
|
|
|
Write-Host "Making sure you have git"
|
|
|
|
winget install Git.Git
|
|
|
|
# Download all the software
|
|
|
|
Write-Host "Creating Win95 Directory"
|
|
|
|
$folderPath = "C:\Program Files\Win95"
|
|
|
|
if (-not (Test-Path $folderPath -PathType Container)) {
|
|
New-Item -Path $folderPath -ItemType Directory -Force
|
|
Write-Host "Folder '$folderPath' created successfully."
|
|
} else {
|
|
Write-Host "Folder '$folderPath' already exists."
|
|
}
|
|
|
|
Write-Host "Downloading Wallpapers"
|
|
|
|
git clone https://git.tcmeta.net/kurtis/chicago95-wallpapers.git "$folderPath\Wallpapers"
|
|
|
|
Write-Host "Downloading Icons"
|
|
|
|
git clone https://git.tcmeta.net/kurtis/win95-icons.git "$folderPath\Icons"
|
|
|
|
Write-Host "Downloading Sounds"
|
|
|
|
git clone https://git.tcmeta.net/kurtis/win95-sounds.git "$folderPath\Sounds"
|
|
|
|
Write-Host "Downloading Login Screen"
|
|
$download = "https://git.tcmeta.net/kurtis/win95ify-11/raw/branch/main/login.png"
|
|
Invoke-WebRequest $download -Out "$folderPath\login.png"
|
|
|
|
|
|
Write-Host "Downloading Latest HackBRGT"
|
|
$tempPath = Join-Path $env:TEMP "hackgrbt.zip"
|
|
$releases = "https://api.github.com/repos/Metabolix/HackBGRT/releases"
|
|
$tag = (Invoke-WebRequest $releases | ConvertFrom-Json)[0].tag_name
|
|
$download = "https://github.com/Metabolix/HackBGRT/releases/download/$tag/HackBGRT-$($tag.SubString(1)).zip"
|
|
Invoke-WebRequest $download -Out $tempPath
|
|
|
|
Write-Host "Unzipping"
|
|
Expand-Archive $tempPath -DestinationPath "$folderPath" -Force
|
|
Write-Host "Removing Temp"
|
|
Remove-Item $tempPath -Force
|
|
Write-Host "Downloading Custom Logo"
|
|
$download = "https://git.tcmeta.net/kurtis/win95ify-11/raw/branch/main/splash.bmp"
|
|
Invoke-WebRequest $download -Out "$folderPath\HackBGRT-$($tag.SubString(1))\splash.bmp"
|
|
Write-Host "Starting Boot Screen setup."
|
|
Start-Process "$folderPath\HackBGRT-$($tag.SubString(1))\setup.exe"
|
|
pause
|
|
#Okay now lets start to install the essentials
|
|
|
|
Write-Host "Installing RetroBar"
|
|
|
|
winget install dremin.RetroBar
|
|
|
|
Start-Process "$ENV:LOCALAPPDATA\Programs\RetroBar\RetroBar.exe"
|
|
|
|
Write-Host "Installing OpenShell in interactive mode"
|
|
winget install Open-Shell.Open-Shell-Menu -i
|
|
|
|
# okay now we need to apply wallpapers and also other stuff
|
|
|
|
# need to download and install the latest clippy ai
|
|
|
|
|
|
|
|
Write-Host "Updating Wallpaper"
|
|
|
|
Function Set-WallPaper($Image) {
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
Applies a specified wallpaper to the current user's desktop
|
|
|
|
.PARAMETER Image
|
|
Provide the exact path to the image
|
|
|
|
.EXAMPLE
|
|
Set-WallPaper -Image "C:\Wallpaper\Default.jpg"
|
|
|
|
#>
|
|
|
|
Add-Type -TypeDefinition @"
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
public class Params
|
|
{
|
|
[DllImport("User32.dll",CharSet=CharSet.Unicode)]
|
|
public static extern int SystemParametersInfo (Int32 uAction,
|
|
Int32 uParam,
|
|
String lpvParam,
|
|
Int32 fuWinIni);
|
|
}
|
|
"@
|
|
|
|
$SPI_SETDESKWALLPAPER = 0x0014
|
|
$UpdateIniFile = 0x01
|
|
$SendChangeEvent = 0x02
|
|
|
|
$fWinIni = $UpdateIniFile -bor $SendChangeEvent
|
|
|
|
$ret = [Params]::SystemParametersInfo($SPI_SETDESKWALLPAPER, 0, $Image, $fWinIni)
|
|
|
|
}
|
|
Set-WallPaper("$folderPath\Wallpapers\default.png")
|
|
|
|
Write-Host "Changing to lite mode (if not already done)"
|
|
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 1 -Type Dword -Force
|
|
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 1 -Type Dword -Force
|
|
|
|
Write-Host "Updating Login Screen"
|
|
|
|
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization" /V "LockScreenImage" /T REG_SZ /D "$folderPath\login.png" /F
|
|
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP" /V "LockScreenImageStatus" /T REG_DWORD /D "00000001" /F
|
|
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP" /V "LockScreenImagePath" /T REG_SZ /D "$folderPath\login.png" /F
|
|
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP" /V "LockScreenImageUrl" /T REG_SZ /D "$folderPath\login.png" /F
|
|
|
|
|
|
# Update icons
|