; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] AppID=SciTE_{{14906E3B-DA79-49B7-A747-49260999BA4B} AppName=SciTE - Scintilla Text Editor with Extensions AppVerName=SciTE - Scintilla Text Editor 1.70 with Extensions (wbd-1) AppPublisher=W Bruce Dodson AppPublisherURL=http://gisdeveloper.tripod.com/scite.html AppSupportURL=http://www.scintilla.org/SciTE.html AppUpdatesURL=http://gisdeveloper.tripod.com/scite.html DefaultDirName={pf}\Scintilla Text Editor DefaultGroupName=Scintilla Text Editor AllowNoIcons=true OutputBaseFilename=scite-1.70-setup-1 AppCopyright=SciTE Copyright © 1998-2006 by Neil Hodgson (parts copyright Bruce Dodson and others) ChangesAssociations=true DisableStartupPrompt=true ShowTasksTreeLines=false AppVersion=1.70 UninstallDisplayIcon={app}\SciTE.exe OutputDir=. Compression=lzma SolidCompression=true InternalCompressLevel=normal MinVersion=4.0.950,4.0.1381 VersionInfoVersion=1.7.0.1 VersionInfoTextVersion=1.70-wbd-1 [Languages] Name: default; MessagesFile: default_noclickwrap.isl; InfoBeforeFile: License.txt ; InfoAfterFile: Changes.txt [Tasks] Name: indent; Description: Source code &indenting commands; GroupDescription: Optional components: Name: desktopicon; Description: Create a &Desktop icon; GroupDescription: Additional icons:; MinVersion: 4,4 Name: quicklaunchicon; Description: Create a &Quick Launch icon; GroupDescription: Additional icons:; MinVersion: 4,4 ;GroupDescription: File associations: ;Name: sendtomenu; Description: Add an entry in the &Send To menu; GroupDescription: File associations: Name: shellextension; Description: Register &shell extension (This option might not take effect until you restart.); GroupDescription: File associations:; Flags: checkedonce ; Check: CheckEnableShellExtensionOption [Files] Source: License.txt; DestDir: {app} Source: luaCOPYRIGHT; DestDir: {app} ;Source: Changes.txt; DestDir: {app} Source: SciLexer.dll; DestDir: {app}; Flags: promptifolder restartreplace replacesameversion uninsrestartdelete Source: SciTE.exe; DestDir: {app}; Flags: promptifolder restartreplace replacesameversion uninsrestartdelete Source: wscitecm.dll; DestDir: {app}; Tasks: shellextension; Flags: promptifolder restartreplace replacesameversion regserver uninsrestartdelete; Check: CheckAdminLoggedOn ; Awk removed: just use the built-in recursive find when running on Win9x ;Source: awk.exe; DestDir: {app}; Flags: promptifolder restartreplace replacesameversion uninsrestartdelete Source: props\*.properties; DestDir: {app} Source: extras\*.properties; DestDir: {app} Source: extras\*.lua; DestDir: {app} Source: extras\*.api; DestDir: {app} Source: doc\*.html; DestDir: {app} Source: doc\*.png; DestDir: {app} Source: doc\*.jpg; DestDir: {app} Source: Setup-SciTE.iss; DestDir: {app} Source: default_noclickwrap.isl; DestDir: {app} Source: tidy.exe; DestDir: {app}; Tasks: indent; Flags: promptifolder restartreplace replacesameversion uninsrestartdelete Source: astyle.exe; DestDir: {app}; Tasks: indent; Flags: promptifolder restartreplace replacesameversion uninsrestartdelete Source: astyle\astyle.html; DestDir: {app}\Artistic Style; Tasks: indent Source: astyle\license.html; DestDir: {app}\Artistic Style; Tasks: indent Source: astyle\src.tar.bz2; DestDir: {app}\Artistic Style; Tasks: indent ;Disclose all changes vs. official release (source code and properties) Source: DIFF_PATCH_README.txt; DestDir: {app} Source: scite-wbd-release.diff; DestDir: {app} ;This is in case, in a subsequent version, I want to detect that the config ;files have been changed, and warn before replacing during an upgrade. Source: scite-wbd-config.md5; DestDir: {app} ;A more advanced method, perhaps fun to implement but not useful to me ;in particular, would be to store a second copy of the config files ;e.g. {app}/shadow/SciTEGlobal.properties etc. so that the upgrade could ;do a diff before replacing, and attempt a merge afterward. Not important ;to me; these are my settings and they "already" match my preferences. [Dirs] Name: {app}\Artistic Style [Icons] Name: {group}\SciTE; Filename: {app}\SciTE.exe Name: {group}\SciTE Help; Filename: {app}\SciTEDoc.html Name: {group}\SciTE Lua Scripting Notes; Filename: {app}\SciTELua.html Name: {userdesktop}\Scintilla Text Editor; Filename: {app}\SciTE.exe; MinVersion: 4,4; Tasks: desktopicon Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Scintilla Text Editor; Filename: {app}\SciTE.exe; MinVersion: 4,4; Tasks: quicklaunchicon; IconIndex: 0 ;Name: {sendto}\Scintilla Text Editor; Filename: {app}\SciTE.exe; WorkingDir: {app}; IconIndex: 0; Flags: createonlyiffileexists [Registry] Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SciTE.exe; ValueType: string; ValueData: {app}\SciTE.exe; Flags: uninsdeletekeyifempty uninsdeletevalue; Check: CheckPowerUserLoggedOn Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SciTE.exe; ValueName: Path; ValueType: string; ValueData: {app}; Flags: uninsdeletekeyifempty uninsdeletevalue; Check: CheckPowerUserLoggedOn ;This has been complained about, and I don't use it myself, so I'm removing it. ;Root: HKCR; Subkey: *\shell; Flags: uninsdeletekeyifempty; Check: CheckAdminLoggedOn ;Root: HKCR; Subkey: *\shell\scite; ValueType: string; ValueData: Open with &SciTE; Flags: uninsdeletekey; Check: CheckInstallFileAssociation ;Root: HKCR; Subkey: *\shell\scite\command; ValueType: string; ValueData: """{app}\SciTE.exe"" ""%1"""; Check: CheckInstallFileAssociation ; ;The deletekey part stays in, for a few releases at least Root: HKCR; Subkey: *\shell\scite; Flags: deletekey; Check: CheckRemoveFileAssociation [Run] Filename: {app}\SciTE.exe; Description: Launch Scintilla Text Editor; Flags: nowait postinstall skipifsilent unchecked ;[Registry] ;No longer needed - wscite 1.2 is now self registering and knows how to find scite in same folder. ;Root: HKCU; Subkey: Software\SciTE; ValueType: string; ValueName: path; ValueData: {app}\SciTE.exe; Flags: uninsdeletekey ;Root: HKCR; Subkey: CLSID\{{120b94b5-2e6a-4f13-94d0-414bcb64fa0f}; ValueType: string; ValueData: SciTE; Flags: uninsdeletekey; Tasks: shellextension ;Root: HKCR; Subkey: CLSID\{{120b94b5-2e6a-4f13-94d0-414bcb64fa0f}\InProcServer32; ValueType: string; ValueData: {app}\wscitecm.dll; Tasks: shellextension ;Root: HKCR; Subkey: CLSID\{{120b94b5-2e6a-4f13-94d0-414bcb64fa0f}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Tasks: shellextension ;Root: HKCR; Subkey: *\shellex\ContextMenuHandlers\SciTE; ValueType: string; ValueData: {{120b94b5-2e6a-4f13-94d0-414bcb64fa0f}}; Flags: uninsdeletekey; Tasks: shellextension [Code] Program Setup; { Note to self: I looked at using SciTEDirector interface to find out whether my SciTE is already running, so that I could warn the user if they try to uninstall. It appears to be complicated but possible to do this from IFPS - I got as far as finding the SDI window before realizing that scripts don't run during uninstall. I have a feeling I thought about doing that an app mutex another time, just as a quick check, but decided not to bother. So this note is a reminder not to waste time on this unimportant feature. } Function CheckAdminLoggedOn(): Boolean; begin Result := IsAdminLoggedOn; end; Function CheckPowerUserLoggedOn(): Boolean; begin Result := IsPowerUserLoggedOn Or IsAdminLoggedOn; end; Function IsShellExtensionAlreadyInstalled(): Boolean; begin Result := RegKeyExists(HKEY_CLASSES_ROOT, '*\shellex\ContextMenuHandlers\SciTE'); end; Function CheckEnableShellExtensionOption(): Boolean; begin Result := IsAdminLoggedOn and not IsShellExtensionAlreadyInstalled; end; Function CheckInstallFileAssociation(): Boolean; begin Result := IsAdminLoggedOn and ( (Pos('shellextension', WizardSelectedTasks(False)) = 0) and not IsShellExtensionAlreadyInstalled ); end; Function CheckRemoveFileAssociation(): Boolean; begin Result := IsAdminLoggedOn and ( (Pos('shellextension', WizardSelectedTasks(False)) <> 0) or IsShellExtensionAlreadyInstalled ); end; begin {no program body} end.