summaryrefslogtreecommitdiffstats
blob: afbee3cad6275493e72670b6bb0a42ba8d017945 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# set dependencies
!define msvccRedistributableExe "vcredist_x86.exe"

# 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 "..\..\QtUI\Swift\Swift.exe"
File "..\..\QtUI\Swift\ssleay32.dll"
File "..\..\QtUI\Swift\libeay32.dll"
File "..\..\QtUI\Swift\phonon4.dll"
File "..\..\QtUI\Swift\QtCore4.dll"
File "..\..\QtUI\Swift\QtGui4.dll"
File "..\..\QtUI\Swift\QtWebKit4.dll"
File "..\..\QtUI\Swift\QtNetwork4.dll"
File "..\..\QtUI\Swift\qgif4.dll"
File "..\..\QtUI\Swift\qico4.dll"
File "..\..\QtUI\Swift\qjpeg4.dll"
File "..\..\QtUI\Swift\qmng4.dll"
File "..\..\QtUI\Swift\qsvg4.dll"
File "..\..\QtUI\Swift\qtiff4.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