Files
win95ify-11/start.ps1
Kurtis 58620b1370 Update
Have added more to script
have added custom login screen
2025-10-27 00:32:25 +10:00

124 lines
3.9 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
# Update icons