-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSetup.ps1
More file actions
46 lines (39 loc) · 1.63 KB
/
Copy pathSetup.ps1
File metadata and controls
46 lines (39 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<#
.SYNOPSIS
Installer script for CopyAlert.
#>
$AppName = "CopyAlert"
$ExeName = "CopyAlert.exe"
$InstallDir = Join-Path $env:LOCALAPPDATA $AppName
$ShortcutName = "$AppName.lnk"
# 1. Create Install Directory
if (-not (Test-Path $InstallDir)) {
New-Item -Path $InstallDir -ItemType Directory -Force
}
# 2. Copy Files
Write-Host "Installing $AppName to $InstallDir..." -ForegroundColor Cyan
Copy-Item -Path ".\$ExeName" -Destination "$InstallDir\$ExeName" -Force
if (Test-Path ".\CopyAlert_Logo.png") {
Copy-Item -Path ".\CopyAlert_Logo.png" -Destination "$InstallDir\CopyAlert_Logo.png" -Force
}
if (Test-Path ".\LICENSE") {
Copy-Item -Path ".\LICENSE" -Destination "$InstallDir\LICENSE" -Force
}
# 3. Create Shortcuts
$WshShell = New-Object -ComObject WScript.Shell
# Desktop Shortcut
$DesktopPath = [Environment]::GetFolderPath("Desktop")
$DesktopShortcut = $WshShell.CreateShortcut(Join-Path $DesktopPath $ShortcutName)
$DesktopShortcut.TargetPath = Join-Path $InstallDir $ExeName
$DesktopShortcut.WorkingDirectory = $InstallDir
$DesktopShortcut.IconLocation = Join-Path $InstallDir $ExeName # Uses embedded icon
$DesktopShortcut.Save()
# Start Menu Shortcut
$StartMenuPath = [Environment]::GetFolderPath("StartMenu")
$ProgramsPath = Join-Path $StartMenuPath "Programs"
$StartMenuShortcut = $WshShell.CreateShortcut(Join-Path $ProgramsPath $ShortcutName)
$StartMenuShortcut.TargetPath = Join-Path $InstallDir $ExeName
$StartMenuShortcut.WorkingDirectory = $InstallDir
$StartMenuShortcut.Save()
Write-Host "$AppName installed successfully!" -ForegroundColor Green
Write-Host "Shortcuts created on Desktop and Start Menu." -ForegroundColor Gray