annotate gaim-installer.nsi @ 3892:ac76cf27f8d5

[gaim-migrate @ 4044] A check to see if Gaim is already installed committer: Tailor Script <tailor@pidgin.im>
author Herman Bloggs <hermanator12002@yahoo.com>
date Sun, 03 Nov 2002 23:36:22 +0000
parents d0897828bd0d
children 0d8b11bed18b
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
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 ; Generated NSIS script file (generated by makensitemplate.phtml 0.21)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 ; Herman on Sep 11 02 @ 21:52
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5 ; NOTE: this .NSI script is designed for NSIS v1.8+
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6
3849
a3093efd9027 [gaim-migrate @ 4001]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
7 Name "Gaim 0.60 alpha 3 (Win32)"
a3093efd9027 [gaim-migrate @ 4001]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
8 OutFile "gaim-0.60-alpha3.exe"
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9 Icon .\pixmaps\gaim-install.ico
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
10 UninstallIcon .\pixmaps\gaim-install.ico
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 ; Some default compiler settings (uncomment and change at will):
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 ; SetCompress auto ; (can be off or force)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 ; SetDatablockOptimize on ; (can be off)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 ; CRCCheck on ; (can be off)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 ; 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
17 ; 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
18 ; 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
19
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 InstallDir "$PROGRAMFILES\Gaim"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21 InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" ""
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
22 DirShow show ; (make this hide to not let the user change it)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
23 DirText "Select the directory to install Gaim in:"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
24
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
25 Section "" ; (default section)
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
26 ; Check if previous intallation exists
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
27 ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\gaim" ""
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
28 StrCmp $R0 "" cont_install
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
29 ReadRegStr $R1 HKEY_LOCAL_MACHINE "SOFTWARE\gaim" "Version"
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
30 StrCmp $R1 "" no_version
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
31 ; Gaim found, so exit Intallation
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
32 MessageBox MB_OK "Gaim v$R1 has already been installed. If you wish to install a new version, uninstall first." IDOK
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
33 Quit
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
34 no_version:
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
35 MessageBox MB_OK "Gaim has already been installed on your machine. If you wish to install a new version, uninstall first." IDOK
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
36 Quit
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
37 cont_install:
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
38
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
39 ; Install Aspell
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
40 SetOutPath "$INSTDIR"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
41 File ..\win32-dev\aspell-15\bin\aspell-0.50.2.exe
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
42 ExecWait "$INSTDIR\aspell-0.50.2.exe"
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
43
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
44 SetOutPath "$INSTDIR"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
45 ; Gaim files
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
46 File /r .\win32-install-dir\*.*
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
47
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
48 ; Gaim Registry Settings
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
49 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" "$INSTDIR"
3892
ac76cf27f8d5 [gaim-migrate @ 4044]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3860
diff changeset
50 WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "Version" "0.60a3"
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
51 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
52 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "UninstallString" '"$INSTDIR\gaim-uninst.exe"'
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
53 ; Set App path to include aspell dir
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
54 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" "" "$INSTDIR\gaim.exe"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
55 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" "Path" "$PROGRAMFILES\aspell"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
56 ; Increase refrence count for aspell dlls
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
57 Push "C:\Program Files\aspell\aspell-15.dll"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
58 Call AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
59 Push "C:\Program Files\aspell\aspell-common-0-50-2.dll"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
60 Call AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
61 Push "C:\Program Files\aspell\pspell-15.dll"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
62 Call AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
63
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
64 ; Set Start Menu icons
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
65 SetOutPath "$SMPROGRAMS\Gaim"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
66 CreateShortCut "$SMPROGRAMS\Gaim\Gaim.lnk" \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
67 "$INSTDIR\gaim.exe"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
68 CreateShortCut "$SMPROGRAMS\Gaim\Unistall.lnk" \
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
69 "$INSTDIR\gaim-uninst.exe"
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
70
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
71 ; write out uninstaller
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
72 WriteUninstaller "$INSTDIR\gaim-uninst.exe"
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
73
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
74 ; cleanup aspell installer file
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
75 Delete "$INSTDIR\aspell-0.50.2.exe"
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
76 SectionEnd ; end of default section
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
77
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
78 ; begin uninstall settings/section
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
79 UninstallText "This will uninstall Gaim from your system"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
80
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
81 Section Uninstall
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
82 ; Delete Gaim Dir
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
83 RMDir /r "$INSTDIR"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
84 RMDir /r "$SMPROGRAMS\Gaim"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
85
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
86 ; Delete Gaim Registry Settings
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
87 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
88 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gaim"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
89 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
90
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
91 ; Decrease refrence count for Aspell dlls
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
92 Push "C:\Program Files\aspell\aspell-15.dll"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
93 Call un.RemoveSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
94 Push "C:\Program Files\aspell\aspell-common-0-50-2.dll"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
95 Call un.RemoveSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
96 Push "C:\Program Files\aspell\pspell-15.dll"
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
97 Call un.RemoveSharedDLL
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
98
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
99 ; Delete aspell dir if its empty
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
100 RMDir "C:\Program Files\aspell"
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
101 SectionEnd ; end of uninstall section
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
102
3860
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
103 ;;;
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
104 ;;; FUNCTIONS
d0897828bd0d [gaim-migrate @ 4012]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3853
diff changeset
105 ;;;
3853
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
106
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
107 ; AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
108 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
109 ; Increments a shared DLLs reference count.
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
110 ; 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
111 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
112 ; Usage:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
113 ; Push $SYSDIR\myDll.dll
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
114 ; Call AddSharedDLL
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
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
117 Function AddSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
118 Exch $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
119 Push $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
120 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
121 IntOp $R0 $R0 + 1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
122 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
123 Pop $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
124 Pop $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
125 FunctionEnd
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 ; un.RemoveSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
128 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
129 ; Decrements a shared DLLs reference count, and removes if necessary.
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
130 ; 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
131 ; 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
132 ; function to RemoveSharedDLL.
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
133 ;
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
134 ; Usage:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
135 ; Push $SYSDIR\myDll.dll
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
136 ; Call un.RemoveShareDLL
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
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
139 Function un.RemoveSharedDLL
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
140 Exch $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
141 Push $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
142 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
143 StrCmp $R0 "" remove
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
144 IntOp $R0 $R0 - 1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
145 IntCmp $R0 0 rk rk uk
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
146 rk:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
147 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
148 goto Remove
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
149 uk:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
150 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
151 Goto noremove
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
152 remove:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
153 Delete /REBOOTOK $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
154 noremove:
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
155 Pop $R0
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
156 Pop $R1
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
157 FunctionEnd
eddcb3a8c74e [gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3849
diff changeset
158
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
159 ; eof
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
160