mirror of
https://github.com/tiennm99/ccs.git
synced 2026-09-02 22:17:14 +00:00
fix(windows): create ccs-uninstall command matching documented behavior
Windows install now creates ccs-uninstall.ps1 instead of uninstall.ps1, matching documented command and Linux/macOS naming convention. Changes: - Copy/download uninstall.ps1 as ccs-uninstall.ps1 directly - Use $PSCommandPath for dynamic self-removal (works with any filename) - Clean up old uninstall.ps1 during upgrades - Maintain cross-platform consistency Fixes issue where Windows users couldn't run documented `ccs-uninstall` command after quick install via irm ccs.kaitran.ca/install.ps1 | iex
This commit is contained in:
+13
-4
@@ -162,17 +162,26 @@ if ($InstallMethod -eq "standalone") {
|
||||
Write-Host "| [OK] Installed ccs.ps1"
|
||||
}
|
||||
|
||||
# Install uninstall script
|
||||
# Install uninstall script as ccs-uninstall.ps1
|
||||
if ($ScriptDir -and (Test-Path "$ScriptDir\uninstall.ps1")) {
|
||||
# Only copy if source and destination are different
|
||||
# Copy uninstall.ps1 as ccs-uninstall.ps1 (similar to Linux symlink approach)
|
||||
if ($ScriptDir -ne $CcsDir) {
|
||||
Copy-Item "$ScriptDir\uninstall.ps1" "$CcsDir\uninstall.ps1" -Force
|
||||
Copy-Item "$ScriptDir\uninstall.ps1" "$CcsDir\ccs-uninstall.ps1" -Force
|
||||
}
|
||||
# Clean up old uninstall.ps1 from previous installations
|
||||
if (Test-Path "$CcsDir\uninstall.ps1") {
|
||||
Remove-Item "$CcsDir\uninstall.ps1" -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
Write-Host "| [OK] Installed uninstaller"
|
||||
} elseif ($InstallMethod -eq "standalone") {
|
||||
try {
|
||||
$BaseUrl = "https://raw.githubusercontent.com/kaitranntt/ccs/main"
|
||||
Invoke-WebRequest -Uri "$BaseUrl/uninstall.ps1" -OutFile "$CcsDir\uninstall.ps1" -UseBasicParsing
|
||||
# Download uninstall.ps1 as ccs-uninstall.ps1
|
||||
Invoke-WebRequest -Uri "$BaseUrl/uninstall.ps1" -OutFile "$CcsDir\ccs-uninstall.ps1" -UseBasicParsing
|
||||
# Clean up old uninstall.ps1 from previous installations
|
||||
if (Test-Path "$CcsDir\uninstall.ps1") {
|
||||
Remove-Item "$CcsDir\uninstall.ps1" -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
Write-Host "| [OK] Installed uninstaller"
|
||||
} catch {
|
||||
Write-Host "| [!] Could not download uninstaller (optional)"
|
||||
|
||||
+3
-3
@@ -16,8 +16,8 @@ if (Test-Path "$CcsDir\ccs.ps1") {
|
||||
Write-Host "[i] No ccs.ps1 found at $CcsDir"
|
||||
}
|
||||
|
||||
# Remove uninstall script itself (will be last)
|
||||
$UninstallScript = "$CcsDir\uninstall.ps1"
|
||||
# Get this script's path for self-removal (works whether named uninstall.ps1 or ccs-uninstall.ps1)
|
||||
$UninstallScript = $PSCommandPath
|
||||
|
||||
# Remove from PATH
|
||||
$UserPath = [Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::User)
|
||||
@@ -40,7 +40,7 @@ if (Test-Path $CcsDir) {
|
||||
Remove-Item $CcsDir -Recurse -Force
|
||||
Write-Host "[OK] Removed: $CcsDir"
|
||||
} else {
|
||||
# If keeping directory, remove uninstall script
|
||||
# If keeping directory, remove this uninstall script
|
||||
if (Test-Path $UninstallScript) {
|
||||
Remove-Item $UninstallScript -Force
|
||||
Write-Host "[OK] Removed: $UninstallScript"
|
||||
|
||||
Reference in New Issue
Block a user