CheckCreditCard.nsi

Posted by Jiltin     16 May, 2008    404 views   

; Script generated by the HM NIS Edit Script Wizard.

;!define SHORT_APP_NAME “Jiltin Software”
;!define SUPPORT_EMAIL “support@notesbit.com”
;!include “DotNET.nsh”

;!insertmacro CheckDotNET

!include WordFunc.nsh
!insertmacro VersionCompare
!include LogicLib.nsh

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME “Verify Credit Card”
!define PRODUCT_VERSION “1.0″
!define PRODUCT_PUBLISHER “Jiltin Software, Inc.”
!define PRODUCT_WEB_SITE “http://www.notesbit.com”
!define PRODUCT_DIR_REGKEY “Software\Microsoft\Windows\CurrentVersion\App Paths\ValidateCreditCard.exe”
!define PRODUCT_UNINST_KEY “Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}”
!define PRODUCT_UNINST_ROOT_KEY “HKLM”
!define PRODUCT_STARTMENU_REGVAL “NSIS:StartMenuDir”

SetCompressor bzip2

; MUI 1.67 compatible ——
!include “MUI.nsh”

; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON “${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico”
!define MUI_UNICON “${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico”

; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE “EULA_CopyRight.txt”
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Start menu page
var ICONS_GROUP
!define MUI_STARTMENUPAGE_NODISABLE
!define MUI_STARTMENUPAGE_DEFAULTFOLDER “Jiltin Software\Verify Credit Card”
!define MUI_STARTMENUPAGE_REGISTRY_ROOT “${PRODUCT_UNINST_ROOT_KEY}”
!define MUI_STARTMENUPAGE_REGISTRY_KEY “${PRODUCT_UNINST_KEY}”
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME “${PRODUCT_STARTMENU_REGVAL}”
!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN “$INSTDIR\ValidateCreditCard.exe”
!insertmacro MUI_PAGE_FINISH

; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES

; Language files
!insertmacro MUI_LANGUAGE “English”

; Reserve files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS

; MUI end ——

Name “${PRODUCT_NAME} ${PRODUCT_VERSION}”
OutFile “Setup.exe”
InstallDir “$PROGRAMFILES\Jiltin\Verify Credit Card”
InstallDirRegKey HKLM “${PRODUCT_DIR_REGKEY}” “”
ShowInstDetails show
ShowUnInstDetails show

Section “Verify Credit Card” SEC01
SetOutPath “$INSTDIR”
SetOverwrite ifnewer
File “ValidateCreditCard.exe”
File “CheckCreditCard.pdf”

; Shortcuts
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory “$SMPROGRAMS\$ICONS_GROUP”
CreateShortCut “$SMPROGRAMS\$ICONS_GROUP\Verify Credit Card.lnk” “$INSTDIR\ValidateCreditCard.exe”
CreateShortCut “$DESKTOP\Verify Credit Card.lnk” “$INSTDIR\ValidateCreditCard.exe”
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd

Section -AdditionalIcons
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
WriteIniStr “$INSTDIR\${PRODUCT_NAME}.url” “InternetShortcut” “URL” “${PRODUCT_WEB_SITE}”
CreateShortCut “$SMPROGRAMS\$ICONS_GROUP\Website.lnk” “$INSTDIR\${PRODUCT_NAME}.url”
CreateShortCut “$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk” “$INSTDIR\uninst.exe”
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd

Section -Post
WriteUninstaller “$INSTDIR\uninst.exe”
WriteRegStr HKLM “${PRODUCT_DIR_REGKEY}” “” “$INSTDIR\ValidateCreditCard.exe”
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} “${PRODUCT_UNINST_KEY}” “DisplayName” “$(^Name)”
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} “${PRODUCT_UNINST_KEY}” “UninstallString” “$INSTDIR\uninst.exe”
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} “${PRODUCT_UNINST_KEY}” “DisplayIcon” “$INSTDIR\ValidateCreditCard.exe”
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} “${PRODUCT_UNINST_KEY}” “DisplayVersion” “${PRODUCT_VERSION}”
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} “${PRODUCT_UNINST_KEY}” “URLInfoAbout” “${PRODUCT_WEB_SITE}”
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} “${PRODUCT_UNINST_KEY}” “Publisher” “${PRODUCT_PUBLISHER}”
SectionEnd

Var InstallDotNET

Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY

; Check .NET version
StrCpy $InstallDotNET “No”
Call GetDotNETVersion
Pop $0

${If} $0 == “not found”
StrCpy $InstallDotNET “Yes”
MessageBox MB_OK’MB_ICONINFORMATION “${PRODUCT_NAME} requires that the .NET Framework 2.0 is installed. The .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}.”
Return
${EndIf}

StrCpy $0 $0 “” 1 # skip “v”

${VersionCompare} $0 “2.0″ $1
${If} $1 == 2
StrCpy $InstallDotNET “Yes”
MessageBox MB_OK’MB_ICONINFORMATION “${PRODUCT_NAME} requires that the .NET Framework 2.0 is installed. The .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}.”
Return
${EndIf}
FunctionEnd

Function GetDotNETVersion
Push $0
Push $1

System::Call “mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1″
StrCmp $1 “error” 0 +2
StrCpy $0 “not found”

Pop $1
Exch $0
FunctionEnd

Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION’MB_OK “$(^Name) was successfully removed from your computer.”
FunctionEnd

Function un.onInit
MessageBox MB_ICONQUESTION’MB_YESNO’MB_DEFBUTTON2 “Are you sure you want to completely remove $(^Name) and all of its components?” IDYES +2
Abort
FunctionEnd

Section Uninstall
!insertmacro MUI_STARTMENU_GETFOLDER “Application” $ICONS_GROUP
Delete “$INSTDIR\${PRODUCT_NAME}.url”
Delete “$INSTDIR\uninst.exe”
Delete “$INSTDIR\CheckCreditCard.pdf”
Delete “$INSTDIR\ValidateCreditCard.exe”

Delete “$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk”
Delete “$SMPROGRAMS\$ICONS_GROUP\Website.lnk”
Delete “$DESKTOP\Verify Credit Card.lnk”
Delete “$SMPROGRAMS\$ICONS_GROUP\Verify Credit Card.lnk”

RMDir “$SMPROGRAMS\$ICONS_GROUP”
RMDir “$INSTDIR”

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} “${PRODUCT_UNINST_KEY}”
DeleteRegKey HKLM “${PRODUCT_DIR_REGKEY}”
SetAutoClose true
SectionEnd
Following Google Searches Lead To This Post:
insertmacro CheckDotNET

Post to Twitter  Post to Delicious  Post to Digg    Post to StumbleUpon

Categories : NSIS Tags : ,

Comments

No comments yet.


Leave a comment

(required)

(required)