From 0a2f7274a08ab5ed6e1305977d85fa02b01aaea7 Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Tue, 11 Aug 2009 20:28:51 +0100 Subject: Making the nsis installer copy qt files et al. diff --git a/Swift/Packaging/nsis/swift.nsi b/Swift/Packaging/nsis/swift.nsi new file mode 100644 index 0000000..f62450b --- /dev/null +++ b/Swift/Packaging/nsis/swift.nsi @@ -0,0 +1,93 @@ +# set dependencies +!define buildDate "20090811" +!define swiftBuildDir "..\..\QtUI\" +!define openSSLDir "G:\usr\openssl-0.9.8a.win32\bin" +!define msvccRedistributableDir "G:\devel\vcredist" +!define msvccRedistributableExe "vcredist_x86.exe" +!define qtDLLDir "G:\Qt\4.5.2-lgpl-vs2008\bin" + + +# define installer name +outFile "Swift-installer-win32-${buildDate}.exe" + +# set desktop as install directory +installDir "$PROGRAMFILES\Swift" + +SetCompressor lzma + +# default section start +section "Main install" + +# define output path +setOutPath $INSTDIR + +# Specify files to go in output path. +# If you update this list, update the uninstall list too. +file ${swiftBuildDir}\Swift.exe +file ${openSSLDir}\ssleay32.dll +file ${openSSLDir}\libeay32.dll +file ${qtDLLDir}\phonon4.dll +file ${qtDLLDir}\QtCore4.dll +file ${qtDLLDir}\QtGui4.dll +file ${qtDLLDir}\QtWebKit4.dll +file ${qtDLLDir}\QtNetwork4.dll + +# create start menu item +createShortCut "$SMPROGRAMS\Swift\Swift.lnk" "$INSTDIR\Swift.exe" +createShortCut "$SMPROGRAMS\Swift\Unistall Swift.lnk" "$INSTDIR\unistall.exe" + +# Add the information to Add/Remove +WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Swift" "DisplayName" "Swift" +WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Swift" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" +WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Swift" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\"" + + +# define uninstaller name +writeUninstaller $INSTDIR\uninstaller.exe + +# default section end +sectionEnd + +Section -Prerequisites +# http://nsis.sourceforge.net/Embedding_other_installers + SetOutPath $INSTDIR\Prerequisites + MessageBox MB_YESNO "Install C++ Runtime?" /SD IDYES IDNO endRuntime + File ${msvccRedistributableDir}\${msvccRedistributableExe} + ExecWait "$INSTDIR\Prerequisites\${msvccRedistributableExe}" + delete $INSTDIR\Prerequisites\${msvccRedistributableExe} + delete $INSTDIR\Prerequisites + Goto endRuntime + endRuntime: +SectionEnd + +section "autostart" + MessageBox MB_YESNO "Would you like Swift to run at startup?" /SD IDYES IDNO endAutostart + WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Run" "Swift" "$INSTDIR\Swift.exe" + Goto endAutostart + endAutostart: +sectionEnd + +# create a section to define what the uninstaller does. +# the section will always be named "Uninstall" +section "Uninstall" + MessageBox MB_YESNO "The uninstaller will remove Swift. Are you sure?" /SD IDYES IDNO endUninstall + # Always delete uninstaller first + delete $INSTDIR\uninstaller.exe + + # now delete installed files + delete $INSTDIR\Swift.exe + delete $INSTDIR\ssleay32.dll + delete $INSTDIR\libeay32.dll + delete $INSTDIR\phonon4.dll + delete $INSTDIR\QtCore4.dll + delete $INSTDIR\QtGui4.dll + delete $INSTDIR\QtWebKit4.dll + delete $INSTDIR\QtNetwork4.dll + Goto endUninstall + endUninstall: +sectionEnd + + +# TODO http://nsis.sourceforge.net/Check_whether_your_application_is_running_during_uninstallation +# http://nsis.sourceforge.net/Date_and_time_in_installer_or_application_name +# http://nsis.sourceforge.net/Removing_'Nullsoft_Install_System_vX.XX'_String_from_installer diff --git a/tools/nsis/swift.nsi b/tools/nsis/swift.nsi deleted file mode 100644 index 577becb..0000000 --- a/tools/nsis/swift.nsi +++ /dev/null @@ -1,72 +0,0 @@ -# define installer name -outFile "Swift-installer-win32.exe" - -# set desktop as install directory -installDir "$PROGRAMFILES\Swift" - -SetCompressor lzma - -# default section start -section "Main install" - -# define output path -setOutPath $INSTDIR - -# specify files to go in output path -file ..\..\src\UI\Qt\release\* - -# create start menu item -createShortCut "$SMPROGRAMS\Swift\Swift.lnk" "$INSTDIR\Swift.exe" -createShortCut "$SMPROGRAMS\Swift\Unistall Swift.lnk" "$INSTDIR\unistall.exe" - -# We /could/ start on login: -# WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Run" "Swift" "$INSTDIR\Swift.exe" - -# Add the information to Add/Remove -WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Swift" "DisplayName" "Swift" -WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Swift" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" -WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Swift" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\"" - - -# define uninstaller name -writeUninstaller $INSTDIR\uninstaller.exe - -# default section end -sectionEnd - -Section -Prerequisites -# http://nsis.sourceforge.net/Embedding_other_installers - SetOutPath $INSTDIR\Prerequisites - MessageBox MB_YESNO "Install C++ Runtime?" /SD IDYES IDNO endRuntime - File ..\..\vcredist_x86.exe - ExecWait "$INSTDIR\Prerequisites\vcredist_x86.exe" - delete $INSTDIR\Prerequisites\vcredist_x86.exe - delete $INSTDIR\Prerequisites - Goto endRuntime - endRuntime: -SectionEnd - -section "autostart" - MessageBox MB_YESNO "Run at startup?" /SD IDYES IDNO endAutostart - WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Run" "Swift" "$INSTDIR\Swift.exe" - Goto endAutostart - endAutostart: -sectionEnd - -# create a section to define what the uninstaller does. -# the section will always be named "Uninstall" -section "Uninstall" - MessageBox MB_YESNO "The uninstaller will delete the entire Swift folder, including any user-created files. Are you sure?" /SD IDYES IDNO endUninstall - # Always delete uninstaller first - delete $INSTDIR\uninstaller.exe - - # now delete installed files - delete $INSTDIR\* - Goto endUninstall - endUninstall: -sectionEnd - - -# TODO http://nsis.sourceforge.net/Check_whether_your_application_is_running_during_uninstallation -# http://nsis.sourceforge.net/Date_and_time_in_installer_or_application_name -# http://nsis.sourceforge.net/Removing_'Nullsoft_Install_System_vX.XX'_String_from_installer -- cgit v0.10.2-6-g49f6