Skip to content

Commit 63c938e

Browse files
authored
fix: windows uninstall not force close app (#4459)
1 parent bde35b4 commit 63c938e

File tree

4 files changed

+71
-114
lines changed

4 files changed

+71
-114
lines changed

.github/scripts/rename-uninstaller.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ if [ ! -f "$FILE_PATH" ]; then
1818
fi
1919

2020
# Perform the replacements
21+
sed -i -e "s#Jan#Jan-$CHANNEL#g" "$FILE_PATH"
2122
sed -i -e "s#jan#jan-$CHANNEL#g" "$FILE_PATH"
2223

2324
# Notify completion

electron/scripts/uninstaller.nsh

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,44 @@
33
XPStyle on
44

55
!macro customUnInstall
6-
; Uninstall process execution
7-
${ifNot} ${isUpdated}
8-
# If you tick Delete fixed folder
9-
MessageBox MB_OKCANCEL "Do you also want to delete the DEFAULT Jan data folder at $PROFILE\jan?" IDOK label_ok IDCANCEL label_cancel
10-
label_ok:
11-
# Delete user data folder
12-
RMDir /r $PROFILE\jan
13-
Goto end
14-
label_cancel:
15-
Goto end
16-
end:
17-
${endIf}
6+
${ifNot} ${isUpdated}
7+
; Define the process name of your Electron app
8+
StrCpy $0 "Jan.exe"
9+
10+
; Check if the application is running
11+
nsExec::ExecToStack 'tasklist /FI "IMAGENAME eq $0" /NH'
12+
Pop $1
13+
14+
StrCmp $1 "" notRunning
15+
16+
; If the app is running, notify the user and attempt to close it
17+
MessageBox MB_OK "Jan is being uninstalled, force close app." IDOK forceClose
18+
19+
forceClose:
20+
; Attempt to kill the running application
21+
nsExec::ExecToStack 'taskkill /F /IM $0'
22+
Pop $1
23+
24+
; Proceed with uninstallation
25+
Goto continueUninstall
26+
27+
notRunning:
28+
; If the app is not running, proceed with uninstallation
29+
Goto continueUninstall
30+
31+
continueUninstall:
32+
; Proceed with uninstallation
33+
DeleteRegKey HKLM "Software\Jan"
34+
RMDir /r "$INSTDIR"
35+
Delete "$INSTDIR\*.*"
36+
37+
; Clean up shortcuts and app data
38+
Delete "$DESKTOP\Jan.lnk"
39+
Delete "$STARTMENU\Programs\Jan.lnk"
40+
RMDir /r "$APPDATA\Jan"
41+
RMDir /r "$LOCALAPPDATA\jan-updater"
42+
43+
; Close the uninstaller
44+
Quit
45+
${endIf}
1846
!macroend

extensions/yarn.lock

Lines changed: 16 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -509,71 +509,61 @@ __metadata:
509509

510510
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fassistant-extension%40workspace%3Aassistant-extension":
511511
version: 0.1.10
512-
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fassistant-extension%40workspace%3Aassistant-extension"
512+
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=7dd866&locator=%40janhq%2Fassistant-extension%40workspace%3Aassistant-extension"
513513
dependencies:
514514
rxjs: "npm:^7.8.1"
515515
ulidx: "npm:^2.3.0"
516-
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
516+
checksum: 10c0/da0eed6e552ce2ff6f52a087e6e221101c3d0c03d92820840ee80c3ca1a17317a66525cb5bf59b6c1e8bd2e36e54763008f97e13000ae339dac49f5682fcfa65
517517
languageName: node
518518
linkType: hard
519519

520520
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fconversational-extension%40workspace%3Aconversational-extension":
521521
version: 0.1.10
522-
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fconversational-extension%40workspace%3Aconversational-extension"
522+
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=7dd866&locator=%40janhq%2Fconversational-extension%40workspace%3Aconversational-extension"
523523
dependencies:
524524
rxjs: "npm:^7.8.1"
525525
ulidx: "npm:^2.3.0"
526-
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
526+
checksum: 10c0/da0eed6e552ce2ff6f52a087e6e221101c3d0c03d92820840ee80c3ca1a17317a66525cb5bf59b6c1e8bd2e36e54763008f97e13000ae339dac49f5682fcfa65
527527
languageName: node
528528
linkType: hard
529529

530530
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fengine-management-extension%40workspace%3Aengine-management-extension":
531531
version: 0.1.10
532-
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fengine-management-extension%40workspace%3Aengine-management-extension"
532+
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=7dd866&locator=%40janhq%2Fengine-management-extension%40workspace%3Aengine-management-extension"
533533
dependencies:
534534
rxjs: "npm:^7.8.1"
535535
ulidx: "npm:^2.3.0"
536-
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
536+
checksum: 10c0/da0eed6e552ce2ff6f52a087e6e221101c3d0c03d92820840ee80c3ca1a17317a66525cb5bf59b6c1e8bd2e36e54763008f97e13000ae339dac49f5682fcfa65
537537
languageName: node
538538
linkType: hard
539539

540540
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Finference-cortex-extension%40workspace%3Ainference-cortex-extension":
541541
version: 0.1.10
542-
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Finference-cortex-extension%40workspace%3Ainference-cortex-extension"
542+
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=7dd866&locator=%40janhq%2Finference-cortex-extension%40workspace%3Ainference-cortex-extension"
543543
dependencies:
544544
rxjs: "npm:^7.8.1"
545545
ulidx: "npm:^2.3.0"
546-
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
546+
checksum: 10c0/da0eed6e552ce2ff6f52a087e6e221101c3d0c03d92820840ee80c3ca1a17317a66525cb5bf59b6c1e8bd2e36e54763008f97e13000ae339dac49f5682fcfa65
547547
languageName: node
548548
linkType: hard
549549

550550
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fmodel-extension%40workspace%3Amodel-extension":
551551
version: 0.1.10
552-
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fmodel-extension%40workspace%3Amodel-extension"
552+
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=7dd866&locator=%40janhq%2Fmodel-extension%40workspace%3Amodel-extension"
553553
dependencies:
554554
rxjs: "npm:^7.8.1"
555555
ulidx: "npm:^2.3.0"
556-
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
556+
checksum: 10c0/da0eed6e552ce2ff6f52a087e6e221101c3d0c03d92820840ee80c3ca1a17317a66525cb5bf59b6c1e8bd2e36e54763008f97e13000ae339dac49f5682fcfa65
557557
languageName: node
558558
linkType: hard
559559

560560
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fmonitoring-extension%40workspace%3Amonitoring-extension":
561561
version: 0.1.10
562-
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fmonitoring-extension%40workspace%3Amonitoring-extension"
562+
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=7dd866&locator=%40janhq%2Fmonitoring-extension%40workspace%3Amonitoring-extension"
563563
dependencies:
564564
rxjs: "npm:^7.8.1"
565565
ulidx: "npm:^2.3.0"
566-
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
567-
languageName: node
568-
linkType: hard
569-
570-
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Ftensorrt-llm-extension%40workspace%3Atensorrt-llm-extension":
571-
version: 0.1.10
572-
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Ftensorrt-llm-extension%40workspace%3Atensorrt-llm-extension"
573-
dependencies:
574-
rxjs: "npm:^7.8.1"
575-
ulidx: "npm:^2.3.0"
576-
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
566+
checksum: 10c0/da0eed6e552ce2ff6f52a087e6e221101c3d0c03d92820840ee80c3ca1a17317a66525cb5bf59b6c1e8bd2e36e54763008f97e13000ae339dac49f5682fcfa65
577567
languageName: node
578568
linkType: hard
579569

@@ -657,35 +647,6 @@ __metadata:
657647
languageName: unknown
658648
linkType: soft
659649

660-
"@janhq/tensorrt-llm-extension@workspace:tensorrt-llm-extension":
661-
version: 0.0.0-use.local
662-
resolution: "@janhq/tensorrt-llm-extension@workspace:tensorrt-llm-extension"
663-
dependencies:
664-
"@janhq/core": ../../core/package.tgz
665-
"@types/decompress": "npm:4.2.7"
666-
"@types/jest": "npm:^29.5.12"
667-
"@types/node": "npm:^20.11.4"
668-
"@types/os-utils": "npm:^0.0.4"
669-
"@types/tcp-port-used": "npm:^1.0.4"
670-
cpx: "npm:^1.5.0"
671-
decompress: "npm:^4.2.1"
672-
download-cli: "npm:^1.1.1"
673-
fetch-retry: "npm:^5.0.6"
674-
jest: "npm:^29.7.0"
675-
jest-junit: "npm:^16.0.0"
676-
jest-runner: "npm:^29.7.0"
677-
rimraf: "npm:^3.0.2"
678-
rolldown: "npm:1.0.0-beta.1"
679-
run-script-os: "npm:^1.1.6"
680-
rxjs: "npm:^7.8.1"
681-
tcp-port-used: "npm:^1.0.2"
682-
terminate: "npm:^2.6.1"
683-
ts-jest: "npm:^29.2.5"
684-
typescript: "npm:^5.2.2"
685-
ulidx: "npm:^2.3.0"
686-
languageName: unknown
687-
linkType: soft
688-
689650
"@jest/console@npm:^29.7.0":
690651
version: 29.7.0
691652
resolution: "@jest/console@npm:29.7.0"
@@ -1844,7 +1805,7 @@ __metadata:
18441805
languageName: node
18451806
linkType: hard
18461807

1847-
"@types/decompress@npm:4.2.7, @types/decompress@npm:^4.2.7":
1808+
"@types/decompress@npm:^4.2.7":
18481809
version: 4.2.7
18491810
resolution: "@types/decompress@npm:4.2.7"
18501811
dependencies:
@@ -4785,18 +4746,6 @@ __metadata:
47854746
languageName: node
47864747
linkType: hard
47874748

4788-
"jest-junit@npm:^16.0.0":
4789-
version: 16.0.0
4790-
resolution: "jest-junit@npm:16.0.0"
4791-
dependencies:
4792-
mkdirp: "npm:^1.0.4"
4793-
strip-ansi: "npm:^6.0.1"
4794-
uuid: "npm:^8.3.2"
4795-
xml: "npm:^1.0.1"
4796-
checksum: 10c0/d813d4d142341c2b51b634db7ad6ceb9849514cb58f96ec5e7e4cf4031a557133490452710c2d9dec9b1dd546334d9ca663e042d3070c3e8f102ce6217bd8e2e
4797-
languageName: node
4798-
linkType: hard
4799-
48004749
"jest-leak-detector@npm:^29.7.0":
48014750
version: 29.7.0
48024751
resolution: "jest-leak-detector@npm:29.7.0"
@@ -5830,15 +5779,6 @@ __metadata:
58305779
languageName: node
58315780
linkType: hard
58325781

5833-
"mkdirp@npm:^1.0.4":
5834-
version: 1.0.4
5835-
resolution: "mkdirp@npm:1.0.4"
5836-
bin:
5837-
mkdirp: bin/cmd.js
5838-
checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf
5839-
languageName: node
5840-
linkType: hard
5841-
58425782
"mkdirp@npm:^3.0.1":
58435783
version: 3.0.1
58445784
resolution: "mkdirp@npm:3.0.1"
@@ -7655,15 +7595,6 @@ __metadata:
76557595
languageName: node
76567596
linkType: hard
76577597

7658-
"terminate@npm:^2.6.1":
7659-
version: 2.8.0
7660-
resolution: "terminate@npm:2.8.0"
7661-
dependencies:
7662-
ps-tree: "npm:^1.2.0"
7663-
checksum: 10c0/ae5956b48e34d3c0da3d74eebfcfc20ed49e735ce008c3b7260368bc96b69249c97089982e88da3c649f6827c8f91ddb2dd8f8597cef1da564035827af6b74e4
7664-
languageName: node
7665-
linkType: hard
7666-
76677598
"test-exclude@npm:^6.0.0":
76687599
version: 6.0.0
76697600
resolution: "test-exclude@npm:6.0.0"
@@ -7766,7 +7697,7 @@ __metadata:
77667697
languageName: node
77677698
linkType: hard
77687699

7769-
"ts-jest@npm:^29.1.2, ts-jest@npm:^29.2.5":
7700+
"ts-jest@npm:^29.1.2":
77707701
version: 29.2.5
77717702
resolution: "ts-jest@npm:29.2.5"
77727703
dependencies:
@@ -7859,7 +7790,7 @@ __metadata:
78597790
languageName: node
78607791
linkType: hard
78617792

7862-
"typescript@npm:^5.2.2, typescript@npm:^5.3.3, typescript@npm:^5.7.2":
7793+
"typescript@npm:^5.3.3, typescript@npm:^5.7.2":
78637794
version: 5.7.2
78647795
resolution: "typescript@npm:5.7.2"
78657796
bin:
@@ -7879,7 +7810,7 @@ __metadata:
78797810
languageName: node
78807811
linkType: hard
78817812

7882-
"typescript@patch:typescript@npm%3A^5.2.2#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.7.2#optional!builtin<compat/typescript>":
7813+
"typescript@patch:typescript@npm%3A^5.3.3#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.7.2#optional!builtin<compat/typescript>":
78837814
version: 5.7.2
78847815
resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin<compat/typescript>::version=5.7.2&hash=5786d5"
78857816
bin:
@@ -8029,15 +7960,6 @@ __metadata:
80297960
languageName: node
80307961
linkType: hard
80317962

8032-
"uuid@npm:^8.3.2":
8033-
version: 8.3.2
8034-
resolution: "uuid@npm:8.3.2"
8035-
bin:
8036-
uuid: dist/bin/uuid
8037-
checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54
8038-
languageName: node
8039-
linkType: hard
8040-
80417963
"uuid@npm:^9.0.0":
80427964
version: 9.0.1
80437965
resolution: "uuid@npm:9.0.1"
@@ -8169,13 +8091,6 @@ __metadata:
81698091
languageName: node
81708092
linkType: hard
81718093

8172-
"xml@npm:^1.0.1":
8173-
version: 1.0.1
8174-
resolution: "xml@npm:1.0.1"
8175-
checksum: 10c0/04bcc9b8b5e7b49392072fbd9c6b0f0958bd8e8f8606fee460318e43991349a68cbc5384038d179ff15aef7d222285f69ca0f067f53d071084eb14c7fdb30411
8176-
languageName: node
8177-
linkType: hard
8178-
81798094
"xtend@npm:^4.0.0":
81808095
version: 4.0.2
81818096
resolution: "xtend@npm:4.0.2"

yarn.lock

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,20 @@ __metadata:
431431
languageName: node
432432
linkType: hard
433433

434-
"@electron/asar@npm:^3.2.1, @electron/asar@npm:^3.2.4":
434+
"@electron/asar@npm:^3.2.1":
435+
version: 3.2.18
436+
resolution: "@electron/asar@npm:3.2.18"
437+
dependencies:
438+
commander: "npm:^5.0.0"
439+
glob: "npm:^7.1.6"
440+
minimatch: "npm:^3.0.4"
441+
bin:
442+
asar: bin/asar.js
443+
checksum: 10c0/c124cb6d35740eb8efbcd9c2da3971833f63bbfd0cae66747b2d1ccedc88fc1fc667e2f6ce4362f9211d853af269b907b2d2eb9a04ed34565576f6c7f93281b2
444+
languageName: node
445+
linkType: hard
446+
447+
"@electron/asar@npm:^3.2.4":
435448
version: 3.2.17
436449
resolution: "@electron/asar@npm:3.2.17"
437450
dependencies:

0 commit comments

Comments
 (0)