annotate gaim-installer.nsi @ 3921:67209a7ee924

[gaim-migrate @ 4093] here committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Fri, 08 Nov 2002 06:05:03 +0000
parents 29ccbc3eb9c1
children a17b482a9216
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 ; Installer script for win32 Gaim
3917
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
2 ; Herman Bloggs <hermanator12002@yahoo.com>
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3
3917
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
4 ; NOTE: this .NSI script is designed for NSIS v2.0b0+
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5
3921
67209a7ee924 [gaim-migrate @ 4093]
Rob Flynn <gaim@robflynn.com>
parents: 3917
diff changeset
6 Name "Gaim 0.60 alpha 4 (Win32)"
67209a7ee924 [gaim-migrate @ 4093]
Rob Flynn <gaim@robflynn.com>
parents: 3917
diff changeset
7 OutFile "gaim-0.60-alpha4.exe"
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 Icon .\pixmaps\gaim-install.ico
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
9 UninstallIcon .\pixmaps\gaim-install.ico
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 ; Some default compiler settings (uncomment and change at will):
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 ; SetCompress auto ; (can be off or force)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 ; SetDatablockOptimize on ; (can be off)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 ; CRCCheck on ; (can be off)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 ; AutoCloseWindow false ; (can be true for the window go away automatically at end)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 ; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 ; SetDateSave off ; (can be on to have files restored to their orginal date)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
18
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19 InstallDir "$PROGRAMFILES\Gaim"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" ""
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21 DirShow show ; (make this hide to not let the user change it)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
22 DirText "Select the directory to install Gaim in:"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
23
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
24 Section "" ; (default section)
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
25 ; Check if previous intallation exists
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
26 ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\gaim" ""
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
27 StrCmp $R0 "" cont_install
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
28 ReadRegStr $R1 HKEY_LOCAL_MACHINE "SOFTWARE\gaim" "Version"
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
29 StrCmp $R1 "" no_version
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
30 ; Gaim found, so exit Intallation
3917
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
31 MessageBox MB_OK "Gaim (v$R1) already exists on this machine. Uninstall first then try again." IDOK
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
32 Quit
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
33 no_version:
3917
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
34 MessageBox MB_OK "Gaim already exists on this machine. Uninstall first then try again." IDOK
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
35 Quit
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
36 cont_install:
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
37 ; Install Aspell
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
38 SetOutPath "$INSTDIR"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
39 File ..\win32-dev\aspell-15\bin\aspell-0.50.2.exe
3917
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
40 ExecWait '"$INSTDIR\aspell-0.50.2.exe" /S' $R0
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
41 ; cleanup aspell installer file
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
42 Delete "$INSTDIR\aspell-0.50.2.exe"
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
43 ; Check if aspell installer completed ok
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
44 StrCmp $R0 "0" have_aspell
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
45 ; Aspell exited uncleanly so we will exit uncleanly too.
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
46 RMDir /r "$INSTDIR"
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
47 Quit
3917
29ccbc3eb9c1 [gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3910
diff changeset
48 have_aspell:
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
49 SetOutPath "$INSTDIR"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
50 ; Gaim files
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
51 File /r .\win32-install-dir\*.*
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
52
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
53 ; Gaim Registry Settings
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
54 ; Read in Aspell install path
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
55 ReadRegStr $R0 HKEY_LOCAL_MACHINE "Software\Aspell" ""
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
56 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" "$INSTDIR"
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
57 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "Version" "0.60a3"
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
58 ; Keep track of aspell install path, for when we uninstall
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
59 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "AspellPath" $R0
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
60 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "DisplayName" "Gaim (remove only)"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
61 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "UninstallString" '"$INSTDIR\gaim-uninst.exe"'
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
62 ; Set App path to include aspell dir (so Gaim can find aspell dlls)
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
63 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" "" "$INSTDIR\gaim.exe"
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
64 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" "Path" $R0
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
65 ; Increase refrence count for aspell dlls
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
66 Push "$R0\aspell-15.dll"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
67 Call AddSharedDLL
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
68 Push "$R0\aspell-common-0-50-2.dll"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
69 Call AddSharedDLL
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
70 Push "$R0\pspell-15.dll"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
71 Call AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
72
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
73 ; Set Start Menu icons
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
74 SetOutPath "$SMPROGRAMS\Gaim"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
75 CreateShortCut "$SMPROGRAMS\Gaim\Gaim.lnk" \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
76 "$INSTDIR\gaim.exe"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
77 CreateShortCut "$SMPROGRAMS\Gaim\Unistall.lnk" \
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
78 "$INSTDIR\gaim-uninst.exe"
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
79
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
80 ; write out uninstaller
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
81 WriteUninstaller "$INSTDIR\gaim-uninst.exe"
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
82 SectionEnd ; end of default section
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
83
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
84 ; begin uninstall settings/section
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
85 UninstallText "This will uninstall Gaim from your system"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
86
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
87 Section Uninstall
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
88 ; Delete Gaim Dir
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
89 RMDir /r "$INSTDIR"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
90 RMDir /r "$SMPROGRAMS\Gaim"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
91
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
92 ; Read in Aspell install path
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
93 ReadRegStr $R0 HKEY_LOCAL_MACHINE "Software\Gaim" "AspellPath"
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
94
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
95 ; Delete Gaim Registry Settings
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
96 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
97 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gaim"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
98 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
99
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
100 ; Decrease refrence count for Aspell dlls
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
101 Push "$R0\aspell-15.dll"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
102 Call un.RemoveSharedDLL
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
103 Push "$R0\aspell-common-0-50-2.dll"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
104 Call un.RemoveSharedDLL
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
105 Push "$R0\pspell-15.dll"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
106 Call un.RemoveSharedDLL
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
107
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
108 ; Delete aspell dir if its empty
3910
0d8b11bed18b [gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3892
diff changeset
109 RMDir "$R0"
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
110 SectionEnd ; end of uninstall section
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
111
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
112 ;;;
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
113 ;;; FUNCTIONS
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
114 ;;;
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
115
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
116 ; AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
117 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
118 ; Increments a shared DLLs reference count.
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
119 ; Use by passing one item on the stack (the full path of the DLL).
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
120 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
121 ; Usage:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
122 ; Push $SYSDIR\myDll.dll
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
123 ; Call AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
124 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
125
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
126 Function AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
127 Exch $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
128 Push $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
129 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
130 IntOp $R0 $R0 + 1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
131 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
132 Pop $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
133 Pop $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
134 FunctionEnd
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
135
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
136 ; un.RemoveSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
137 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
138 ; Decrements a shared DLLs reference count, and removes if necessary.
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
139 ; Use by passing one item on the stack (the full path of the DLL).
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
140 ; Note: for use in the main installer (not the uninstaller), rename the
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
141 ; function to RemoveSharedDLL.
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
142 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
143 ; Usage:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
144 ; Push $SYSDIR\myDll.dll
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
145 ; Call un.RemoveShareDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
146 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
147
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
148 Function un.RemoveSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
149 Exch $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
150 Push $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
151 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
152 StrCmp $R0 "" remove
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
153 IntOp $R0 $R0 - 1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
154 IntCmp $R0 0 rk rk uk
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
155 rk:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
156 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
157 goto Remove
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
158 uk:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
159 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
160 Goto noremove
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
161 remove:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
162 Delete /REBOOTOK $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
163 noremove:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
164 Pop $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
165 Pop $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
166 FunctionEnd
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
167
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
168 ; eof
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
169