;Product Info Name "KeyVoice" ;Define your own software name here !define PRODUCT "KeyVoice" ;Define your own software name here !define VERSION "1.3" ;Define your own software version here !include "MUI.nsh" ;-------------------------------- ;Configuration OutFile "setup.exe" ;Change the default icons !define MUI_ICON "install.ico" !define MUI_UNICON "uninstall.ico" ;Folder selection page InstallDir "$PROGRAMFILES\${PRODUCT}" ;Remember install folder InstallDirRegKey HKCU "Software\${PRODUCT}" "" ;-------------------------------- ;Pages !insertmacro MUI_PAGE_LICENSE "C:\Pack\readme.txt" !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !define MUI_ABORTWARNING ;-------------------------------- ;Language !insertmacro MUI_LANGUAGE "English" ;-------------------------------- Section "section_1" section_1 SetShellVarContext all SetOutPath "$INSTDIR" FILE "C:\Pack\Support\KTKbdHk.dll" FILE "C:\Pack\Support\readme.txt" FILE "C:\Pack\Support\KeyVoice.exe" FILE "C:\Pack\Support\ST6UNST.EXE" SetOutPath "$SYSDIR" FILE "C:\Pack\Support\AResizeLite.ocx" ;FILE "C:\Pack\Support\ASYCFILT.DLL" ;FILE "C:\Pack\Support\COMCAT.DLL" ;FILE "C:\Pack\Support\MCI32.OCX" ;FILE "C:\Pack\Support\MSRD2X35.DLL" ;FILE "C:\Pack\Support\MSVBVM60.DLL" ;FILE "C:\Pack\Support\OLEAUT32.DLL" ;FILE "C:\Pack\Support\OLEPRO32.DLL" ;FILE "C:\Pack\Support\STDOLE2.TLB" ;FILE "C:\Pack\Support\VB6STKIT.DLL" SetOutPath "$INSTDIR\audio" FILE "C:\Pack\Support\z.wav" FILE "C:\Pack\Support\0.wav" FILE "C:\Pack\Support\1.wav" FILE "C:\Pack\Support\2.wav" FILE "C:\Pack\Support\3.wav" FILE "C:\Pack\Support\4.wav" FILE "C:\Pack\Support\5.wav" FILE "C:\Pack\Support\6.wav" FILE "C:\Pack\Support\7.wav" FILE "C:\Pack\Support\8.wav" FILE "C:\Pack\Support\9.wav" FILE "C:\Pack\Support\a.wav" FILE "C:\Pack\Support\Accent.wav" FILE "C:\Pack\Support\Alt.wav" FILE "C:\Pack\Support\Ampersand.wav" FILE "C:\Pack\Support\Apostrophe.wav" FILE "C:\Pack\Support\application.wav" FILE "C:\Pack\Support\Asterisk.wav" FILE "C:\Pack\Support\b.wav" FILE "C:\Pack\Support\Back_Slash.wav" FILE "C:\Pack\Support\Backspace.wav" FILE "C:\Pack\Support\c.wav" FILE "C:\Pack\Support\Caps Lock.wav" FILE "C:\Pack\Support\Clear.wav" FILE "C:\Pack\Support\Colon.wav" FILE "C:\Pack\Support\Comma.wav" FILE "C:\Pack\Support\Commercial_At.wav" FILE "C:\Pack\Support\Ctrl.wav" FILE "C:\Pack\Support\d.wav" FILE "C:\Pack\Support\decrease font.wav" FILE "C:\Pack\Support\Del.wav" FILE "C:\Pack\Support\Delete.wav" FILE "C:\Pack\Support\Dollar.wav" FILE "C:\Pack\Support\Down.wav" FILE "C:\Pack\Support\e.wav" FILE "C:\Pack\Support\End.wav" FILE "C:\Pack\Support\Enter.wav" FILE "C:\Pack\Support\Equals.wav" FILE "C:\Pack\Support\Esc.wav" FILE "C:\Pack\Support\Exclamation.wav" FILE "C:\Pack\Support\exit.wav" FILE "C:\Pack\Support\f1.wav" FILE "C:\Pack\Support\f2.wav" FILE "C:\Pack\Support\F3.wav" FILE "C:\Pack\Support\F4.wav" FILE "C:\Pack\Support\F5.wav" FILE "C:\Pack\Support\F6.wav" FILE "C:\Pack\Support\F7.wav" FILE "C:\Pack\Support\F8.wav" FILE "C:\Pack\Support\F9.wav" FILE "C:\Pack\Support\f10.wav" FILE "C:\Pack\Support\F11.wav" FILE "C:\Pack\Support\F12.wav" FILE "C:\Pack\Support\f.wav" FILE "C:\Pack\Support\forward_slash.wav" FILE "C:\Pack\Support\g.wav" FILE "C:\Pack\Support\Grave_Accent.wav" FILE "C:\Pack\Support\Greater_Than.wav" FILE "C:\Pack\Support\h.wav" FILE "C:\Pack\Support\Hash.wav" FILE "C:\Pack\Support\Home.wav" FILE "C:\Pack\Support\i.wav" FILE "C:\Pack\Support\increase font.wav" FILE "C:\Pack\Support\ins.wav" FILE "C:\Pack\Support\insert.wav" FILE "C:\Pack\Support\invert.wav" FILE "C:\Pack\Support\j.wav" FILE "C:\Pack\Support\k.wav" FILE "C:\Pack\Support\l.wav" FILE "C:\Pack\Support\Left windows.wav" FILE "C:\Pack\Support\Left.wav" FILE "C:\Pack\Support\Left_Curly_Bracket.wav" FILE "C:\Pack\Support\Left_Parenthesis.wav" FILE "C:\Pack\Support\left_Square_bracket.wav" FILE "C:\Pack\Support\Less_Than.wav" FILE "C:\Pack\Support\m.wav" FILE "C:\Pack\Support\Minus.wav" FILE "C:\Pack\Support\mute sound.wav" FILE "C:\Pack\Support\n.wav" FILE "C:\Pack\Support\num 0.wav" FILE "C:\Pack\Support\num 1.wav" FILE "C:\Pack\Support\num 2.wav" FILE "C:\Pack\Support\num 3.wav" FILE "C:\Pack\Support\num 4.wav" FILE "C:\Pack\Support\num 5.wav" FILE "C:\Pack\Support\num 6.wav" FILE "C:\Pack\Support\num 7.wav" FILE "C:\Pack\Support\num 8.wav" FILE "C:\Pack\Support\num 9.wav" FILE "C:\Pack\Support\num del.wav" FILE "C:\Pack\Support\num enter.wav" FILE "C:\Pack\Support\num lock.wav" FILE "C:\Pack\Support\o.wav" FILE "C:\Pack\Support\p.wav" FILE "C:\Pack\Support\Page Down.wav" FILE "C:\Pack\Support\Page Up.wav" FILE "C:\Pack\Support\Pause.wav" FILE "C:\Pack\Support\Percent.wav" FILE "C:\Pack\Support\Period.wav" FILE "C:\Pack\Support\Plus.wav" FILE "C:\Pack\Support\Prnt Scrn.wav" FILE "C:\Pack\Support\q.wav" FILE "C:\Pack\Support\Question_Mark.wav" FILE "C:\Pack\Support\Quotation_Mark.wav" FILE "C:\Pack\Support\r.wav" FILE "C:\Pack\Support\Right Alt.wav" FILE "C:\Pack\Support\Right Ctrl.wav" FILE "C:\Pack\Support\Right Shift.wav" FILE "C:\Pack\Support\right windows.wav" FILE "C:\Pack\Support\Right.wav" FILE "C:\Pack\Support\Right_Curly_Bracket.wav" FILE "C:\Pack\Support\Right_Parenthesis.wav" FILE "C:\Pack\Support\right_Square_bracket.wav" FILE "C:\Pack\Support\s.wav" FILE "C:\Pack\Support\Scroll Lock.wav" FILE "C:\Pack\Support\Semi_Colon.wav" FILE "C:\Pack\Support\Shift.wav" FILE "C:\Pack\Support\Space.wav" FILE "C:\Pack\Support\t.wav" FILE "C:\Pack\Support\Tab.wav" FILE "C:\Pack\Support\Tilde.wav" FILE "C:\Pack\Support\u.wav" FILE "C:\Pack\Support\Underscore.wav" FILE "C:\Pack\Support\Unmute.wav" FILE "C:\Pack\Support\Up.wav" FILE "C:\Pack\Support\v.wav" FILE "C:\Pack\Support\Vertical_Line.wav" FILE "C:\Pack\Support\w.wav" FILE "C:\Pack\Support\windows.wav" FILE "C:\Pack\Support\x.wav" FILE "C:\Pack\Support\y.wav" SectionEnd !include Library.nsh Var ALREADY_INSTALLED Section "-Install VB6 runtimes" SetShellVarContext all ;Add code here that sets $ALREADY_INSTALLED to a non-zero value if the ;application is already installed. For example: IfFileExists "$INSTDIR\KeyVoice.exe" 0 new_installation ;Replace MyApp.exe with your application filename StrCpy $ALREADY_INSTALLED 1 new_installation: !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_NOTPROTECTED \ "msvbvm60.dll" "$SYSDIR\msvbvm60.dll" "$SYSDIR" !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED \ "oleaut32.dll" "$SYSDIR\oleaut32.dll" "$SYSDIR" !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED \ "olepro32.dll" "$SYSDIR\olepro32.dll" "$SYSDIR" !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED \ "comcat.dll" "$SYSDIR\comcat.dll" "$SYSDIR" !insertmacro InstallLib DLL $ALREADY_INSTALLED REBOOT_PROTECTED \ "asycfilt.dll" "$SYSDIR\asycfilt.dll" "$SYSDIR" !insertmacro InstallLib TLB $ALREADY_INSTALLED REBOOT_PROTECTED \ "stdole2.tlb" "$SYSDIR\stdole2.tlb" "$SYSDIR" !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_NOTPROTECTED \ "MSRD2X35.DLL" "$SYSDIR\MSRD2X35.DLL" "$SYSDIR" !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_NOTPROTECTED \ "MCI32.OCX" "$SYSDIR\MCI32.OCX" "$SYSDIR" SectionEnd Section "-un.Uninstall VB6 runtimes" SetShellVarContext all !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\msvbvm60.dll" !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\oleaut32.dll" !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\olepro32.dll" !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\comcat32.dll" !insertmacro UnInstallLib DLL SHARED NOREMOVE "$SYSDIR\asycfilt.dll" !insertmacro UnInstallLib TLB SHARED NOREMOVE "$SYSDIR\stdole2.tlb" !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\MSRD2X35.DLL" !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\MCI32.OCX" SectionEnd Section Shortcuts SetShellVarContext all SetOutPath "$INSTDIR\" ;!insertmacro MUI_STARTMENU_WRITE_BEGIN application CreateDirectory "$SMPROGRAMS\KeyVoice" CreateShortCut "$SMPROGRAMS\KeyVoice\KeyVoice.lnk" "$INSTDIR\KeyVoice.exe" "" "$INSTDIR\KeyVoice.exe" 0 SW_SHOWNORMAL \ CONTROL|ALT|K "Shortcut Ctrl+Alt+K" WriteIniStr "$INSTDIR\KeyVoice.url" "InternetShortcut" "URL" "http://www.rbs.org.au" CreateShortCut "$SMPROGRAMS\KeyVoice\Web Site.lnk" "$INSTDIR\KeyVoice.url" "" "$INSTDIR\KeyVoice.url" 0 ;!insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section Uninstaller SetShellVarContext all CreateShortCut "$SMPROGRAMS\KeyVoice\Uninstall.lnk" "$INSTDIR\uninst.exe" "" "$INSTDIR\uninst.exe" 0 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\KeyVoice" "DisplayName" "${PRODUCT} ${VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\KeyVoice" "DisplayVersion" "${VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\KeyVoice" "URLInfoAbout" "http://www.rbs.org.au" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\KeyVoice" "Publisher" "RBS" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\KeyVoice" "UninstallString" "$INSTDIR\Uninst.exe" WriteRegStr HKCU "Software\${PRODUCT}" "" $INSTDIR WriteUninstaller "$INSTDIR\Uninst.exe" SectionEnd 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" SetShellVarContext all Delete "$INSTDIR\*.*" Delete "$INSTDIR\audio\*.*" Delete "$SMPROGRAMS\KeyVoice\*.*" Delete "$SYSDIR\AResizeLite.ocx" RmDir "$SMPROGRAMS\KeyVoice" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\KeyVoice" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KeyVoice" RMDir "$INSTDIR\audio" RMDir "$INSTDIR" SectionEnd ;eof