Inside Bitcoin
Opening the selected file…
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1Name "@CLIENT_NAME@"3RequestExecutionLevel highest4SetCompressor /SOLID lzma5SetDateSave off6Unicode true8# Uncomment these lines when investigating reproducibility errors9#SetCompress off10#SetDatablockOptimize off12# General Symbol Definitions13!define REGKEY "SOFTWARE\$(^Name)"14!define COMPANY "@CLIENT_NAME@ project"15!define URL @CLIENT_URL@17# MUI Symbol Definitions18!define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico"19!define MUI_WELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp"20!define MUI_HEADERIMAGE21!define MUI_HEADERIMAGE_RIGHT22!define MUI_HEADERIMAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-header.bmp"23!define MUI_FINISHPAGE_NOAUTOCLOSE24!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM25!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}26!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup27!define MUI_STARTMENUPAGE_DEFAULTFOLDER "@CLIENT_NAME@"28!define MUI_FINISHPAGE_RUN "$WINDIR\explorer.exe"29!define MUI_FINISHPAGE_RUN_PARAMETERS $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@30!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"31!define MUI_UNWELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp"32!define MUI_UNFINISHPAGE_NOAUTOCLOSE34# Included files35!include Sections.nsh36!include MUI2.nsh37!include x64.nsh39# Variables40Var StartMenuGroup42# Installer pages43!insertmacro MUI_PAGE_WELCOME44!insertmacro MUI_PAGE_DIRECTORY45!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup46!insertmacro MUI_PAGE_INSTFILES47!insertmacro MUI_PAGE_FINISH48!insertmacro MUI_UNPAGE_CONFIRM49!insertmacro MUI_UNPAGE_INSTFILES51# Installer languages52!insertmacro MUI_LANGUAGE English54# Installer attributes55InstallDir $PROGRAMFILES64\Bitcoin56CRCCheck force57XPStyle on58BrandingText " "59ShowInstDetails show60VIProductVersion @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_BUILD@.061VIAddVersionKey ProductName "@CLIENT_NAME@"62VIAddVersionKey ProductVersion "@CLIENT_VERSION_STRING@"63VIAddVersionKey CompanyName "${COMPANY}"64VIAddVersionKey CompanyWebsite "${URL}"65VIAddVersionKey FileVersion "@CLIENT_VERSION_STRING@"66VIAddVersionKey FileDescription "Installer for @CLIENT_NAME@"67VIAddVersionKey LegalCopyright "Copyright (C) 2009-@COPYRIGHT_YEAR@ @COPYRIGHT_HOLDERS_FINAL@"68InstallDirRegKey HKCU "${REGKEY}" Path69ShowUninstDetails show71# Installer sections72Section -Main SEC000073SetOutPath $INSTDIR74SetOverwrite on75File "@BIN_DIR@/@BITCOIN_GUI_NAME@@EXEEXT@"76File "@BIN_DIR@/@BITCOIN_WRAPPER_NAME@@EXEEXT@"77File /oname=COPYING.txt "@abs_top_srcdir@/COPYING"78File /oname=readme.txt "@abs_top_srcdir@/doc/README_windows.txt"79File "@abs_top_srcdir@/share/examples/bitcoin.conf"80SetOutPath $INSTDIR\share\rpcauth81File "@abs_top_srcdir@/share/rpcauth/*.*"82SetOutPath $INSTDIR\daemon83File "@BIN_DIR@/@BITCOIN_DAEMON_NAME@@EXEEXT@"84File "@BIN_DIR@/@BITCOIN_CLI_NAME@@EXEEXT@"85File "@BIN_DIR@/@BITCOIN_TX_NAME@@EXEEXT@"86File "@BIN_DIR@/@BITCOIN_WALLET_TOOL_NAME@@EXEEXT@"87File "@LIBEXEC_DIR@/@BITCOIN_TEST_NAME@@EXEEXT@"88SetOutPath $INSTDIR89WriteRegStr HKCU "${REGKEY}\Components" Main 190SectionEnd92Section -post SEC000193WriteRegStr HKCU "${REGKEY}" Path $INSTDIR94SetOutPath $INSTDIR95WriteUninstaller $INSTDIR\uninstall.exe96!insertmacro MUI_STARTMENU_WRITE_BEGIN Application97CreateDirectory $SMPROGRAMS\$StartMenuGroup98CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@99CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 1100CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (test signet).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-signet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 2101CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet4).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet4" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 3102CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe103!insertmacro MUI_STARTMENU_WRITE_END104WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"105WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "@CLIENT_VERSION_STRING@"106WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"107WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"108WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\bitcoin-qt.exe109WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe110WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1111WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1112WriteRegStr HKCR "@CLIENT_TARNAME@" "URL Protocol" ""113WriteRegStr HKCR "@CLIENT_TARNAME@" "" "URL:Bitcoin"114WriteRegStr HKCR "@CLIENT_TARNAME@\DefaultIcon" "" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@115WriteRegStr HKCR "@CLIENT_TARNAME@\shell\open\command" "" '"$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "%1"'117# Lingering since fb2b05b1259d3e69e6e675adfa30b429424c7625 which removed the suffix118DeleteRegValue HKCU "${REGKEY} (64-bit)\Components" Main119DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name) (64-bit)"120Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name) (64-bit).lnk"121Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name) (64-bit).lnk"122DeleteRegValue HKCU "${REGKEY} (64-bit)" StartMenuGroup123DeleteRegValue HKCU "${REGKEY} (64-bit)" Path124DeleteRegKey /IfEmpty HKCU "${REGKEY} (64-bit)\Components"125DeleteRegKey /IfEmpty HKCU "${REGKEY} (64-bit)"127# Lingering since 77b2923f87131a407f7d4193c54db22375130403128Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Bitcoin Core (testnet, 64-bit).lnk"129SectionEnd131# Macro for selecting uninstaller sections132!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID133Push $R0134ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"135StrCmp $R0 1 0 next${UNSECTION_ID}136!insertmacro SelectSection "${UNSECTION_ID}"137GoTo done${UNSECTION_ID}138next${UNSECTION_ID}:139!insertmacro UnselectSection "${UNSECTION_ID}"140done${UNSECTION_ID}:141Pop $R0142!macroend144# Uninstaller sections145Section /o -un.Main UNSEC0000146Delete /REBOOTOK $INSTDIR\@BITCOIN_WRAPPER_NAME@@EXEEXT@147Delete /REBOOTOK $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@148Delete /REBOOTOK $INSTDIR\COPYING.txt149Delete /REBOOTOK $INSTDIR\readme.txt150Delete /REBOOTOK $INSTDIR\bitcoin.conf151RMDir /r /REBOOTOK $INSTDIR\share152RMDir /r /REBOOTOK $INSTDIR\daemon153DeleteRegValue HKCU "${REGKEY}\Components" Main154SectionEnd156Section -un.post UNSEC0001157DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"158Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"159Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"160Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet).lnk"161Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (testnet4).lnk"162Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@CLIENT_NAME@ (test signet).lnk"163Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"164Delete /REBOOTOK $INSTDIR\uninstall.exe165Delete /REBOOTOK $INSTDIR\debug.log166Delete /REBOOTOK $INSTDIR\db.log167DeleteRegValue HKCU "${REGKEY}" StartMenuGroup168DeleteRegValue HKCU "${REGKEY}" Path169DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"170DeleteRegKey /IfEmpty HKCU "${REGKEY}"171DeleteRegKey HKCR "@CLIENT_TARNAME@"172RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup173RmDir /REBOOTOK $INSTDIR174Push $R0175StrCpy $R0 $StartMenuGroup 1176StrCmp $R0 ">" no_smgroup177no_smgroup:178Pop $R0179SectionEnd181# Installer functions182Function .onInit183InitPluginsDir184${If} ${RunningX64}185; disable registry redirection (enable access to 64-bit portion of registry)186SetRegView 64187${Else}188MessageBox MB_OK|MB_ICONSTOP "Cannot install 64-bit version on a 32-bit system."189Abort190${EndIf}191FunctionEnd193# Uninstaller functions194Function un.onInit195ReadRegStr $INSTDIR HKCU "${REGKEY}" Path196!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup197!insertmacro SELECT_UNSECTION Main ${UNSEC0000}198FunctionEnd
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.