This commit is contained in:
Jay D Dee
2020-12-10 18:23:49 -05:00
parent 45ecd0de14
commit ccfccbadd5
50 changed files with 1447 additions and 976 deletions

363
junk/cpuminer.nsi Normal file
View File

@@ -0,0 +1,363 @@
; NSIS script (UTF-8) NSIS-3 Unicode
; Install
; Unicode true
; SetCompressor lzma
RequestExecutionLevel Admin
; --------------------
!include x64.nsh
!include FileFunc.nsh
!include WinMessages.nsh
AllowRootDirInstall true
; --------------------
; LANG TABLES: 1
!define MINER_VERSION "1.1"
!define VERSION "${MINER_VERSION}.0.0"
BrandingText "CPU Miner Install System"
!define PROGRAM_NAME "CPU Miner"
!define PROGRAM_KEY "cpuminer"
Name "cpuminer-multi v${MINER_VERSION}"
OutFile "${PROGRAM_KEY}-setup.exe"
Icon "res\setup.ico"
; Icon "res\${PROGRAM_KEY}.ico"
Caption "${PROGRAM_NAME}"
VIProductVersion "${VERSION}"
VIAddVersionKey ProductName "${PROGRAM_NAME} - Setup"
VIAddVersionKey Comments ""
VIAddVersionKey CompanyName "Open Source"
VIAddVersionKey LegalCopyright "2015 - Open Source"
VIAddVersionKey FileDescription "${PROGRAM_NAME} - Setup"
VIAddVersionKey FileVersion "${MINER_VERSION}"
VIAddVersionKey ProductVersion "${MINER_VERSION}"
VIAddVersionKey InternalName "${PROGRAM_NAME}"
VIAddVersionKey LegalTrademarks ""
VIAddVersionKey OriginalFilename "${PROGRAM_KEY}.exe"
!define NSIS_MAKENSIS64
!ifdef NSIS_MAKENSIS64
!define BITS 64
InstallDir $PROGRAMFILES64\cpuminer-multi
!define RK_UNINSTALL "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_KEY}"
!else
!define BITS 32
InstallDir $PROGRAMFILES32\cpuminer-multi
!define RK_UNINSTALL "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_KEY}"
;!define RK_UNINSTALL "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_KEY}"
!endif
# Test folders x86/x64
# InstType "Custom"
# InstallDir $WINDIR\system32
; LANG: ${LANG_ENGLISH}
LangString LSTR_0 ${LANG_ENGLISH} "CPU Miner Install System"
LangString LSTR_3 ${LANG_ENGLISH} "Space available: "
LangString LSTR_4 ${LANG_ENGLISH} "Space required: "
LangString LSTR_5 ${LANG_ENGLISH} "Can't write: "
LangString LSTR_17 ${LANG_ENGLISH} "Error decompressing data! Corrupted installer?"
LangString LSTR_21 ${LANG_ENGLISH} "Extract: "
LangString LSTR_22 ${LANG_ENGLISH} "Extract: error writing to file "
LangString LSTR_25 ${LANG_ENGLISH} "Output folder: "
LangString LSTR_29 ${LANG_ENGLISH} "Skipped: "
LangString LSTR_30 ${LANG_ENGLISH} "Copy Details To Clipboard"
LangString LSTR_32 ${LANG_ENGLISH} "B"
LangString LSTR_33 ${LANG_ENGLISH} "K"
LangString LSTR_34 ${LANG_ENGLISH} "M"
LangString LSTR_35 ${LANG_ENGLISH} "G"
LangString LSTR_36 ${LANG_ENGLISH} "Choose Install Location"
LangString LSTR_37 ${LANG_ENGLISH} "Choose the folder in which to install ${PROGRAM_NAME}."
LangString LSTR_38 ${LANG_ENGLISH} "Installing"
LangString LSTR_39 ${LANG_ENGLISH} "Please wait while ${PROGRAM_NAME} is being installed."
LangString LSTR_40 ${LANG_ENGLISH} "Installation Complete"
LangString LSTR_41 ${LANG_ENGLISH} "Setup was completed successfully."
LangString LSTR_42 ${LANG_ENGLISH} "Installation Aborted"
LangString LSTR_43 ${LANG_ENGLISH} "Setup was not completed successfully."
LangString LSTR_44 ${LANG_ENGLISH} "MS Shell Dlg"
LangString LSTR_45 ${LANG_ENGLISH} "8"
LangString LSTR_46 ${LANG_ENGLISH} "Error opening file for writing: $\r$\n$\r$\n$0$\r$\n$\r$\nClick Abort to stop the installation,$\r$\nRetry to try again, or$\r$\nIgnore to skip this file."
LangString LSTR_48 ${LANG_ENGLISH} "Cancel"
LangString LSTR_49 ${LANG_ENGLISH} "Setup will install ${PROGRAM_NAME} in the following folder. To install in a different folder, click Browse and select another folder. $_CLICK"
LangString LSTR_50 ${LANG_ENGLISH} "Destination Folder"
LangString LSTR_51 ${LANG_ENGLISH} "B&rowse..."
LangString LSTR_52 ${LANG_ENGLISH} "Select the folder to install ${PROGRAM_NAME} in:"
LangString LSTR_53 ${LANG_ENGLISH} "< &Back"
LangString LSTR_54 ${LANG_ENGLISH} "&Install"
LangString LSTR_55 ${LANG_ENGLISH} "Click Install to start the installation."
LangString LSTR_56 ${LANG_ENGLISH} "Show &details"
LangString LSTR_57 ${LANG_ENGLISH} "Completed"
LangString LSTR_58 ${LANG_ENGLISH} "&Next >"
LangString LSTR_59 ${LANG_ENGLISH} "Click Next to continue."
LangString LSTR_60 ${LANG_ENGLISH} " "
LangString LSTR_61 ${LANG_ENGLISH} "&Close"
; --------------------
; VARIABLES:
Var _0_
Var _1_
Var _2_
Var _3_
Var _4_
Var _5_
Var _6_
Var DATADIR
Var REALINSTDIR
; --------------------
; PAGES: 3
; Page 0
Page directory func_title_pre0 func_show0 func_leave0 /ENABLECANCEL
; DirVar $CMDLINE
DirText $(LSTR_49) $(LSTR_50) $(LSTR_51) $(LSTR_52) ; Setup will install ${PROGRAM_NAME} in the following folder....
; Page 1
Page instfiles func_title_pre1 func_show1 func_leave1
CompletedText $(LSTR_57) ; Completed
DetailsButtonText $(LSTR_56) ; Show &details
/*
; Page 2
Page COMPLETED
*/
; --------------------
Function func_title_pre0 ; Page 0, Pre
SendMessage $_0_ ${WM_SETTEXT} 0 STR:$(LSTR_36) ; Choose Install Location
SendMessage $_2_ ${WM_SETTEXT} 0 STR:$(LSTR_37) ; Choose the folder in which to install ${PROGRAM_NAME}.
FunctionEnd
Function func_show0 ; Page 0, Show
; FindWindow $_12_ "#32770" "" $HWNDPARENT
; GetDlgItem $_13_ $_12_ 1006
; GetDlgItem $_14_ $_12_ 1020
; GetDlgItem $_15_ $_12_ 1019
; GetDlgItem $_16_ $_12_ 1001
; GetDlgItem $_17_ $_12_ 1023
; GetDlgItem $_18_ $_12_ 1024
FunctionEnd
Function func_leave0 ; Page 0, Leave
FunctionEnd
Function func_title_pre1 ; Page 1, Pre
SendMessage $_0_ ${WM_SETTEXT} 0 STR:$(LSTR_38) ; Installing
SendMessage $_2_ ${WM_SETTEXT} 0 STR:$(LSTR_39) ; Please wait while ${PROGRAM_NAME} is being installed. cpuminer-multi
FunctionEnd
Function func_show1 ; Page 1, Show
; FindWindow $_19_ "#32770" "" $HWNDPARENT
; GetDlgItem $_20_ $_19_ 1006
; GetDlgItem $_21_ $_19_ 1004
; GetDlgItem $_22_ $_19_ 1027
; GetDlgItem $_23_ $_19_ 1016
FunctionEnd
Function func_leave1 ; Page 1, Leave
IfAbort label_27
SendMessage $_0_ ${WM_SETTEXT} 0 STR:$(LSTR_40) ; "Installation Complete"
SendMessage $_2_ ${WM_SETTEXT} 0 STR:$(LSTR_41) ; "Setup was completed successfully."
Goto label_29
label_27:
SendMessage $_0_ ${WM_SETTEXT} 0 STR:$(LSTR_42) ; "Installation Aborted"
SendMessage $_2_ ${WM_SETTEXT} 0 STR:$(LSTR_43) ; "Setup was not completed successfully."
label_29:
IfAbort label_30
label_30:
FunctionEnd
Function .onInit
# `/SD IDYES' tells MessageBox to automatically choose IDYES if the installer is silent
# in this case, the installer can only be silent if the user used the /S switch or if
# you've uncommented line number 5
# MessageBox MB_YESNO|MB_ICONQUESTION "Would you like the installer to be silent from now on?" \
# /SD IDYES IDNO no IDYES yes
# yes:
# SetSilent silent
# Goto done
# no:
# SetSilent normal
#SetSilent silent
ReadRegStr $R0 HKLM ${RK_UNINSTALL} \
"UninstallString"
StrCmp $R0 "" done
DeleteRegKey HKLM ${RK_UNINSTALL}
ClearErrors
done:
FunctionEnd
Function .onGUIInit
GetDlgItem $_0_ $HWNDPARENT 1037
CreateFont $_1_ $(LSTR_44) $(LSTR_45) 700 ; "MS Shell Dlg" 8
SendMessage $_0_ ${WM_SETFONT} $_1_ 0
GetDlgItem $_2_ $HWNDPARENT 1038
SetCtlColors $_0_ "" 0xFFFFFF
SetCtlColors $_2_ "" 0xFFFFFF
GetDlgItem $_3_ $HWNDPARENT 1034
SetCtlColors $_3_ "" 0xFFFFFF
GetDlgItem $_4_ $HWNDPARENT 1039
SetCtlColors $_4_ "" 0xFFFFFF
GetDlgItem $_6_ $HWNDPARENT 1028
SetCtlColors $_6_ /BRANDING ""
GetDlgItem $_5_ $HWNDPARENT 1256
SetCtlColors $_5_ /BRANDING ""
SendMessage $_5_ ${WM_SETTEXT} 0 "STR:$(LSTR_0) " ; "CPU Miner Install System"
; GetDlgItem $_7_ $HWNDPARENT 1035
; GetDlgItem $_8_ $HWNDPARENT 1045
; GetDlgItem $_9_ $HWNDPARENT 1
; GetDlgItem $_10_ $HWNDPARENT 2
; GetDlgItem $_11_ $HWNDPARENT 3
FunctionEnd
Function .onUserAbort
FunctionEnd
Section
StrCpy $DATADIR "$APPDATA\${PROGRAM_KEY}"
StrCpy $REALINSTDIR "$INSTDIR"
${If} ${RunningX64}
${DisableX64FSRedirection}
; StrCmp $INSTDIR "$WINDIR\system32" 0 +2
; StrCpy $INSTDIR "$WINDIR\sysnative"
SetRegView 64
${Else}
SetRegView 32
${Endif}
SetOutPath "$INSTDIR"
# call UserInfo plugin to get user info. The plugin puts the result in the stack
UserInfo::getAccountType
# pop the result from the stack into $0
Pop $0
# If match, jump 3 lines down.
StrCmp $0 "Admin" +3
MessageBox MB_OK "Installer requires admin rights: $0"
Return
SetOverwrite on
File cpuminer-gw64.exe
File cpuminer-x64.exe
File cpuminer-conf.json
File /oname=LICENSE.txt LICENSE
File /oname=README.txt README.md
SetOverwrite off
AllowSkipFiles on
File x64\Release\msvcr120.dll
# Create the uninstaller
CreateDirectory "$DATADIR"
File "/oname=$DATADIR\cpuminer-conf.json" cpuminer-conf.json
WriteUninstaller "$DATADIR\cpuminer-uninst.exe"
# Shortcuts (program + uninstaller)
CreateDirectory "$SMPROGRAMS\${PROGRAM_NAME}"
CreateShortCut /NoWorkingDir "$SMPROGRAMS\${PROGRAM_NAME}\${PROGRAM_NAME}.lnk" "$REALINSTDIR\cpuminer-gw64.exe"
CreateShortCut /NoWorkingDir "$SMPROGRAMS\${PROGRAM_NAME}\Config.lnk" "$SYSDIR\notepad.exe" "$DATADIR\cpuminer-conf.json"
CreateShortCut "$SMPROGRAMS\${PROGRAM_NAME}\Uninstall.lnk" "$DATADIR\cpuminer-uninst.exe"
CreateShortCut /NoWorkingDir "$SMPROGRAMS\${PROGRAM_NAME}\${PROGRAM_NAME}-bg.lnk" "$REALINSTDIR\cpuminer-gw64.exe" "-q -B" "" "" SW_SHOWMINIMIZED
WriteRegStr HKLM ${RK_UNINSTALL} \
"DisplayName" "${PROGRAM_NAME}"
WriteRegStr HKLM ${RK_UNINSTALL} \
"DisplayVersion" "${MINER_VERSION}"
WriteRegStr HKLM ${RK_UNINSTALL} \
"Publisher" "Open Source"
WriteRegStr HKLM ${RK_UNINSTALL} \
"DisplayIcon" "$REALINSTDIR\cpuminer-x64.exe"
WriteRegStr HKLM ${RK_UNINSTALL} \
"InstallLocation" "$REALINSTDIR"
WriteRegStr HKLM ${RK_UNINSTALL} \
"UninstallString" "$\"$DATADIR\cpuminer-uninst.exe$\""
${GetSize} "$INSTDIR" "/M=cpuminer* /S=0K /G=0" $0 $1 $2
IntFmt $0 "0x%08X" $0
WriteRegDWORD HKLM "${RK_UNINSTALL}" \
"EstimatedSize" "$0"
# Add application to Windows Firewall exception list (to check)
;liteFirewall::AddRule "$REALINSTDIR\cpuminer-gw64.exe" "CPU Miner (MinGW64)"
;liteFirewall::AddRule "$REALINSTDIR\cpuminer-x64.exe" "CPU Miner (x64)"
SectionEnd
Section "uninstall"
StrCpy $DATADIR "$APPDATA\${PROGRAM_KEY}"
${If} ${RunningX64}
;StrCmp $INSTDIR "$WINDIR\system32" 0 +2
;StrCpy $INSTDIR "$WINDIR\sysnative"
${DisableX64FSRedirection}
SetRegView 64
${Else}
SetRegView 32
${Endif}
ReadRegStr $INSTDIR HKLM ${RK_UNINSTALL} "InstallLocation"
StrCpy $REALINSTDIR "$INSTDIR"
Delete "$INSTDIR\cpuminer-conf.json"
Delete "$INSTDIR\cpuminer-gw64.exe"
Delete "$INSTDIR\cpuminer-x64.exe"
Delete "$INSTDIR\LICENSE.txt"
Delete "$INSTDIR\README.txt"
StrCmp $REALINSTDIR "$WINDIR/system32" +2
Delete "$INSTDIR\msvcr120.dll"
RMDir "$INSTDIR"
Delete "$DATADIR\cpuminer-uninst.exe"
RMDir "$DATADIR"
; Delete "$DATADIR\cpuminer-conf.json"
; RMDir "$DATADIR"
# second, remove the link from the start menu
Delete "$SMPROGRAMS\${PROGRAM_NAME}\${PROGRAM_NAME}.lnk"
Delete "$SMPROGRAMS\${PROGRAM_NAME}\${PROGRAM_NAME}-bg.lnk"
Delete "$SMPROGRAMS\${PROGRAM_NAME}\Config.lnk"
Delete "$SMPROGRAMS\${PROGRAM_NAME}\Uninstall.lnk"
RMDir "$SMPROGRAMS\${PROGRAM_NAME}"
DeleteRegKey HKLM ${RK_UNINSTALL}
# Remove application from Windows Firewall exception list
;liteFirewall::RemoveRule "$REALINSTDIR\cpuminer-gw64.exe" "CPU Miner (MinGW64)"
;liteFirewall::RemoveRule "$REALINSTDIR\cpuminer-x64.exe" "CPU Miner (x64)"
SectionEnd

27
junk/cpuminer.sln Normal file
View File

@@ -0,0 +1,27 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpuminer", "cpuminer.vcxproj", "{36DC07F9-A4A6-4877-A146-1B960083CF6F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|Win32 = Debug|Win32
Release|x64 = Release|x64
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Debug|x64.ActiveCfg = Debug|x64
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Debug|Win32.ActiveCfg = Debug|Win32
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Debug|x64.Build.0 = Debug|x64
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Debug|Win32.Build.0 = Debug|Win32
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Release|x64.ActiveCfg = Release|x64
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Release|x64.Build.0 = Release|x64
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Release|Win32.ActiveCfg = Release|Win32
{36DC07F9-A4A6-4877-A146-1B960083CF6F}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal