From a9094d34ddc31849195130692dd9c014386add03 Mon Sep 17 00:00:00 2001 From: Vaggelis kavouras Date: Sun, 29 Dec 2024 00:39:01 +0200 Subject: [PATCH] docs: enhance Windows installation instructions and features in README.md; improve PowerShell script for admin rights detection and user feedback - Updated README.md to include new Windows installation features and manual installation instructions. - Enhanced PowerShell installation script (install.ps1) to detect PowerShell version, handle elevation more effectively, and provide clearer user prompts for admin rights. --- README.md | 44 +++++++++++++++++++++++++++++++++++++++++--- scripts/install.ps1 | 37 +++++++++++++++++++++++++++---------- 2 files changed, 68 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 2d4eea2..ce7dcbd 100644 --- a/README.md +++ b/README.md @@ -63,11 +63,17 @@ this is a mistake. curl -fsSL https://raw.githubusercontent.com/dacrab/go-cursor-help/master/scripts/install.sh | sudo bash ``` -**Windows**: Copy and paste in PowerShell (Admin) +**Windows**: Copy and paste in PowerShell ```powershell irm https://raw.githubusercontent.com/dacrab/go-cursor-help/master/scripts/install.ps1 | iex ``` +#### Windows Installation Features: +- 🔍 Automatically detects and uses PowerShell 7 if available +- 🛡️ Requests administrator privileges via UAC prompt +- 📝 Falls back to Windows PowerShell if PS7 isn't found +- 💡 Provides manual instructions if elevation fails + That's it! The script will: 1. ✨ Install the tool automatically 2. 🔄 Reset your Cursor trial immediately @@ -175,15 +181,47 @@ this is a mistake. curl -fsSL https://raw.githubusercontent.com/dacrab/go-cursor-help/master/scripts/install.sh | sudo bash ``` -**Windows**: 在PowerShell(管理员)中复制粘贴 +**Windows**: 在PowerShell中复制粘贴 ```powershell irm https://raw.githubusercontent.com/dacrab/go-cursor-help/master/scripts/install.ps1 | iex ``` -就这样!脚本会: +#### Windows 安装特性: +- 🔍 自动检测并使用 PowerShell 7(如果可用) +- 🛡️ 通过 UAC 提示请求管理员权限 +- 📝 如果没有 PS7 则使用 Windows PowerShell +- 💡 如果提权失败会提供手动说明 + +That's it! The script will: 1. ✨ 自动安装工具 2. 🔄 立即重置Cursor试用期 +### 📦 Manual Installation + +> Download the appropriate file for your system from [releases](https://github.com/dacrab/go-cursor-help/releases/latest) + +
+Windows Packages + +- 64-bit: `cursor-id-modifier_windows_x64.exe` +- 32-bit: `cursor-id-modifier_windows_x86.exe` +
+ +
+macOS Packages + +- Intel: `cursor-id-modifier_darwin_x64_intel` +- M1/M2: `cursor-id-modifier_darwin_arm64_apple_silicon` +
+ +
+Linux Packages + +- 64-bit: `cursor-id-modifier_linux_x64` +- 32-bit: `cursor-id-modifier_linux_x86` +- ARM64: `cursor-id-modifier_linux_arm64` +
+ ### 🔧 技术细节
diff --git a/scripts/install.ps1 b/scripts/install.ps1 index e25a82b..a92fc1f 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -1,15 +1,30 @@ -# Auto-elevate to admin rights if not already running as admin +# Check for admin rights and handle elevation $isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") if (-NOT $isAdmin) { + # Detect PowerShell version and path + $pwshPath = if (Get-Command "pwsh" -ErrorAction SilentlyContinue) { + (Get-Command "pwsh").Source # PowerShell 7+ + } elseif (Test-Path "$env:ProgramFiles\PowerShell\7\pwsh.exe") { + "$env:ProgramFiles\PowerShell\7\pwsh.exe" + } else { + "powershell.exe" # Windows PowerShell + } + try { - Write-Host "Requesting administrator privileges..." -ForegroundColor Cyan - $argList = "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" - Start-Process powershell.exe -Verb RunAs -ArgumentList $argList -Wait + Write-Host "`nRequesting administrator privileges..." -ForegroundColor Cyan + $scriptPath = $MyInvocation.MyCommand.Path + $argList = "-NoProfile -ExecutionPolicy Bypass -File `"$scriptPath`"" + Start-Process -FilePath $pwshPath -Verb RunAs -ArgumentList $argList -Wait exit } catch { - Write-Host "Failed to get admin rights. Please run as Administrator." -ForegroundColor Red - Write-Host "Press any key to exit..." + Write-Host "`nError: Administrator privileges required" -ForegroundColor Red + Write-Host "Please run this script from an Administrator PowerShell window" -ForegroundColor Yellow + Write-Host "`nTo do this:" -ForegroundColor Cyan + Write-Host "1. Press Win + X" -ForegroundColor White + Write-Host "2. Click 'Windows Terminal (Admin)' or 'PowerShell (Admin)'" -ForegroundColor White + Write-Host "3. Run the installation command again" -ForegroundColor White + Write-Host "`nPress enter to exit..." $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') exit 1 } @@ -33,7 +48,7 @@ function Cleanup { trap { Write-Host "Error: $_" -ForegroundColor Red Cleanup - Write-Host "Press any key to exit..." + Write-Host "Press enter to exit..." $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') exit 1 } @@ -165,12 +180,14 @@ try { catch { Write-Host "Installation failed: $_" -ForegroundColor Red Cleanup - Write-Host "Press any key to exit..." + Write-Host "Press enter to exit..." $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') exit 1 } finally { Cleanup - Write-Host "Press any key to exit..." -ForegroundColor Green - $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') + if ($LASTEXITCODE -ne 0) { + Write-Host "Press enter to exit..." -ForegroundColor Green + $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') + } } \ No newline at end of file