Skip to content

Commit a609b69

Browse files
Testclaude
andcommitted
feat(installer): add verification and summary step
- Add VerifyInstallation function that checks: - MCPB binary exists in install directory - Config directory exists (~/.mcpb/) - Config file exists (~/.mcpb/config.json) - Claude Desktop config exists (warning if not) - Uninstaller exists in install directory - Show summary MessageBox in GUI mode with all verification results - Use DetailPrint in silent mode for logging - Provides user with clear feedback on what was installed 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ed168e2 commit a609b69

File tree

2 files changed

+145
-1
lines changed

2 files changed

+145
-1
lines changed

scripts/installer/mcpb-installer.nsi

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ Var ErrorMessage
6161
Var SilentMode
6262
Var AuthSuccess
6363
Var ClaudeIntegrationFailed
64+
Var VerifyBinary
65+
Var VerifyConfigDir
66+
Var VerifyConfigFile
67+
Var VerifyClaudeConfig
68+
Var VerifyUninstaller
6469

6570
;--------------------------------
6671
; MUI Settings
@@ -312,6 +317,9 @@ Section "Install MCPB" SecInstall
312317
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MCPB" "NoRepair" 1
313318
DetailPrint "Add/Remove Programs registry entries created"
314319

320+
; Verify installation and show summary
321+
Call VerifyInstallation
322+
315323
DetailPrint "MCPB installation completed successfully"
316324

317325
${If} $SilentMode == "1"
@@ -598,6 +606,142 @@ Function IntegrateWithClaudeDesktop
598606
DetailPrint "Claude Desktop configured with MCPB integration"
599607
FunctionEnd
600608

609+
;--------------------------------
610+
; Verification and Summary Function
611+
612+
Function VerifyInstallation
613+
DetailPrint "Verifying installation..."
614+
615+
; Initialize all verification variables to FAILED
616+
StrCpy $VerifyBinary "FAILED"
617+
StrCpy $VerifyConfigDir "FAILED"
618+
StrCpy $VerifyConfigFile "FAILED"
619+
StrCpy $VerifyClaudeConfig "FAILED"
620+
StrCpy $VerifyUninstaller "FAILED"
621+
622+
; Check MCPB binary
623+
IfFileExists "C:\\mcpb\\server\\mcpb-windows-x64.exe" 0 +3
624+
StrCpy $VerifyBinary "OK"
625+
DetailPrint "[OK] MCPB binary exists"
626+
Goto check_config_dir
627+
DetailPrint "[FAILED] MCPB binary not found"
628+
629+
check_config_dir:
630+
; Check configuration directory
631+
IfFileExists "$PROFILE\\.mcpb\\*.*" 0 +3
632+
StrCpy $VerifyConfigDir "OK"
633+
DetailPrint "[OK] Configuration directory exists"
634+
Goto check_config_file
635+
DetailPrint "[FAILED] Configuration directory not found"
636+
637+
check_config_file:
638+
; Check configuration file
639+
IfFileExists "$PROFILE\\.mcpb\\config.json" 0 +3
640+
StrCpy $VerifyConfigFile "OK"
641+
DetailPrint "[OK] Configuration file exists"
642+
Goto check_claude_config
643+
DetailPrint "[FAILED] Configuration file not found"
644+
645+
check_claude_config:
646+
; Check Claude Desktop config (or check if integration failed)
647+
${If} $ClaudeIntegrationFailed == "1"
648+
StrCpy $VerifyClaudeConfig "WARNING"
649+
DetailPrint "[WARNING] Claude Desktop integration failed"
650+
${Else}
651+
IfFileExists "$APPDATA\\Claude\\claude_desktop_config.json" 0 +3
652+
StrCpy $VerifyClaudeConfig "OK"
653+
DetailPrint "[OK] Claude Desktop config exists"
654+
Goto check_uninstaller
655+
StrCpy $VerifyClaudeConfig "WARNING"
656+
DetailPrint "[WARNING] Claude Desktop config not found"
657+
${EndIf}
658+
659+
check_uninstaller:
660+
; Check uninstaller
661+
IfFileExists "$INSTDIR\\uninstall.exe" 0 +3
662+
StrCpy $VerifyUninstaller "OK"
663+
DetailPrint "[OK] Uninstaller exists"
664+
Goto show_summary
665+
DetailPrint "[FAILED] Uninstaller not found"
666+
667+
show_summary:
668+
; Build summary based on mode
669+
${If} $SilentMode == "1"
670+
; Silent mode - use DetailPrint
671+
DetailPrint ""
672+
DetailPrint "========================================="
673+
DetailPrint "MCPB Installation Summary"
674+
DetailPrint "========================================="
675+
DetailPrint ""
676+
DetailPrint "[$VerifyBinary] MCPB binary installed"
677+
DetailPrint " C:\\mcpb\\server\\mcpb-windows-x64.exe"
678+
DetailPrint ""
679+
DetailPrint "[$VerifyConfigDir] Configuration directory created"
680+
DetailPrint " %USERPROFILE%\\.mcpb\\"
681+
DetailPrint ""
682+
DetailPrint "[$VerifyConfigFile] Configuration file created"
683+
DetailPrint " %USERPROFILE%\\.mcpb\\config.json"
684+
DetailPrint ""
685+
${If} $VerifyClaudeConfig == "OK"
686+
DetailPrint "[OK] Claude Desktop integration"
687+
DetailPrint " %APPDATA%\\Claude\\claude_desktop_config.json"
688+
${ElseIf} $VerifyClaudeConfig == "WARNING"
689+
DetailPrint "[WARNING] Claude Desktop integration"
690+
DetailPrint " Not configured (Claude Desktop may not be installed)"
691+
${Else}
692+
DetailPrint "[FAILED] Claude Desktop integration"
693+
${EndIf}
694+
DetailPrint ""
695+
DetailPrint "[$VerifyUninstaller] Uninstaller created"
696+
DetailPrint " C:\\mcpb\\uninstall.exe"
697+
DetailPrint ""
698+
DetailPrint "========================================="
699+
${If} $ClaudeIntegrationFailed == "0"
700+
DetailPrint "Installation completed successfully!"
701+
DetailPrint "Please restart Claude Desktop to use MCPB."
702+
${Else}
703+
DetailPrint "Installation completed with warnings."
704+
DetailPrint "MCPB installed successfully, but Claude Desktop"
705+
DetailPrint "integration was not configured."
706+
${EndIf}
707+
DetailPrint "========================================="
708+
${Else}
709+
; GUI mode - use MessageBox
710+
StrCpy $0 "MCPB Installation Summary$\r$\n"
711+
StrCpy $0 "$0========================$\r$\n$\r$\n"
712+
StrCpy $0 "$0[$VerifyBinary] MCPB binary installed$\r$\n"
713+
StrCpy $0 "$0 C:\\mcpb\\server\\mcpb-windows-x64.exe$\r$\n$\r$\n"
714+
StrCpy $0 "$0[$VerifyConfigDir] Configuration directory created$\r$\n"
715+
StrCpy $0 "$0 %USERPROFILE%\\.mcpb\\$\r$\n$\r$\n"
716+
StrCpy $0 "$0[$VerifyConfigFile] Configuration file created$\r$\n"
717+
StrCpy $0 "$0 %USERPROFILE%\\.mcpb\\config.json$\r$\n$\r$\n"
718+
719+
${If} $VerifyClaudeConfig == "OK"
720+
StrCpy $0 "$0[OK] Claude Desktop integration$\r$\n"
721+
StrCpy $0 "$0 %APPDATA%\\Claude\\claude_desktop_config.json$\r$\n$\r$\n"
722+
${ElseIf} $VerifyClaudeConfig == "WARNING"
723+
StrCpy $0 "$0[WARNING] Claude Desktop integration$\r$\n"
724+
StrCpy $0 "$0 Not configured (Claude Desktop may not be installed)$\r$\n$\r$\n"
725+
${Else}
726+
StrCpy $0 "$0[FAILED] Claude Desktop integration$\r$\n$\r$\n"
727+
${EndIf}
728+
729+
StrCpy $0 "$0[$VerifyUninstaller] Uninstaller created$\r$\n"
730+
StrCpy $0 "$0 C:\\mcpb\\uninstall.exe$\r$\n$\r$\n"
731+
732+
${If} $ClaudeIntegrationFailed == "0"
733+
StrCpy $0 "$0Installation completed successfully!$\r$\n"
734+
StrCpy $0 "$0Please restart Claude Desktop to use MCPB."
735+
MessageBox MB_OK|MB_ICONINFORMATION "$0"
736+
${Else}
737+
StrCpy $0 "$0Installation completed with warnings.$\r$\n"
738+
StrCpy $0 "$0MCPB installed successfully, but Claude Desktop$\r$\n"
739+
StrCpy $0 "$0integration was not configured."
740+
MessageBox MB_OK|MB_ICONWARNING "$0"
741+
${EndIf}
742+
${EndIf}
743+
FunctionEnd
744+
601745
;--------------------------------
602746
; Uninstall Section (Story #578)
603747

src/code_indexer/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
HNSW graph indexing (O(log N) complexity).
77
"""
88

9-
__version__ = "8.4.39"
9+
__version__ = "8.4.40"
1010
__author__ = "Seba Battig"

0 commit comments

Comments
 (0)