summaryrefslogtreecommitdiff
path: root/scripts/setup/windows
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-01-24 04:41:19 +0800
committer魏曹先生 <1992414357@qq.com>2026-01-24 04:41:19 +0800
commit2b41209f2b76d4067867be466bdcfed478ff3f39 (patch)
tree7f232e5f468ceb4b40f0c1506a167c4de6236657 /scripts/setup/windows
parent4c77a05993d40c42ebe78c1d3a72f8049f360982 (diff)
Move setup scripts to scripts/setup directory
Diffstat (limited to 'scripts/setup/windows')
-rw-r--r--scripts/setup/windows/inst.ps119
-rw-r--r--scripts/setup/windows/uninst.ps139
2 files changed, 58 insertions, 0 deletions
diff --git a/scripts/setup/windows/inst.ps1 b/scripts/setup/windows/inst.ps1
new file mode 100644
index 0000000..4cb4772
--- /dev/null
+++ b/scripts/setup/windows/inst.ps1
@@ -0,0 +1,19 @@
+# Execute uninstall script, attempt to remove leftover PROFILE entries
+. ".\uninst.ps1"
+
+# Calculate directories
+$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
+$parentDir = Split-Path -Parent $scriptDir
+
+# Write configuration to PROFILE
+Add-Content -Path $PROFILE -Value "# JustEnoughVCS - Begin #"
+Add-Content -Path $PROFILE -Value ". `"$parentDir\jv_cli.ps1`""
+Add-Content -Path $PROFILE -Value "# JustEnoughVCS - End #"
+
+# Check dependencies, if OpenSSL is not found, show a prompt
+try {
+ $null = Get-Command openssl -ErrorAction Stop
+} catch {
+ $wshell = New-Object -ComObject Wscript.Shell
+ $wshell.Popup("OpenSSL was not found on your computer. JustEnoughVCS key generation depends on OpenSSL.", 0, "JustEnoughVCS Installation", 0x0 + 0x30)
+}
diff --git a/scripts/setup/windows/uninst.ps1 b/scripts/setup/windows/uninst.ps1
new file mode 100644
index 0000000..d5c898d
--- /dev/null
+++ b/scripts/setup/windows/uninst.ps1
@@ -0,0 +1,39 @@
+$profileContent = Get-Content $PROFILE -ErrorAction SilentlyContinue
+if ($profileContent) {
+ $startMarker = "# JustEnoughVCS - Begin #"
+ $endMarker = "# JustEnoughVCS - End #"
+ $newContent = @()
+ $insideBlock = $false
+ $foundStart = $false
+
+ foreach ($line in $profileContent) {
+ if ($line.Trim() -eq $startMarker) {
+ $insideBlock = $true
+ $foundStart = $true
+ continue
+ }
+ if ($line.Trim() -eq $endMarker) {
+ $insideBlock = $false
+ continue
+ }
+ if (-not $insideBlock) {
+ $newContent += $line
+ }
+ }
+
+ if ($foundStart -and $insideBlock) {
+ $newContent = @()
+ $insideBlock = $false
+ foreach ($line in $profileContent) {
+ if ($line.Trim() -eq $startMarker) {
+ $insideBlock = $true
+ continue
+ }
+ if (-not $insideBlock) {
+ $newContent += $line
+ }
+ }
+ }
+
+ $newContent | Set-Content $PROFILE
+}