Mercurial > pidgin.yaz
annotate gaim-installer.nsi @ 4057:68d942babdfa
[gaim-migrate @ 4267]
I just came up with this idea.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Tue, 10 Dec 2002 18:19:58 +0000 |
parents | 85980320d468 |
children | e8f2fdf78662 |
rev | line source |
---|---|
3630 | 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 | 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 | 5 |
3966
ff8eb6508202
[gaim-migrate @ 4150]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3965
diff
changeset
|
6 Name "Gaim ${GAIM_VERSION} (Win32)" |
ff8eb6508202
[gaim-migrate @ 4150]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3965
diff
changeset
|
7 OutFile "gaim-${GAIM_VERSION}.exe" |
3630 | 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 | 10 |
11 ; Some default compiler settings (uncomment and change at will): | |
12 ; SetCompress auto ; (can be off or force) | |
13 ; SetDatablockOptimize on ; (can be off) | |
14 ; CRCCheck on ; (can be off) | |
15 ; AutoCloseWindow false ; (can be true for the window go away automatically at end) | |
16 ; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable) | |
17 ; SetDateSave off ; (can be on to have files restored to their orginal date) | |
18 | |
19 InstallDir "$PROGRAMFILES\Gaim" | |
20 InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" | |
21 DirShow show ; (make this hide to not let the user change it) | |
22 DirText "Select the directory to install Gaim in:" | |
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 |
3989
85980320d468
[gaim-migrate @ 4180]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3966
diff
changeset
|
40 ; Don't do this silently (i.e /S switch).. because some people wish to specify |
85980320d468
[gaim-migrate @ 4180]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3966
diff
changeset
|
41 ; the location of the Aspell install directory. ( |
85980320d468
[gaim-migrate @ 4180]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3966
diff
changeset
|
42 ExecWait '"$INSTDIR\aspell-0.50.2.exe"' $R0 |
3917
29ccbc3eb9c1
[gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3910
diff
changeset
|
43 ; cleanup aspell installer file |
29ccbc3eb9c1
[gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3910
diff
changeset
|
44 Delete "$INSTDIR\aspell-0.50.2.exe" |
29ccbc3eb9c1
[gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3910
diff
changeset
|
45 ; Check if aspell installer completed ok |
29ccbc3eb9c1
[gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3910
diff
changeset
|
46 StrCmp $R0 "0" have_aspell |
29ccbc3eb9c1
[gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3910
diff
changeset
|
47 ; Aspell exited uncleanly so we will exit uncleanly too. |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
48 RMDir /r "$INSTDIR" |
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
49 Quit |
3917
29ccbc3eb9c1
[gaim-migrate @ 4076]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3910
diff
changeset
|
50 have_aspell: |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
51 SetOutPath "$INSTDIR" |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
52 ; Gaim files |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
53 File /r .\win32-install-dir\*.* |
3860
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
54 |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
55 ; Gaim Registry Settings |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
56 ; Read in Aspell install path |
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
57 ReadRegStr $R0 HKEY_LOCAL_MACHINE "Software\Aspell" "" |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
58 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" "$INSTDIR" |
3966
ff8eb6508202
[gaim-migrate @ 4150]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3965
diff
changeset
|
59 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "Version" "${GAIM_VERSION}" |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
60 ; Keep track of aspell install path, for when we uninstall |
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
61 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "AspellPath" $R0 |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
62 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
|
63 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
|
64 ; 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
|
65 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
|
66 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
|
67 ; Increase refrence count for aspell dlls |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
68 Push "$R0\aspell-15.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\aspell-common-0-50-2.dll" |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
71 Call AddSharedDLL |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
72 Push "$R0\pspell-15.dll" |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
73 Call AddSharedDLL |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
74 |
3860
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
75 ; Set Start Menu icons |
3630 | 76 SetOutPath "$SMPROGRAMS\Gaim" |
77 CreateShortCut "$SMPROGRAMS\Gaim\Gaim.lnk" \ | |
78 "$INSTDIR\gaim.exe" | |
79 CreateShortCut "$SMPROGRAMS\Gaim\Unistall.lnk" \ | |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
80 "$INSTDIR\gaim-uninst.exe" |
3860
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
81 |
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
82 ; write out uninstaller |
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
83 WriteUninstaller "$INSTDIR\gaim-uninst.exe" |
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
84 SectionEnd ; end of default section |
3630 | 85 |
86 ; begin uninstall settings/section | |
87 UninstallText "This will uninstall Gaim from your system" | |
88 | |
89 Section Uninstall | |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
90 ; Delete Gaim Dir |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
91 RMDir /r "$INSTDIR" |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
92 RMDir /r "$SMPROGRAMS\Gaim" |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
93 |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
94 ; Read in Aspell install path |
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
95 ReadRegStr $R0 HKEY_LOCAL_MACHINE "Software\Gaim" "AspellPath" |
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
96 |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
97 ; Delete Gaim Registry Settings |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
98 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
99 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
100 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
|
101 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
102 ; Decrease refrence count for Aspell dlls |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
103 Push "$R0\aspell-15.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\aspell-common-0-50-2.dll" |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
106 Call un.RemoveSharedDLL |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
107 Push "$R0\pspell-15.dll" |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
108 Call un.RemoveSharedDLL |
3860
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
109 |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
110 ; Delete aspell dir if its empty |
3910
0d8b11bed18b
[gaim-migrate @ 4069]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3892
diff
changeset
|
111 RMDir "$R0" |
3630 | 112 SectionEnd ; end of uninstall section |
113 | |
3860
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
114 ;;; |
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
115 ;;; FUNCTIONS |
d0897828bd0d
[gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
116 ;;; |
3853
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 ; AddSharedDLL |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
119 ; |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
120 ; Increments a shared DLLs reference count. |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
121 ; 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
|
122 ; |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
123 ; Usage: |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
124 ; Push $SYSDIR\myDll.dll |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
125 ; Call AddSharedDLL |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
126 ; |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
127 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
128 Function AddSharedDLL |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
129 Exch $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
130 Push $R0 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
131 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
132 IntOp $R0 $R0 + 1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
133 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
134 Pop $R0 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
135 Pop $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
136 FunctionEnd |
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 ; un.RemoveSharedDLL |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
139 ; |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
140 ; Decrements a shared DLLs reference count, and removes if necessary. |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
141 ; 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
|
142 ; 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
|
143 ; function to RemoveSharedDLL. |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
144 ; |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
145 ; Usage: |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
146 ; Push $SYSDIR\myDll.dll |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
147 ; Call un.RemoveShareDLL |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
148 ; |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
149 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
150 Function un.RemoveSharedDLL |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
151 Exch $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
152 Push $R0 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
153 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
154 StrCmp $R0 "" remove |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
155 IntOp $R0 $R0 - 1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
156 IntCmp $R0 0 rk rk uk |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
157 rk: |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
158 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
159 goto Remove |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
160 uk: |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
161 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
162 Goto noremove |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
163 remove: |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
164 Delete /REBOOTOK $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
165 noremove: |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
166 Pop $R0 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
167 Pop $R1 |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
168 FunctionEnd |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3849
diff
changeset
|
169 |
3630 | 170 ; eof |
171 |