Mercurial > pidgin
view gaim-installer.nsi @ 5205:fefad67de2c7
[gaim-migrate @ 5573]
I had a damn good commit message, but it was eaten. Let's try it again.
Announcing, Gaim Plugin API version 2.0, or GPAPIV2.0 for short.
There are lots'a cool thingies here.
Okay now, this isn't as cool as the previous message, but:
1) There's now a single entry function for all plugin types. It returns a
detailed information structure on the plugin. This removes a lot of the
ugliness from old plugins. Oh yeah, libicq wasn't converted to this, so
if you use it, well, you shouldn't have used it anyway, but now you
can't! bwahahaha. Use AIM/ICQ.
2) There are now 3 types of plugins: Standard, Loader, and Protocol
plugins.
Standard plugins are, well, standard, compiled plugins.
Loader plugins load other plugins. For example, the perl support is now
a loader plugin. It loads perl scripts. In the future, we'll have
Ruby and Python loader plugins.
Protocol plugins are, well, protocol plugins... yeah...
3) Plugins have unique IDs, so they can be referred to or automatically
updated from a plugin database in the future. Neat, huh?
4) Plugins will have dependency support in the future, and can be hidden,
so if you have, say, a logging core plugin, it won't have to show up,
but then you load the GTK+ logging plugin and it'll auto-load the core
plugin. Core/UI split plugins!
5) There will eventually be custom plugin signals and RPC of some sort, for
the core/ui split plugins.
So, okay, back up .gaimrc.
I'd like to thank my parents for their support, javabsp for helping convert
a bunch of protocol plugins, and Etan for helping convert a bunch of
standard plugins.
Have fun. If you have any problems, please let me know, but you probably
won't have anything major happen. You will have to convert your plugins,
though, and I'm not guaranteeing that all perl scripts will still work.
I'll end up changing the perl script API eventually, so I know they won't
down the road. Don't worry, though. It'll be mass cool.
faceprint wants me to just commit the damn code already. So, here we go!!!
..
..
I need a massage. From a young, cute girl. Are there any young, cute girls
in the audience? IM me plz k thx.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Fri, 25 Apr 2003 06:47:33 +0000 |
parents | ff58f210135c |
children | 4d734dbc88dd |
line wrap: on
line source
; Installer script for win32 Gaim ; Herman Bloggs <hermanator12002@yahoo.com> ; NOTE: this .NSI script is designed for NSIS v2.0b3+ !define MUI_PRODUCT "Gaim" ;Define your own software name here !define MUI_VERSION ${GAIM_VERSION} ;Define your own software version here !include "MUI.nsh" ;-------------------------------- ;Configuration ;General OutFile "gaim-${GAIM_VERSION}.exe" ;Folder selection page InstallDir "$PROGRAMFILES\Gaim" ;Remember install folder InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" !define MUI_ICON .\pixmaps\gaim-install.ico !define MUI_UNICON .\pixmaps\gaim-install.ico ;-------------------------------- ;Modern UI Configuration !define MUI_WELCOMEPAGE !define MUI_LICENSEPAGE !define MUI_DIRECTORYPAGE !define MUI_FINISHPAGE !define MUI_ABORTWARNING !define MUI_UNINSTALLER !define MUI_UNCONFIRMPAGE ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ;Data LicenseData "./COPYING" ;-------------------------------- ;Installer Sections Section "" ; (default section) ; Check if previous intallation exists ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\gaim" "" StrCmp $R0 "" cont_install ; Previous version found ReadRegStr $R1 HKEY_LOCAL_MACHINE "SOFTWARE\gaim" "Version" ; Version key started with 0.60a3. Prior versions can't be ; automaticlly uninstalled. StrCmp $R1 "" uninstall_error ; Version found - Read in uninstall string. ReadRegStr $R2 HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "UninstallString" StrCmp $R2 "" uninstall_error ; Have uninstall string.. go ahead and uninstall. SetOverwrite on ; Need to copy uninstaller outside of the install dir so that when deleting ; the install dir we won't come across an in use binary. CopyFiles /SILENT $R2 "$TEMP\gaim-uninst.exe" SetOverwrite off IfErrors uninstall_error uninstall_copy uninstall_copy: ExecWait '"$TEMP\gaim-uninst.exe" /S _?=$R0' IfErrors exec_error exec_cont exec_cont: Delete "$TEMP\gaim-uninst.exe" Goto cont_install exec_error: Delete "$TEMP\gaim-uninst.exe" uninstall_error: ; In this case just wipe out previous Gaim install dir.. ; We get here because versions 0.60a1 and 0.60a2 don't have versions set in the registry ; and versions 0.60 and lower did not correctly set the uninstall reg string ; (the string was set in quotes) DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" RMDir /r "$R0" cont_install: ; Check to see if GTK+ Runtime is installed. ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\GTK\2.0" "Version" StrCmp $R0 "" no_gtk have_gtk no_gtk: ; Instruct user to install GTK+ runtime first. MessageBox MB_OK "Could not find GTK+ runtime environment. Visit http://www.dropline.net/gtk/ to download and install GTK+ v2.2.1.1" IDOK Quit have_gtk: ; Check GTK+ version StrLen $R3 $R0 ; Expecting 5 char length version string IntCmp $R3 5 check_version bad_version check_version ; if greater or equal to 5... good check_version: StrCpy $R4 $R0 1 ;Major StrCpy $R1 $R0 1 2 ;Minor StrCpy $R2 $R0 1 4 ;Micro IntCmp $R4 2 to_minor bad_version to_minor: IntCmp $R1 2 to_micro bad_version to_micro: ; If greator or equal to one.. good IntCmp $R2 1 good_version bad_version good_version bad_version: MessageBox MB_OK "Found GTK+ verison $R0. Make sure that you have version 2.2.1 or higher installed, before installing Gaim." IDOK Quit ; Continue good_version: SetOutPath "$INSTDIR" ; Gaim files File /r .\win32-install-dir\*.* ; Gaim Registry Settings WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" "$INSTDIR" WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "Version" "${GAIM_VERSION}" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "DisplayName" "Gaim (remove only)" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "UninstallString" "$INSTDIR\gaim-uninst.exe" ; Set App path to include GTK+ lib dir WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" "" "$INSTDIR\gaim.exe" ; Concat GTK+ path and lib dir ReadRegStr $R5 HKEY_LOCAL_MACHINE "SOFTWARE\GTK\2.0" "Path" StrCpy $R5 "$R5\lib" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" "Path" $R5 ; Set Start Menu icons SetShellVarContext "all" CreateDirectory "$SMPROGRAMS\Gaim" CreateShortCut "$SMPROGRAMS\Gaim\Gaim.lnk" \ "$INSTDIR\gaim.exe" CreateShortCut "$SMPROGRAMS\Gaim\Uninstall.lnk" \ "$INSTDIR\gaim-uninst.exe" ; Set Desktop icon CreateShortCut "$DESKTOP\Gaim.lnk" \ "$INSTDIR\gaim.exe" ; write out uninstaller WriteUninstaller "$INSTDIR\gaim-uninst.exe" SectionEnd ; end of default section ;-------------------------------- ;Uninstaller Section Section Uninstall ; Delete Gaim Dir RMDir /r "$INSTDIR" ; Delete Start Menu group & Desktop icon SetShellVarContext "all" RMDir /r "$SMPROGRAMS\Gaim" Delete "$DESKTOP\Gaim.lnk" ; Delete Gaim Registry Settings DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" ;Display the Finish header !insertmacro MUI_UNFINISHHEADER SectionEnd ; end of uninstall section