From e83fefc0b70bc2b8a8669b31121609ef3437514f Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Tue, 3 Sep 2013 21:33:41 +0000 Subject: - Installer: unified script for x86 and x64 git-svn-id: http://svn.miranda-ng.org/main/trunk@5927 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- tools/installer_ng/InnoNG_32/MirandaNG.iss | 858 --------------------------- tools/installer_ng/InnoNG_64/MirandaNG.iss | 859 --------------------------- tools/installer_ng/MirandaNG.iss | 901 +++++++++++++++++++++++++++++ tools/installer_ng/cleanup.bat | 4 +- tools/installer_ng/make.bat | 13 +- 5 files changed, 913 insertions(+), 1722 deletions(-) delete mode 100644 tools/installer_ng/InnoNG_32/MirandaNG.iss delete mode 100644 tools/installer_ng/InnoNG_64/MirandaNG.iss create mode 100644 tools/installer_ng/MirandaNG.iss (limited to 'tools/installer_ng') diff --git a/tools/installer_ng/InnoNG_32/MirandaNG.iss b/tools/installer_ng/InnoNG_32/MirandaNG.iss deleted file mode 100644 index d5669ce0b3..0000000000 --- a/tools/installer_ng/InnoNG_32/MirandaNG.iss +++ /dev/null @@ -1,858 +0,0 @@ -[Setup] -AppVersion=0.94.5 -AppName=Miranda NG -AppVerName=Miranda NG {#SetupSetting("AppVersion")} -AppPublisher=Miranda NG Team -AppCopyRight=2013 © Miranda NG Team -VersionInfoVersion={#SetupSetting("AppVersion")} -MinVersion=5.0 -DefaultDirName={pf}\Miranda NG -DefaultGroupName=Miranda NG -LicenseFile=Files\Docs\license.txt -UninstallFilesDir={app}\Uninstall -UninstallDisplayIcon=Miranda32.exe -UninstallDisplayName=Miranda NG -UninstallLogMode=overwrite -Uninstallable=IsDefault() -CreateUninstallRegKey=IsDefault() -Compression=lzma2/max -SolidCompression=yes -PrivilegesRequired=poweruser -OutputDir=..\ -OutputBaseFilename=miranda-ng-alpha-latest -WizardImageFile=Installer\WizModernImage-IS.bmp -WizardSmallImageFile=Installer\SetupMNGSmall.bmp -SetupIconFile=Installer\mng_installer.ico -DirExistsWarning=no -UsePreviousAppDir=no -UsePreviousGroup=no -UsePreviousSetupType=no -UsePreviousTasks=no - - -[Files] -; Folders -Source: "Files\Docs\*"; DestDir: "{app}\Docs"; Components: program; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: ShowPercent() -Source: "Files\Skins\Sounds\*"; DestDir: "{app}\Skins\Sounds"; Components: sounds; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: ShowPercent() - -; Icons -Source: "Files\Icons\Proto_AIM.dll"; DestDir: "{app}\Icons"; Components: protocols\aim; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_Facebook.dll"; DestDir: "{app}\Icons"; Components: protocols\facebook; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_GG.dll"; DestDir: "{app}\Icons"; Components: protocols\gg; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_ICQ.dll"; DestDir: "{app}\Icons"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_IRC.dll"; DestDir: "{app}\Icons"; Components: protocols\irc; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_Jabber.dll"; DestDir: "{app}\Icons"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_MSN.dll"; DestDir: "{app}\Icons"; Components: protocols\msn; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_Yahoo.dll"; DestDir: "{app}\Icons"; Components: protocols\yahoo; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\xstatus_icq.dll"; DestDir: "{app}\Icons"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\xstatus_jabber.dll"; DestDir: "{app}\Icons"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\tabsrmm_icons.dll"; DestDir: "{app}\Icons"; Components: messagewin\tabsrmm; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\toolbar_icons.dll"; DestDir: "{app}\Icons"; Components: clicts\modern; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Core and core modules -Source: "Files\Miranda32.exe"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\mir_core.dll"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\zlib.dll"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\DbChecker.bat"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\msvcp100.dll"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\msvcr100.dll"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdauth.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdautoaway.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdaway.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdchat.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdclist.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdcrypt.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdemail.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdfile.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdhelp.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdidle.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdmsg.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stduihist.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdurl.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stduserinfo.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stduseronline.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() - -; LangPacks -Source: "Files\langpack_czech.txt"; DestDir: "{app}"; Components: lang\czech; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\langpack_german.txt"; DestDir: "{app}"; Components: lang\german; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\langpack_polish.txt"; DestDir: "{app}"; Components: lang\polish; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\langpack_russian.txt"; DestDir: "{app}"; Components: lang\russian; Flags: ignoreversion; AfterInstall: ShowPercent() - -;Plugins - not selectable -Source: "Files\Plugins\AdvaImg.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\AVS.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\DbChecker.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Import.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\PluginUpdater.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\pu_stub.exe"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Protocols -Source: "Files\Plugins\AIM.dll"; DestDir: "{app}\Plugins"; Components: protocols\aim; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Facebook.dll"; DestDir: "{app}\Plugins"; Components: protocols\facebook; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\GG.dll"; DestDir: "{app}\Plugins"; Components: protocols\gg; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\ICQ.dll"; DestDir: "{app}\Plugins"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\IRC.dll"; DestDir: "{app}\Plugins"; Components: protocols\irc; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Jabber.dll"; DestDir: "{app}\Plugins"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\MSN.dll"; DestDir: "{app}\Plugins"; Components: protocols\msn; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Yahoo.dll"; DestDir: "{app}\Plugins"; Components: protocols\yahoo; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Clists -Source: "Files\Plugins\Clist_blind.dll"; DestDir: "{app}\Plugins"; Components: clicts\blind; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Clist_modern.dll"; DestDir: "{app}\Plugins"; Components: clicts\modern; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Clist_nicer.dll"; DestDir: "{app}\Plugins"; Components: clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Cln_skinedit.dll"; DestDir: "{app}\Plugins"; Components: clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\TopToolBar.dll"; DestDir: "{app}\Plugins"; Components: clicts\modern or clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Message sessions -Source: "Files\Plugins\TabSRMM.dll"; DestDir: "{app}\Plugins"; Components: messagewin\tabsrmm; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Scriver.dll"; DestDir: "{app}\Plugins"; Components: messagewin\scriver; Flags: ignoreversion; AfterInstall: ShowPercent() - -; DB drivers -Source: "Files\Plugins\Dbx_mmap.dll"; DestDir: "{app}\Plugins"; Components: dbx\mmap; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Dbx_3x.dll"; DestDir: "{app}\Plugins"; Components: dbx\3x; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Config files -Source: "Files\Settings\mirandaboot_default.ini"; DestDir: "{app}"; Components: program; DestName: "mirandaboot.ini"; Check: IsDefault(); Flags: ignoreversion onlyifdoesntexist; AfterInstall: ShowPercent() -Source: "Files\Settings\mirandaboot_portable.ini"; DestDir: "{app}"; Components: program; DestName: "mirandaboot.ini"; Check: IsPortable(); Flags: ignoreversion onlyifdoesntexist; AfterInstall: ShowPercent() -Source: "Files\Settings\autoexec_sounds.ini"; DestDir: "{app}"; Components: sounds; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\autoexec_nightly_pu.ini"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Installer add-ons -Source: "Installer\ISWin7.dll"; Flags: dontcopy -Source: "Installer\descctrl.dll"; Flags: dontcopy -Source: "Installer\vcredist_x86.exe"; DestDir: {tmp}; Flags: deleteafterinstall; Check: RedistIsNotInstalled - -[Components] -Name: "program"; Description: "{cm:Program}"; Types: extended regular minimal custom; Flags: fixed -Name: "sounds"; Description: "{cm:Sounds}"; Types: extended custom -Name: "protocols"; Description: "{cm:Protocols}"; Types: extended regular minimal custom; Flags: fixed -Name: "protocols\aim"; Description: "{cm:Aim}"; Types: extended regular minimal -Name: "protocols\facebook"; Description: "{cm:Facebook}"; Types: extended regular minimal -Name: "protocols\gg"; Description: "{cm:Gg}"; Types: extended regular minimal -Name: "protocols\icq"; Description: "{cm:Icq}"; Types: extended regular minimal -Name: "protocols\irc"; Description: "{cm:Irc}"; Types: extended regular minimal -Name: "protocols\jabber"; Description: "{cm:Jabber}"; Types: extended regular minimal -Name: "protocols\msn"; Description: "{cm:Msn}"; Types: extended regular minimal -Name: "protocols\yahoo"; Description: "{cm:Yahoo}"; Types: extended regular minimal -Name: "clists"; Description: "{cm:Clists}"; Types: extended regular minimal custom; Flags: fixed -Name: "clicts\stdclist"; Description: "{cm:StdClist}"; Types: minimal; Flags: exclusive -Name: "clicts\blind"; Description: "{cm:BlindClist}"; Types: custom; Flags: exclusive -Name: "clicts\nicer"; Description: "{cm:NicerClist}"; Types: custom; Flags: exclusive -Name: "clicts\modern"; Description: "{cm:ModernClist}"; Types: extended regular; Flags: exclusive -Name: "messagewin"; Description: "{cm:MessageWin}"; Types: extended regular minimal custom; Flags: fixed -Name: "messagewin\stdmsg"; Description: "{cm:StdMsg}"; Types: minimal; Flags: exclusive -Name: "messagewin\scriver"; Description: "{cm:Scriver}"; Types: custom; Flags: exclusive -Name: "messagewin\tabsrmm"; Description: "{cm:Tabsrmm}"; Types: extended regular; Flags: exclusive -Name: "dbx"; Description: "{cm:Dbx}"; Types: extended regular minimal custom ; Flags: fixed -Name: "dbx\3x"; Description: "{cm:Dbx_3x}"; Types: custom; Flags: exclusive -Name: "dbx\mmap"; Description: "{cm:Mmap}"; Types: extended regular minimal; Flags: exclusive -Name: "lang"; Description: "{cm:Lang}"; Types: extended regular custom minimal; Flags: fixed -Name: "lang\russian"; Description: "{cm:LangRussian}"; Flags: exclusive -Name: "lang\czech"; Description: "{cm:LangCzech}"; Flags: exclusive -Name: "lang\polish"; Description: "{cm:LangPolish}"; Flags: exclusive -Name: "lang\german"; Description: "{cm:LangGerman}"; Flags: exclusive -Name: "lang\english"; Description: "{cm:LangEnglish}"; Flags: exclusive - -[Types] -Name: "regular"; Description: "{cm:TypeRegular}" -Name: "minimal"; Description: "{cm:TypeMinimal}" -Name: "extended"; Description: "{cm:TypeExtended}" -Name: "custom"; Description: "{cm:TypeCustom}"; Flags: iscustom - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked -Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Icons] -Name: "{app}\DbChecker"; Filename: "{app}\Miranda32.exe"; Parameters: "/svc:dbchecker"; Check: IsDefault() -Name: "{group}\Miranda NG"; Filename: "{app}\Miranda32.exe" -Name: "{group}\{cm:UninstallProgram,Miranda NG}"; Filename: {app}\Uninstall\Unins000.exe -Name: "{userdesktop}\Miranda NG"; Filename: "{app}\Miranda32.exe"; WorkingDir: {app}; Tasks: desktopicon -Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Miranda NG"; Filename: "{app}\Miranda32.exe"; WorkingDir: {app}; Tasks: quicklaunchicon - -[Run] -Filename: {tmp}\vcredist_x86.exe; Parameters: "/passive /Q:a /c:""msiexec /qb /i vcredist.msi"" "; Check: RedistIsNotInstalled(); StatusMsg: Installing Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) -Filename: "{app}\Miranda32.exe"; Description: "{cm:LaunchProgram,Miranda NG}"; Flags: nowait postinstall skipifsilent - -[UninstallDelete] -Type: filesandordirs; Name: {app} - -[CustomMessages] -; English -en.InstTypeHeader=Installation Mode -en.InstTypeText=Select installation type -en.DefTypeInstRadio=Normal Installation (recommended) -en.PortTypeInstRadio=Portable Installation -en.DefTypeInstLabel=Profiles and user data files are stored in Application Data.%nUAC compatible (Windows Vista/7/8) -en.PortTypeInstLabel=Profiles and user data files are stored in program folder.%nVersion for installation on removable storage devices (such as USB flash drive)%n(Do not install to Program Files with enabled UAC!!!) - -en.ProfileUninst=WARNING!!!%nYou are about to delete profile folder containing all your settings, contacts and message history!%nAre you sure you want to remove profile?%n(You may need it later) - -en.FolderExists1=Folder -en.FolderExists2=already exists. Continue installation? - -en.PercentDone=% done - -en.TypeRegular=Regular installation -en.TypeMinimal=Minimal installation -en.TypeExtended=Extended installation -en.TypeCustom=Custom installation - -en.Program=Core components -en.Sounds=Sound files -en.Protocols=Protocols -en.Aim=AIM protocol -en.Facebook=Facebook protocol -en.GG=GG protocol -en.Icq=ICQ protocol -en.Irc=IRC protocol -en.Jabber=Jabber protocol -en.Msn=MSN protocol -en.Yahoo=Yahoo protocol -en.Clists=Contact lists -en.StdClist=Classic contact list -en.BlindClist=Contact list for blind folks -en.NicerClist=Nicer contact list -en.ModernClist=Modern contact list -en.MessageWin=Message session -en.StdMsg=SRMM and Chat plugins -en.Scriver=Scriver message plugin -en.Tabsrmm=TabSRMM message plugin -en.Dbx=Database drivers -en.Mmap=Dbx_mmap database driver (recommended) -en.Dbx_3x=Dbx_3x database driver -en.Lang=Localization files -en.LangRussian=Russian langpack -en.LangCzech=Czech langpack -en.LangPolish=Polish langpack -en.LangGerman=German langpack -en.LangEnglish=English interface - -en.DescriptionTitle=Description -en.InfoCaption=Hover over the component to get additional information -en.CoreFilesDescription=The minimum set of files needed to run the program. -en.SoundsDescription=Sound notification support for various events. -en.ProtocolsDescription=Various protocols for instant messaging and more. -en.ProtocolsAIMDescription=AOL Instant Messenger (AIM) protocol support for Miranda NG. -en.ProtocolsFbDescription=Facebook protocol support for Miranda NG. More advanced than XMPP facebook chat, supporting posting statuses, authorizations, searching contacts, and much more. -en.ProtocolsGGDescription=Gadu-Gadu protocol support for Miranda NG. -en.ProtocolsICQDescription=ICQ (OSCAR) protocol support for Miranda NG. -en.ProtocolsIRCDescription=Internet Relay Chat (IRC) protocol support for Miranda NG. -en.ProtocolsJabberDescription=Open-standard communications protocol (XMPP) for message-oriented middleware based on XML. -en.ProtocolsMSNDescription=Microsoft Network (MSN) protocol support for Miranda NG. -en.ProtocolsYahooDescription=Yahoo protocol support for Miranda NG. -en.ClistsDescription=Contact list plugins. -en.StdClistDescription=Basic contact list core module. -en.BlindClistDescription=This is a contact list for blind folks. It uses a list control to show all contacts, so screen readers can "read" the clist to the user. -en.ModernClistDescription=Supports skins, displays contacts, event notifications, protocol status with advantage visual modifications. Supported MW modifications, enhanced metacontact cooperation. -en.NicerClistDescription=Displays contacts, event notifications, protocol status. -en.MessageWinDescription=Message session plugins. -en.StdMsgDescription=Basic messaging and group chats core modules. No tabs support. -en.ScriverDescription=Easy and lightweight messaging plugin. -en.TabsrmmDescription=Advanced IM and group chat module for Miranda NG. Supports skins. -en.DBXDescription=Various database drivers. -en.MMAPDescription=Provides Miranda database support: global settings, contacts, history, settings per contact.(Recommended) -en.DBX_3xDescription=Provides Miranda database support: global settings, contacts, history, settings per contact. -en.LangDescription=Localization files for Miranda NG. -en.LangRussianDescription=Translation of Miranda NG user interface to Russian. -en.LangCzechDescription=Translation of Miranda NG user interface to Czech. -en.LangPolishDescription=Translation of Miranda NG user interface to Polish. -en.LangGermanDescription=Translation of Miranda NG user interface to German. -en.LangEnglishDescription=Original Miranda NG user interface in English. - -; Russian -ru.InstTypeHeader=Тип установки -ru.InstTypeText=Выберите тип установки программы. -ru.DefTypeInstRadio=Обычная установка (рекомендуется) -ru.PortTypeInstRadio=Портативная установка -ru.DefTypeInstLabel=Профиль и все необходимые файлы хранятся в папке пользователя%n(Application Data).%nСовместимо с UAC (Windows Vista/7/8) -ru.PortTypeInstLabel=Профиль и файлы пользователя находятся в папке с программой.%nПодходит для установки на Flash-накопители, не оставляет следов в ОС.%n(Не устанавливать в Program Files при включенном UAC!!!) - -ru.ProfileUninst=ПРЕДУПРЕЖДЕНИЕ!!!%nВы можете удалить папку профиля, включающую в себя настройки, контакты и историю переписки!%nВы действительно хотите удалить файлы профиля?%n(Может понадобиться в дальнейшем) - -ru.FolderExists1=Папка -ru.FolderExists2=уже существует. Продолжить установку? - -ru.PercentDone=% выполнено - -ru.TypeRegular=Обычная установка -ru.TypeMinimal=Минимальная установка -ru.TypeExtended=Расширенная установка -ru.TypeCustom=Выборочная установка - -ru.Program=Основные файлы -ru.Sounds=Звуки -ru.Protocols=Протоколы -ru.Aim=Протокол AIM -ru.Facebook=Протокол Facebook -ru.GG=Протокол GG -ru.Icq=Протокол ICQ -ru.Irc=Протокол IRC -ru.Jabber=Протокол Jabber -ru.Msn=Протокол MSN -ru.Yahoo=Протокол Yahoo -ru.Clists=Списки контактов -ru.StdClist=Список контактов Classic -ru.BlindClist=Список контактов для слабовидящих -ru.NicerClist=Список контактов Nicer -ru.ModernClist=Список контактов Modern -ru.MessageWin=Диалоговые окна -ru.StdMsg=Плагины SRMM и Chat -ru.Scriver=Диалоговое окно Scriver -ru.Tabsrmm=Диалоговое окно TabSRMM -ru.Dbx=Драйверы базы данных -ru.Mmap=Драйвер Dbx_mmap (рекомендуется) -ru.Dbx_3x=Драйвер Dbx_3x -ru.Lang=Языковые пакеты -ru.LangRussian=Русский -ru.LangCzech=Чешский -ru.LangPolish=Польский -ru.LangGerman=Немецкий -ru.LangEnglish=Английский - -ru.DescriptionTitle=Описание -ru.InfoCaption=Наведите на компонент, чтобы получить дополнительную информацию -ru.CoreFilesDescription=Минимальный набор файлов, необходимый для работы программы. -ru.SoundsDescription=Звуковые эффекты, проигрываемые при различных событиях в программе. -ru.ProtocolsDescription=Различные протоколы для обмена сообщениями и не только. -ru.ProtocolsAIMDescription=Поддержка протокола AOL Instant Messenger (AIM) в Miranda NG. -ru.ProtocolsFbDescription=Поддержка протокола Facebook в Miranda NG. Поддержка статусов, поиск контактов, авторизация и не только. -ru.ProtocolsGGDescription=Поддержка протокола Gadu-Gadu в Miranda NG. -ru.ProtocolsICQDescription=Поддержка протокола ICQ в Miranda NG. -ru.ProtocolsIRCDescription=Поддержка протокола Internet Relay Chat (IRC) в Miranda NG. -ru.ProtocolsJabberDescription=Поддержка протокола Jabber (XMPP) в Miranda NG. Протокол основан на открытых стандартах, базирующихся на XML. -ru.ProtocolsMSNDescription=Поддержка протокола Microsoft Network (MSN) в Miranda NG. -ru.ProtocolsYahooDescription=Поддержка протокола Yahoo в Miranda NG. -ru.ClistsDescription=Плагины списков контактов. -ru.StdClistDescription=Список контактов, являющийся модулем ядра, обеспечивает базовый функционал. -ru.BlindClistDescription=Список контактов для слабовидящих. Вспомогательные программы для людей с проблемами зрения могут легко "считать" информацию пользователю. -ru.ModernClistDescription=Показывает контакты, события, статусы протоколов с расширенными функциями оформления (скины). Мультиоконная модификация, расширенная поддержка метаконтактов. -ru.NicerClistDescription=Показывает контакты, события, статусы протоколов. -ru.MessageWinDescription=Плагины диалоговых окон. -ru.StdMsgDescription=Модули ядра, обеспечивающие базовый функционал переписки и чатов. Нет поддержки табов. -ru.ScriverDescription=Простой плагин диалоговых окон с поддержкой вкладок. Не поддерживает скины. -ru.TabsrmmDescription=Продвинутый плагин диалоговых окон с поддержкой вкладок и скинов. -ru.DBXDescription=Выбор драйвера базы данных Miranda NG. -ru.MMAPDescription=Поддержка базы Miranda NG: глобальные настройки, контакты, история, настройки контактов и т. п. Отличается меньшим количеством обращений к базе данных в процессе работы.(Рекомендуется). -ru.DBX_3xDescription=Поддержка базы Miranda NG: глобальные настройки, контакты, история, настройки контактов и т. п. -ru.LangDescription=Файлы перевода для Miranda NG. -ru.LangRussianDescription=Перевод интерфейса Miranda NG на русский язык. -ru.LangCzechDescription=Перевод интерфейса Miranda NG на чешский язык. -ru.LangPolishDescription=Перевод интерфейса Miranda NG на польский язык. -ru.LangGermanDescription=Перевод интерфейса Miranda NG на немецкий язык. -ru.LangEnglishDescription=Интерфейс Miranda NG по умолчанию — английский. - -; Czech -cz.InstTypeHeader=Režim instalace -cz.InstTypeText=Zvolte režim instalace -cz.DefTypeInstRadio=Běžná instalace (doporučeno) -cz.PortTypeInstRadio=Přenositelná verze -cz.DefTypeInstLabel=Profily a uživatelská data jsou uložena ve složce Data aplikací.%nKompatibilní se zapnutým Řízením uživatelských účtů (UAC) (Windows Vista/7/8) -cz.PortTypeInstLabel=Profily a uživatelská data jsou uložena ve složce spolu s programem.%nTento způsob je vhodný pro přenosné disky (jako USB flash disky)%n(Neinstalujte do Program Files, pokud máte zapnuté UAC!!!) - -cz.ProfileUninst=VAROVÁNÍ!!!%nChystáte se odstranit složku s profily, která obsahuje všechno vaše nastavení, kontakty a historii komunikace!%nOpravdu si přejete odstranit vaše data?%n(V budoucnu se vám ještě mohou hodit.) - -cz.FolderExists1=Složka -cz.FolderExists2=již existuje. Pokračovat v instalaci? - -cz.PercentDone=% dokončeno - -cz.TypeRegular=Běžná instalace -cz.TypeMinimal=Minimální instalace -cz.TypeExtended=Rozšířená instalace -cz.TypeCustom=Vlastní instalace - -cz.Program=Základní komponenty -cz.Sounds=Zvukové soubory -cz.protocols=Protokoly -cz.Aim=AIM protokol -cz.Facebook=Facebook protokol -cz.GG=GG protokol -cz.Icq=ICQ protokol -cz.Irc=IRC protokol -cz.Jabber=Jabber protokol -cz.Msn=MSN protokol -cz.Yahoo=Yahoo protokol -cz.Clists=Seznamy kontaktů -cz.StdClist=Clist_classic -cz.BlindClist=Clist_blind (pro nevidomé) -cz.NicerClist=Clist_nicer -cz.ModernClist=Clist_modern -cz.MessageWin=Komunikační okna -cz.StdMsg=SRMM a Chat -cz.Scriver=Scriver -cz.Tabsrmm=TabSRMM -cz.Dbx=Ovladače databáze -cz.Mmap=Dbx_mmap (doporučeno) -cz.Dbx_3x=Dbx_3x -cz.Lang=Jazykové rozhraní -cz.LangRussian=Ruština -cz.LangCzech=Čeština -cz.LangPolish=Polština -cz.LangGerman=Němčina -cz.LangEnglish=Angličtina - -cz.DescriptionTitle=Popis -cz.InfoCaption=Najeďte myší na název komponenty pro zobrazení více informací -cz.CoreFilesDescription=Balíček základních komponent vyžadovaných pro spuštění programu. -cz.SoundsDescription=Podpora zvukových efektů pro různé události. -cz.protocolsDescription=Různé protokoly pro rychlou komunikaci a další funkce. -cz.protocolsAIMDescription=AOL Instant Messenger (AIM) protokol pro Mirandu NG. -cz.protocolsFbDescription=Facebook protokol pro Mirandu NG. Pokročilejší verze než Facebook chat přes Jabber (XMPP). Podporuje sdílení stavů, neviditelnost, autorizace, vyhledávání kontaktů a mnohem více. -cz.protocolsGGDescription=Gadu-Gadu protokol pro Mirandu NG. -cz.protocolsICQDescription=ICQ (OSCAR) protokol pro Mirandu NG. -cz.protocolsIRCDescription=Internet Relay Chat (IRC) protokol pro Mirandu NG. -cz.protocolsJabberDescription=Otevřený komunikační protokol Jabber (XMPP) pro Mirandu NG. -cz.protocolsMSNDescription=Microsoft Network (MSN) protokol pro Mirandu NG. -cz.protocolsYahooDescription=Yahoo protokol pro Mirandu NG. -cz.ClistsDescription=Doplňky pro seznamy kontaktů. -cz.StdClistDescription=Základní integrovaný modul pro seznam kontaktů. -cz.BlindClistDescription=Seznam kontaktů pro nevidomé uživatele. Pro zobrazení kontaktů využívá jednoduchý seznam, který může být jednoduše přečten. -cz.ModernClistDescription=Podporuje skiny, zobrazuje kontakty, upozornění na události, stavy protokolů a umožňuje pokročilé úpravy vzhledu. Podporuje rámečky a rozšířenou práci s metakontakty. -cz.NicerClistDescription=Zobrazuje kontakty, upozornění na události, stavy protokolů a podporuje rámečky. -cz.MessageWinDescription=Doplňky pro komunikační okna. -cz.StdMsgDescription=Základní integrovaný modul pro komunikaci a skupinové chaty. Bez podpory více záložek v jednom okně. -cz.ScriverDescription=Jednoduchý a rychlý modul pro komunikaci a skupinové chaty. S podporou více záložek v jednom okně. -cz.TabsrmmDescription=Pokročilý modul pro komunikaci a skupinové chaty. Podporuje skiny a více záložek v jednom okně. -cz.DBXDescription=Různé ovladače databáze. -cz.MMAPDescription=Podpora pro databáze Mirandy: globální nastavení, kontakty, historie, nastavení pro jednotlivé kontakty. (doporučeno) -cz.DBX_3xDescription=Podpora pro databáze Mirandy: globální nastavení, kontakty, historie, nastavení pro jednotlivé kontakty. -cz.LangDescription=Jazykové balíčky pro Mirandu NG. -cz.LangRussianDescription=Překlad rozhraní Mirandy NG do ruštiny. -cz.LangCzechDescription=Překlad rozhraní Mirandy NG do češtiny. -cz.LangPolishDescription=Překlad rozhraní Mirandy NG do polštiny. -cz.LangGermanDescription=Překlad rozhraní Mirandy NG do němčiny. -cz.LangEnglishDescription=Výchozí rozhraní Mirandy NG v angličtině. - -[Languages] -Name: "en"; MessagesFile: "compiler:Default.isl" -Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" -Name: "cz"; MessagesFile: "compiler:Languages\Czech.isl" -Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" -Name: "de"; MessagesFile: "compiler:Languages\German.isl" - -[Code] -//глобальные переменные -var - DefTypeInstLabel, PortTypeInstLabel, ProgressLabel: TLabel; - DefTypeInstRadio, PortTypeInstRadio: TRadioButton; - InstallTypePage: TWizardPage; - ComponentInfo: TNewStaticText; - ComponentList: TStringList; - -//--Функции из внешних длл-- - -//Aero эффект -procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean); -external 'iswin7_add_glass@files:iswin7.dll stdcall'; -procedure iswin7_add_button(Handle:HWND); -external 'iswin7_add_button@files:iswin7.dll stdcall'; -procedure iswin7_free; -external 'iswin7_free@files:iswin7.dll stdcall'; - -//Описание компонентов -function EnableDescription(ComponentsListHandle: HWND; DescLabelHandle: HWND; DescStrings: PAnsiChar): BOOL; -external 'enabledesc@files:descctrl.dll stdcall'; -function DisableDescription: BOOL; -external 'disabledesc@files:descctrl.dll stdcall'; - -//Получение всех логических дисков -function GetLogicalDriveStrings(nLenDrives: LongInt; lpDrives: ansistring): integer; -external 'GetLogicalDriveStringsA@kernel32.dll stdcall'; - -//Получение типа диска -function GetDriveType(lpDisk: ansistring): integer; -external 'GetDriveTypeA@kernel32.dll stdcall'; - -//константы типов дисков -const - DRIVE_UNKNOWN = 0; // The drive type cannot be determined. - DRIVE_NO_ROOT_DIR = 1; // The root path is invalid. For example, no volume is mounted at the path. - DRIVE_REMOVABLE = 2; // The disk can be removed from the drive. - DRIVE_FIXED = 3; // The disk cannot be removed from the drive. - DRIVE_REMOTE = 4; // The drive is a remote (network) drive. - DRIVE_CDROM = 5; // The drive is a CD-ROM drive. - DRIVE_RAMDISK = 6; // The drive is a RAM disk. - -//проверка версии установки по дефолту -function IsDefault: Boolean; -begin - if (DefTypeInstRadio.Checked) then - Result:= True; -end; - -//проверка версии установки портативной -function IsPortable: Boolean; -begin - if (PortTypeInstRadio.Checked) then - Result:= True; -end; - -//vc redist installation check -function RedistIsNotInstalled: Boolean; -begin - Result := not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}'); -end; - -//создание страницы установки с типами установки (обычная или портативная) -procedure CreateInstallTypePage(); -begin - InstallTypePage:=CreateCustomPage(wpLicense, ExpandConstant('{cm:InstTypeHeader}'), ExpandConstant('{cm:InstTypeText}')); - DefTypeInstRadio:=TRadioButton.Create(InstallTypePage); - with DefTypeInstRadio do - begin - Parent:=InstallTypePage.Surface; - Checked:=True; - Top:=35; - Left:=20; - Width:=210; - Caption:=ExpandConstant('{cm:DefTypeInstRadio}'); - end; - DefTypeInstLabel:=TLabel.Create(InstallTypePage); - with DefTypeInstLabel do - begin - Parent:=InstallTypePage.Surface; - Top:=DefTypeInstRadio.Top+DefTypeInstRadio.Height+2; - Left:=DefTypeInstRadio.Left+15; - Caption:=ExpandConstant('{cm:DefTypeInstLabel}'); - end; - PortTypeInstRadio:=TRadioButton.Create(InstallTypePage); - with PortTypeInstRadio do - begin - Parent:=InstallTypePage.Surface; - Checked:=False; - Top:=DefTypeInstLabel.Top+DefTypeInstLabel.Height+20; - Left:=20; - Width:=150; - Caption:=ExpandConstant('{cm:PortTypeInstRadio}'); - end; - PortTypeInstLabel:=TLabel.Create(InstallTypePage); - with PortTypeInstLabel do - begin - Parent:=InstallTypePage.Surface; - Top:=PortTypeInstRadio.Top+PortTypeInstRadio.Height+2; - Left:=PortTypeInstRadio.Left+15; - Caption:=ExpandConstant('{cm:PortTypeInstLabel}'); - end; -end; - -// Панель информации о компонентах -procedure CreateComponentsInfoPanel(); -var - InfoCaption: TNewStaticText; - InfoPanel: TPanel; -begin - WizardForm.TypesCombo.Width := ScaleX(234); - WizardForm.ComponentsList.Width := ScaleX(234); - - InfoPanel := TPanel.Create(WizardForm); - InfoPanel.Parent := WizardForm.SelectComponentsPage; - InfoPanel.Caption := ''; - InfoPanel.Top := WizardForm.TypesCombo.Top; - InfoPanel.Left := ScaleX(250); - InfoPanel.Width := ScaleX(166); - InfoPanel.Height := WizardForm.ComponentsList.Height + WizardForm.TypesCombo.Height + 5; - InfoPanel.BevelInner := bvRaised; - InfoPanel.BevelOuter := bvLowered; - InfoCaption := TNewStaticText.Create(WizardForm); - InfoCaption.Parent := WizardForm.SelectComponentsPage; - InfoCaption.Caption := ExpandConstant('{cm:DescriptionTitle}'); - InfoCaption.Left := ScaleX(258); - InfoCaption.Top := InfoPanel.Top - ScaleY(5); - //InfoCaption.Font.Color := clActiveCaption; - - ComponentInfo := TNewStaticText.Create(WizardForm); - ComponentInfo.Parent := InfoPanel; - ComponentInfo.AutoSize := False; - ComponentInfo.Left := ScaleX(6); - ComponentInfo.Width := ScaleX(154); - ComponentInfo.Top := ScaleY(12); - ComponentInfo.Height := WizardForm.ComponentsList.Height - ScaleY(17); - ComponentInfo.Caption := ExpandConstant('{cm:InfoCaption}'); - ComponentInfo.WordWrap := true; -end; - -//выбор папки установки -procedure CheckFolder(); -var - drivesletters, drive: ansistring; - lenletters, disktype, posnull, n: integer; - FreeMB, TotalMB: Cardinal; -begin - if (DefTypeInstRadio.Checked) then - WizardForm.DirEdit.Text := ExpandConstant('{pf32}') + '\Miranda NG'; - - if (PortTypeInstRadio.Checked) then - begin - //получаем все диски системы - drivesletters := StringOfChar(' ', 64); - lenletters := GetLogicalDriveStrings(63, drivesletters); - SetLength(drivesletters , lenletters); - drive := ''; - n := 0; - //перебираем все диски в цикле - while ((Length(drivesletters) > 0)) do - begin - posnull := Pos(#0, drivesletters); - if posnull > 0 then - begin - drive:= UpperCase(Copy(drivesletters, 1, posnull - 1)); - // получаем тип диска - disktype := GetDriveType(drive); - //если съемный, то проверяем совбодное место и предлагаем поставить на него - if (disktype = DRIVE_REMOVABLE) then - begin - GetSpaceOnDisk(drive, True, FreeMB, TotalMB); - if (FreeMB > 26) then - begin - WizardForm.DirEdit.Text:=drive+'Miranda NG'; - break; - end; - end; - Delete(drivesletters, 1, posnull); - posnull := Pos(#0, drivesletters); - end; - end; - if (drivesletters='') and (CompareStr(WizardForm.DirEdit.Text, drive+'Miranda NG') <> 0) then - WizardForm.DirEdit.Text := ExpandConstant('{sd}')+'\Miranda NG'; - end; -end; - -//выбор группы меню -procedure CheckGroup(); -begin - if DefTypeInstRadio.Checked then - WizardForm.NoIconsCheck.Checked := False; - - if PortTypeInstRadio.Checked then - WizardForm.NoIconsCheck.Checked := True; -end; - -// Проверка выбора протоколов -procedure ComponentOnClick(Sender: TObject); -begin - if (Pos(ExpandConstant('{cm:Protocols}'), ' ' + WizardSelectedComponents(True)) = 0) then - begin - WizardForm.NextButton.Enabled := False; - end - else - WizardForm.NextButton.Enabled := True; -end; - -// Проверка выбора протоколов -procedure ComponentOnKeyPress(Sender: TObject; var Key: Char); -begin - if Key = ' ' then - if (Pos(ExpandConstant('{cm:Protocols}'), ' ' + WizardSelectedComponents(True)) = 0) then - begin - WizardForm.NextButton.Enabled := False; - end - else - WizardForm.NextButton.Enabled := True; -end; - -//рассчет и вывод процентов установки в лейбл -procedure ShowPercent(); -begin - with WizardForm.ProgressGauge do - ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + ExpandConstant('{cm:PercentDone}'); -end; - -//начальная инициализация -procedure InitializeWizard(); -var - Version: TWindowsVersion; -begin - // Для более красивого отображения уменьшаем нижнюю границу - WizardForm.Bevel.Height := 1; - - GetWindowsVersionEx(Version); - if Version.NTPlatform and - (Version.Major <= 6) and - (Version.Minor < 2) then - begin - // Инициализируем библиотеку - iswin7_add_button(WizardForm.BackButton.Handle); - iswin7_add_button(WizardForm.NextButton.Handle); - iswin7_add_button(WizardForm.CancelButton.Handle); - // Параметр True не трогать он для htuos )) - iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True); - end; - - // Компоненты - ComponentList := TStringList.Create(); - with ComponentList do - begin - ComponentList.Add('program'); - ComponentList.Add('sounds'); - ComponentList.Add('protocols'); - ComponentList.Add('protocols\aim'); - ComponentList.Add('protocols\facebook'); - ComponentList.Add('protocols\gg'); - ComponentList.Add('protocols\icq'); - ComponentList.Add('protocols\irc'); - ComponentList.Add('protocols\jabber'); - ComponentList.Add('protocols\msn'); - ComponentList.Add('protocols\yahoo'); - ComponentList.Add('clists'); - ComponentList.Add('clists\stdclist'); - ComponentList.Add('clists\blind'); - ComponentList.Add('ckists\nicer'); - ComponentList.Add('ckists\modern'); - ComponentList.Add('messagewin'); - ComponentList.Add('messagewin\stdmsg'); - ComponentList.Add('messagewin\scriver'); - ComponentList.Add('messagewin\tabsrmm'); - ComponentList.Add('dbx'); - ComponentList.Add('dbx\3x'); - ComponentList.Add('dbx\mmap'); - ComponentList.Add('lang'); - ComponentList.Add('lang\russian'); - ComponentList.Add('lang\czech'); - ComponentList.Add('lang\polish'); - ComponentList.Add('lang\german'); - ComponentList.Add('lang\english'); - end; - - WizardForm.NoIconsCheck.Visible:=True; - // Создание страниц - CreateInstallTypePage(); //страница выбора типа установки (обычная или портативная) - - //добавление описаний к компонентам установки - CreateComponentsInfoPanel(); - - //обработчики проверки выбора хотя бы 1 протокола - WizardForm.ComponentsList.OnClick := @ComponentOnClick; - WizardForm.ComponentsList.OnKeyPress := @ComponentOnKeyPress; - - //создание лейбла для вывода процентов установки - ProgressLabel := TLabel.Create(WizardForm); - with WizardForm.ProgressGauge do - begin - ProgressLabel.Top := Top + Height + ScaleY(8); - ProgressLabel.Left:= Left; - ProgressLabel.Caption := '0' + ExpandConstant('{cm:PercentDone}'); - ProgressLabel.AutoSize := True; - ProgressLabel.Parent := WizardForm.InstallingPage; - end; -end; - -//пропуск неиспользуемых страниц -function ShouldSkipPage(PageID: Integer): Boolean; -begin - if ((PageID = wpSelectProgramGroup) or (PageID = wpSelectTasks)) and (PortTypeInstRadio.Checked) then - Result := True; -end; - -procedure CurPageChanged(CurPageID: Integer); -begin - //кастыль, чтобы обойти создание тасков - if CurPageID = wpSelectTasks then - WizardForm.TasksList.CheckItem(1, coCheck); - //langpack selection - if CurPageID = wpSelectComponents then - begin - if ActiveLanguage = 'en' then - WizardForm.ComponentsList.Checked[28]:= True - else if ActiveLanguage = 'ru' then - WizardForm.ComponentsList.Checked[24]:= True - else if ActiveLanguage = 'cz' then - WizardForm.ComponentsList.Checked[25]:= True - else if ActiveLanguage = 'pl' then - WizardForm.ComponentsList.Checked[26]:= True - else if ActiveLanguage = 'de' then - WizardForm.ComponentsList.Checked[27]:= True; - end; -end; - -//обработчик нажатия кнопки Далее -function NextButtonClick(CurPage: Integer): Boolean; -begin - Result:=true; - if (CurPage=InstallTypePage.ID) then - CheckFolder(); - - if (CurPage = wpSelectDir) then - begin - EnableDescription(WizardForm.ComponentsList.Handle, ComponentInfo.Handle, - ExpandConstant('{cm:CoreFilesDescription}') + ';' + - ExpandConstant('{cm:SoundsDescription}') + ';' + - ExpandConstant('{cm:ProtocolsDescription}') + ';' + - ExpandConstant('{cm:ProtocolsAIMDescription}') + ';' + - ExpandConstant('{cm:ProtocolsFbDescription}') + ';' + - ExpandConstant('{cm:ProtocolsGGDescription}') + ';' + - ExpandConstant('{cm:ProtocolsICQDescription}') + ';' + - ExpandConstant('{cm:ProtocolsIRCDescription}') + ';' + - ExpandConstant('{cm:ProtocolsJabberDescription}') + ';' + - ExpandConstant('{cm:ProtocolsMSNDescription}') + ';' + - ExpandConstant('{cm:ProtocolsYahooDescription}') + ';' + - ExpandConstant('{cm:ClistsDescription}') + ';' + - ExpandConstant('{cm:StdClistDescription}') + ';' + - ExpandConstant('{cm:BlindClistDescription}') + ';' + - ExpandConstant('{cm:NicerClistDescription}') + ';' + - ExpandConstant('{cm:ModernClistDescription}') + ';' + - ExpandConstant('{cm:MessageWinDescription}') + ';' + - ExpandConstant('{cm:StdMsgDescription}') + ';' + - ExpandConstant('{cm:ScriverDescription}') + ';' + - ExpandConstant('{cm:TabsrmmDescription}') + ';' + - ExpandConstant('{cm:DBXDescription}') + ';' + - ExpandConstant('{cm:DBX_3xDescription}') + ';' + - ExpandConstant('{cm:MMAPDescription}') + ';' + - ExpandConstant('{cm:LangDescription}') + ';' + - ExpandConstant('{cm:LangRussianDescription}') + ';' + - ExpandConstant('{cm:LangCzechDescription}') + ';' + - ExpandConstant('{cm:LangPolishDescription}') + ';' + - ExpandConstant('{cm:LangGermanDescription}') + ';' + - ExpandConstant('{cm:LangEnglishDescription}') + ';' + - ''); - - if DirExists(WizardForm.DirEdit.Text) then - begin - case MsgBox(ExpandConstant('{cm:FolderExists1}')+#10+#10+WizardForm.DirEdit.Text+#10+#10+ExpandConstant('{cm:FolderExists2}'), mbconfirmation, mb_YesNo) of - IDYES:; - IDNO: - Result := False; - end; - end; - end; - - if CurPage = wpSelectComponents then - CheckGroup(); - - if CurPage=wpFinished then - begin - if DirExists(AddBackslash(ExpandConstant('{app}\Icons\Fp_ClientIcons'))) then - begin - DelTree(AddBackslash(ExpandConstant('{app}\Icons\Fp_ClientIcons')), True, True, True); - end; - end; -end; - -//Деинсталляция -procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); -begin - if CurUninstallStep=usPostUninstall then - begin - if DirExists(AddBackslash(ExpandConstant('{userappdata}\Miranda NG'))) then - if MsgBox(ExpandConstant('{cm:ProfileUninst}'), mbError, MB_YESNO or MB_DEFBUTTON2) = IDYES then - begin - DelTree(AddBackslash(ExpandConstant('{userappdata}\Miranda NG')), True, True, True); - end; - end; -end; - -//Деинициализация установки -procedure DeinitializeSetup(); -var - Version: TWindowsVersion; -begin - GetWindowsVersionEx(Version); - if Version.NTPlatform and - (Version.Major <= 6) and - (Version.Minor < 2) then - begin - // Отключаем библиотеку - iswin7_free; - end; - DisableDescription(); -end; diff --git a/tools/installer_ng/InnoNG_64/MirandaNG.iss b/tools/installer_ng/InnoNG_64/MirandaNG.iss deleted file mode 100644 index 91aedec6ce..0000000000 --- a/tools/installer_ng/InnoNG_64/MirandaNG.iss +++ /dev/null @@ -1,859 +0,0 @@ -[Setup] -AppVersion=0.94.5 -AppName=Miranda NG -AppVerName=Miranda NG {#SetupSetting("AppVersion")} -AppPublisher=Miranda NG Team -AppCopyRight=2013 © Miranda NG Team -VersionInfoVersion={#SetupSetting("AppVersion")} -MinVersion=5.0 -ArchitecturesAllowed=x64 -DefaultDirName={pf}\Miranda NG -DefaultGroupName=Miranda NG -LicenseFile=Files\Docs\license.txt -UninstallFilesDir={app}\Uninstall -UninstallDisplayIcon=Miranda64.exe -UninstallDisplayName=Miranda NG -UninstallLogMode=overwrite -Uninstallable=IsDefault() -CreateUninstallRegKey=IsDefault() -Compression=lzma2/max -SolidCompression=yes -PrivilegesRequired=poweruser -OutputDir=..\ -OutputBaseFilename=miranda-ng-alpha-latest_x64 -WizardImageFile=Installer\WizModernImage-IS.bmp -WizardSmallImageFile=Installer\SetupMNGSmall.bmp -SetupIconFile=Installer\mng_installer.ico -DirExistsWarning=no -UsePreviousAppDir=no -UsePreviousGroup=no -UsePreviousSetupType=no -UsePreviousTasks=no - - -[Files] -; Folders -Source: "Files\Docs\*"; DestDir: "{app}\Docs"; Components: program; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: ShowPercent() -Source: "Files\Skins\Sounds\*"; DestDir: "{app}\Skins\Sounds"; Components: sounds; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: ShowPercent() - -; Icons -Source: "Files\Icons\Proto_AIM.dll"; DestDir: "{app}\Icons"; Components: protocols\aim; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_Facebook.dll"; DestDir: "{app}\Icons"; Components: protocols\facebook; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_GG.dll"; DestDir: "{app}\Icons"; Components: protocols\gg; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_ICQ.dll"; DestDir: "{app}\Icons"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_IRC.dll"; DestDir: "{app}\Icons"; Components: protocols\irc; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_Jabber.dll"; DestDir: "{app}\Icons"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_MSN.dll"; DestDir: "{app}\Icons"; Components: protocols\msn; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\Proto_Yahoo.dll"; DestDir: "{app}\Icons"; Components: protocols\yahoo; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\xstatus_icq.dll"; DestDir: "{app}\Icons"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\xstatus_jabber.dll"; DestDir: "{app}\Icons"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\tabsrmm_icons.dll"; DestDir: "{app}\Icons"; Components: messagewin\tabsrmm; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Icons\toolbar_icons.dll"; DestDir: "{app}\Icons"; Components: clicts\modern; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Core and core modules -Source: "Files\Miranda64.exe"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\mir_core.dll"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\zlib.dll"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\DbChecker.bat"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\msvcp100.dll"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\msvcr100.dll"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdauth.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdautoaway.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdaway.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdchat.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdclist.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdcrypt.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdemail.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdfile.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdhelp.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdidle.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdmsg.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stduihist.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stdurl.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stduserinfo.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Core\stduseronline.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() - -; LangPacks -Source: "Files\langpack_czech.txt"; DestDir: "{app}"; Components: lang\czech; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\langpack_german.txt"; DestDir: "{app}"; Components: lang\german; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\langpack_polish.txt"; DestDir: "{app}"; Components: lang\polish; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\langpack_russian.txt"; DestDir: "{app}"; Components: lang\russian; Flags: ignoreversion; AfterInstall: ShowPercent() - -;Plugins - not selectable -Source: "Files\Plugins\AdvaImg.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\AVS.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\DbChecker.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Import.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\PluginUpdater.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\pu_stub.exe"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Protocols -Source: "Files\Plugins\AIM.dll"; DestDir: "{app}\Plugins"; Components: protocols\aim; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Facebook.dll"; DestDir: "{app}\Plugins"; Components: protocols\facebook; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\GG.dll"; DestDir: "{app}\Plugins"; Components: protocols\gg; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\ICQ.dll"; DestDir: "{app}\Plugins"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\IRC.dll"; DestDir: "{app}\Plugins"; Components: protocols\irc; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Jabber.dll"; DestDir: "{app}\Plugins"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\MSN.dll"; DestDir: "{app}\Plugins"; Components: protocols\msn; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Yahoo.dll"; DestDir: "{app}\Plugins"; Components: protocols\yahoo; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Clists -Source: "Files\Plugins\Clist_blind.dll"; DestDir: "{app}\Plugins"; Components: clicts\blind; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Clist_modern.dll"; DestDir: "{app}\Plugins"; Components: clicts\modern; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Clist_nicer.dll"; DestDir: "{app}\Plugins"; Components: clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Cln_skinedit.dll"; DestDir: "{app}\Plugins"; Components: clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\TopToolBar.dll"; DestDir: "{app}\Plugins"; Components: clicts\modern or clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Message sessions -Source: "Files\Plugins\TabSRMM.dll"; DestDir: "{app}\Plugins"; Components: messagewin\tabsrmm; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Scriver.dll"; DestDir: "{app}\Plugins"; Components: messagewin\scriver; Flags: ignoreversion; AfterInstall: ShowPercent() - -; DB drivers -Source: "Files\Plugins\Dbx_mmap.dll"; DestDir: "{app}\Plugins"; Components: dbx\mmap; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\Plugins\Dbx_3x.dll"; DestDir: "{app}\Plugins"; Components: dbx\3x; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Config files -Source: "Files\Settings\mirandaboot_default.ini"; DestDir: "{app}"; Components: program; DestName: "mirandaboot.ini"; Check: IsDefault(); Flags: ignoreversion onlyifdoesntexist; AfterInstall: ShowPercent() -Source: "Files\Settings\mirandaboot_portable.ini"; DestDir: "{app}"; Components: program; DestName: "mirandaboot.ini"; Check: IsPortable(); Flags: ignoreversion onlyifdoesntexist; AfterInstall: ShowPercent() -Source: "Files\Settings\autoexec_sounds.ini"; DestDir: "{app}"; Components: sounds; Flags: ignoreversion; AfterInstall: ShowPercent() -Source: "Files\autoexec_nightly_pu.ini"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() - -; Installer add-ons -Source: "Installer\ISWin7.dll"; Flags: dontcopy -Source: "Installer\descctrl.dll"; Flags: dontcopy -Source: "Installer\vcredist_x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall; Check: RedistIsNotInstalled - -[Components] -Name: "program"; Description: "{cm:Program}"; Types: extended regular minimal custom; Flags: fixed -Name: "sounds"; Description: "{cm:Sounds}"; Types: extended custom -Name: "protocols"; Description: "{cm:Protocols}"; Types: extended regular minimal custom; Flags: fixed -Name: "protocols\aim"; Description: "{cm:Aim}"; Types: extended regular minimal -Name: "protocols\facebook"; Description: "{cm:Facebook}"; Types: extended regular minimal -Name: "protocols\gg"; Description: "{cm:Gg}"; Types: extended regular minimal -Name: "protocols\icq"; Description: "{cm:Icq}"; Types: extended regular minimal -Name: "protocols\irc"; Description: "{cm:Irc}"; Types: extended regular minimal -Name: "protocols\jabber"; Description: "{cm:Jabber}"; Types: extended regular minimal -Name: "protocols\msn"; Description: "{cm:Msn}"; Types: extended regular minimal -Name: "protocols\yahoo"; Description: "{cm:Yahoo}"; Types: extended regular minimal -Name: "clists"; Description: "{cm:Clists}"; Types: extended regular minimal custom; Flags: fixed -Name: "clicts\stdclist"; Description: "{cm:StdClist}"; Types: minimal; Flags: exclusive -Name: "clicts\blind"; Description: "{cm:BlindClist}"; Types: custom; Flags: exclusive -Name: "clicts\nicer"; Description: "{cm:NicerClist}"; Types: custom; Flags: exclusive -Name: "clicts\modern"; Description: "{cm:ModernClist}"; Types: extended regular; Flags: exclusive -Name: "messagewin"; Description: "{cm:MessageWin}"; Types: extended regular minimal custom; Flags: fixed -Name: "messagewin\stdmsg"; Description: "{cm:StdMsg}"; Types: minimal; Flags: exclusive -Name: "messagewin\scriver"; Description: "{cm:Scriver}"; Types: custom; Flags: exclusive -Name: "messagewin\tabsrmm"; Description: "{cm:Tabsrmm}"; Types: extended regular; Flags: exclusive -Name: "dbx"; Description: "{cm:Dbx}"; Types: extended regular minimal custom ; Flags: fixed -Name: "dbx\3x"; Description: "{cm:Dbx_3x}"; Types: custom; Flags: exclusive -Name: "dbx\mmap"; Description: "{cm:Mmap}"; Types: extended regular minimal; Flags: exclusive -Name: "lang"; Description: "{cm:Lang}"; Types: extended regular custom minimal; Flags: fixed -Name: "lang\russian"; Description: "{cm:LangRussian}"; Flags: exclusive -Name: "lang\czech"; Description: "{cm:LangCzech}"; Flags: exclusive -Name: "lang\polish"; Description: "{cm:LangPolish}"; Flags: exclusive -Name: "lang\german"; Description: "{cm:LangGerman}"; Flags: exclusive -Name: "lang\english"; Description: "{cm:LangEnglish}"; Flags: exclusive - -[Types] -Name: "regular"; Description: "{cm:TypeRegular}" -Name: "minimal"; Description: "{cm:TypeMinimal}" -Name: "extended"; Description: "{cm:TypeExtended}" -Name: "custom"; Description: "{cm:TypeCustom}"; Flags: iscustom - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked -Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Icons] -Name: "{app}\DbChecker"; Filename: "{app}\Miranda64.exe"; Parameters: "/svc:dbchecker"; Check: IsDefault() -Name: "{group}\Miranda NG"; Filename: "{app}\Miranda64.exe" -Name: "{group}\{cm:UninstallProgram,Miranda NG}"; Filename: {app}\Uninstall\Unins000.exe -Name: "{userdesktop}\Miranda NG"; Filename: "{app}\Miranda64.exe"; WorkingDir: {app}; Tasks: desktopicon -Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Miranda NG"; Filename: "{app}\Miranda64.exe"; WorkingDir: {app}; Tasks: quicklaunchicon - -[Run] -Filename: {tmp}\vcredist_x64.exe; Parameters: "/passive /Q:a /c:""msiexec /qb /i vcredist.msi"" "; Check: RedistIsNotInstalled(); StatusMsg: Installing Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) -Filename: "{app}\Miranda64.exe"; Description: "{cm:LaunchProgram,Miranda NG}"; Flags: nowait postinstall skipifsilent - -[UninstallDelete] -Type: filesandordirs; Name: {app} - -[CustomMessages] -; English -en.InstTypeHeader=Installation Mode -en.InstTypeText=Select installation type -en.DefTypeInstRadio=Normal Installation (recommended) -en.PortTypeInstRadio=Portable Installation -en.DefTypeInstLabel=Profiles and user data files are stored in Application Data.%nUAC compatible (Windows Vista/7/8) -en.PortTypeInstLabel=Profiles and user data files are stored in program folder.%nVersion for installation on removable storage devices (such as USB flash drive)%n(Do not install to Program Files with enabled UAC!!!) - -en.ProfileUninst=WARNING!!!%nYou are about to delete profile folder containing all your settings, contacts and message history!%nAre you sure you want to remove profile?%n(You may need it later) - -en.FolderExists1=Folder -en.FolderExists2=already exists. Continue installation? - -en.PercentDone=% done - -en.TypeRegular=Regular installation -en.TypeMinimal=Minimal installation -en.TypeExtended=Extended installation -en.TypeCustom=Custom installation - -en.Program=Core components -en.Sounds=Sound files -en.Protocols=Protocols -en.Aim=AIM protocol -en.Facebook=Facebook protocol -en.GG=GG protocol -en.Icq=ICQ protocol -en.Irc=IRC protocol -en.Jabber=Jabber protocol -en.Msn=MSN protocol -en.Yahoo=Yahoo protocol -en.Clists=Contact lists -en.StdClist=Classic contact list -en.BlindClist=Contact list for blind folks -en.NicerClist=Nicer contact list -en.ModernClist=Modern contact list -en.MessageWin=Message session -en.StdMsg=SRMM and Chat plugins -en.Scriver=Scriver message plugin -en.Tabsrmm=TabSRMM message plugin -en.Dbx=Database drivers -en.Mmap=Dbx_mmap database driver (recommended) -en.Dbx_3x=Dbx_3x database driver -en.Lang=Localization files -en.LangRussian=Russian langpack -en.LangCzech=Czech langpack -en.LangPolish=Polish langpack -en.LangGerman=German langpack -en.LangEnglish=English interface - -en.DescriptionTitle=Description -en.InfoCaption=Hover over the component to get additional information -en.CoreFilesDescription=The minimum set of files needed to run the program. -en.SoundsDescription=Sound notification support for various events. -en.ProtocolsDescription=Various protocols for instant messaging and more. -en.ProtocolsAIMDescription=AOL Instant Messenger (AIM) protocol support for Miranda NG. -en.ProtocolsFbDescription=Facebook protocol support for Miranda NG. More advanced than XMPP facebook chat, supporting posting statuses, authorizations, searching contacts, and much more. -en.ProtocolsGGDescription=Gadu-Gadu protocol support for Miranda NG. -en.ProtocolsICQDescription=ICQ (OSCAR) protocol support for Miranda NG. -en.ProtocolsIRCDescription=Internet Relay Chat (IRC) protocol support for Miranda NG. -en.ProtocolsJabberDescription=Open-standard communications protocol (XMPP) for message-oriented middleware based on XML. -en.ProtocolsMSNDescription=Microsoft Network (MSN) protocol support for Miranda NG. -en.ProtocolsYahooDescription=Yahoo protocol support for Miranda NG. -en.ClistsDescription=Contact list plugins. -en.StdClistDescription=Basic contact list core module. -en.BlindClistDescription=This is a contact list for blind folks. It uses a list control to show all contacts, so screen readers can "read" the clist to the user. -en.ModernClistDescription=Supports skins, displays contacts, event notifications, protocol status with advantage visual modifications. Supported MW modifications, enhanced metacontact cooperation. -en.NicerClistDescription=Displays contacts, event notifications, protocol status. -en.MessageWinDescription=Message session plugins. -en.StdMsgDescription=Basic messaging and group chats core modules. No tabs support. -en.ScriverDescription=Easy and lightweight messaging plugin. -en.TabsrmmDescription=Advanced IM and group chat module for Miranda NG. Supports skins. -en.DBXDescription=Various database drivers. -en.MMAPDescription=Provides Miranda database support: global settings, contacts, history, settings per contact.(Recommended) -en.DBX_3xDescription=Provides Miranda database support: global settings, contacts, history, settings per contact. -en.LangDescription=Localization files for Miranda NG. -en.LangRussianDescription=Translation of Miranda NG user interface to Russian. -en.LangCzechDescription=Translation of Miranda NG user interface to Czech. -en.LangPolishDescription=Translation of Miranda NG user interface to Polish. -en.LangGermanDescription=Translation of Miranda NG user interface to German. -en.LangEnglishDescription=Original Miranda NG user interface in English. - -; Russian -ru.InstTypeHeader=Тип установки -ru.InstTypeText=Выберите тип установки программы. -ru.DefTypeInstRadio=Обычная установка (рекомендуется) -ru.PortTypeInstRadio=Портативная установка -ru.DefTypeInstLabel=Профиль и все необходимые файлы хранятся в папке пользователя%n(Application Data).%nСовместимо с UAC (Windows Vista/7/8) -ru.PortTypeInstLabel=Профиль и файлы пользователя находятся в папке с программой.%nПодходит для установки на Flash-накопители, не оставляет следов в ОС.%n(Не устанавливать в Program Files при включенном UAC!!!) - -ru.ProfileUninst=ПРЕДУПРЕЖДЕНИЕ!!!%nВы можете удалить папку профиля, включающую в себя настройки, контакты и историю переписки!%nВы действительно хотите удалить файлы профиля?%n(Может понадобиться в дальнейшем) - -ru.FolderExists1=Папка -ru.FolderExists2=уже существует. Продолжить установку? - -ru.PercentDone=% выполнено - -ru.TypeRegular=Обычная установка -ru.TypeMinimal=Минимальная установка -ru.TypeExtended=Расширенная установка -ru.TypeCustom=Выборочная установка - -ru.Program=Основные файлы -ru.Sounds=Звуки -ru.Protocols=Протоколы -ru.Aim=Протокол AIM -ru.Facebook=Протокол Facebook -ru.GG=Протокол GG -ru.Icq=Протокол ICQ -ru.Irc=Протокол IRC -ru.Jabber=Протокол Jabber -ru.Msn=Протокол MSN -ru.Yahoo=Протокол Yahoo -ru.Clists=Списки контактов -ru.StdClist=Список контактов Classic -ru.BlindClist=Список контактов для слабовидящих -ru.NicerClist=Список контактов Nicer -ru.ModernClist=Список контактов Modern -ru.MessageWin=Диалоговые окна -ru.StdMsg=Плагины SRMM и Chat -ru.Scriver=Диалоговое окно Scriver -ru.Tabsrmm=Диалоговое окно TabSRMM -ru.Dbx=Драйверы базы данных -ru.Mmap=Драйвер Dbx_mmap (рекомендуется) -ru.Dbx_3x=Драйвер Dbx_3x -ru.Lang=Языковые пакеты -ru.LangRussian=Русский -ru.LangCzech=Чешский -ru.LangPolish=Польский -ru.LangGerman=Немецкий -ru.LangEnglish=Английский - -ru.DescriptionTitle=Описание -ru.InfoCaption=Наведите на компонент, чтобы получить дополнительную информацию -ru.CoreFilesDescription=Минимальный набор файлов, необходимый для работы программы. -ru.SoundsDescription=Звуковые эффекты, проигрываемые при различных событиях в программе. -ru.ProtocolsDescription=Различные протоколы для обмена сообщениями и не только. -ru.ProtocolsAIMDescription=Поддержка протокола AOL Instant Messenger (AIM) в Miranda NG. -ru.ProtocolsFbDescription=Поддержка протокола Facebook в Miranda NG. Поддержка статусов, поиск контактов, авторизация и не только. -ru.ProtocolsGGDescription=Поддержка протокола Gadu-Gadu в Miranda NG. -ru.ProtocolsICQDescription=Поддержка протокола ICQ в Miranda NG. -ru.ProtocolsIRCDescription=Поддержка протокола Internet Relay Chat (IRC) в Miranda NG. -ru.ProtocolsJabberDescription=Поддержка протокола Jabber (XMPP) в Miranda NG. Протокол основан на открытых стандартах, базирующихся на XML. -ru.ProtocolsMSNDescription=Поддержка протокола Microsoft Network (MSN) в Miranda NG. -ru.ProtocolsYahooDescription=Поддержка протокола Yahoo в Miranda NG. -ru.ClistsDescription=Плагины списков контактов. -ru.StdClistDescription=Список контактов, являющийся модулем ядра, обеспечивает базовый функционал. -ru.BlindClistDescription=Список контактов для слабовидящих. Вспомогательные программы для людей с проблемами зрения могут легко "считать" информацию пользователю. -ru.ModernClistDescription=Показывает контакты, события, статусы протоколов с расширенными функциями оформления (скины). Мультиоконная модификация, расширенная поддержка метаконтактов. -ru.NicerClistDescription=Показывает контакты, события, статусы протоколов. -ru.MessageWinDescription=Плагины диалоговых окон. -ru.StdMsgDescription=Модули ядра, обеспечивающие базовый функционал переписки и чатов. Нет поддержки табов. -ru.ScriverDescription=Простой плагин диалоговых окон с поддержкой вкладок. Не поддерживает скины. -ru.TabsrmmDescription=Продвинутый плагин диалоговых окон с поддержкой вкладок и скинов. -ru.DBXDescription=Выбор драйвера базы данных Miranda NG. -ru.MMAPDescription=Поддержка базы Miranda NG: глобальные настройки, контакты, история, настройки контактов и т. п. Отличается меньшим количеством обращений к базе данных в процессе работы.(Рекомендуется). -ru.DBX_3xDescription=Поддержка базы Miranda NG: глобальные настройки, контакты, история, настройки контактов и т. п. -ru.LangDescription=Файлы перевода для Miranda NG. -ru.LangRussianDescription=Перевод интерфейса Miranda NG на русский язык. -ru.LangCzechDescription=Перевод интерфейса Miranda NG на чешский язык. -ru.LangPolishDescription=Перевод интерфейса Miranda NG на польский язык. -ru.LangGermanDescription=Перевод интерфейса Miranda NG на немецкий язык. -ru.LangEnglishDescription=Интерфейс Miranda NG по умолчанию — английский. - -; Czech -cz.InstTypeHeader=Režim instalace -cz.InstTypeText=Zvolte režim instalace -cz.DefTypeInstRadio=Běžná instalace (doporučeno) -cz.PortTypeInstRadio=Přenositelná verze -cz.DefTypeInstLabel=Profily a uživatelská data jsou uložena ve složce Data aplikací.%nKompatibilní se zapnutým Řízením uživatelských účtů (UAC) (Windows Vista/7/8) -cz.PortTypeInstLabel=Profily a uživatelská data jsou uložena ve složce spolu s programem.%nTento způsob je vhodný pro přenosné disky (jako USB flash disky)%n(Neinstalujte do Program Files, pokud máte zapnuté UAC!!!) - -cz.ProfileUninst=VAROVÁNÍ!!!%nChystáte se odstranit složku s profily, která obsahuje všechno vaše nastavení, kontakty a historii komunikace!%nOpravdu si přejete odstranit vaše data?%n(V budoucnu se vám ještě mohou hodit.) - -cz.FolderExists1=Složka -cz.FolderExists2=již existuje. Pokračovat v instalaci? - -cz.PercentDone=% dokončeno - -cz.TypeRegular=Běžná instalace -cz.TypeMinimal=Minimální instalace -cz.TypeExtended=Rozšířená instalace -cz.TypeCustom=Vlastní instalace - -cz.Program=Základní komponenty -cz.Sounds=Zvukové soubory -cz.protocols=Protokoly -cz.Aim=AIM protokol -cz.Facebook=Facebook protokol -cz.GG=GG protokol -cz.Icq=ICQ protokol -cz.Irc=IRC protokol -cz.Jabber=Jabber protokol -cz.Msn=MSN protokol -cz.Yahoo=Yahoo protokol -cz.Clists=Seznamy kontaktů -cz.StdClist=Clist_classic -cz.BlindClist=Clist_blind (pro nevidomé) -cz.NicerClist=Clist_nicer -cz.ModernClist=Clist_modern -cz.MessageWin=Komunikační okna -cz.StdMsg=SRMM a Chat -cz.Scriver=Scriver -cz.Tabsrmm=TabSRMM -cz.Dbx=Ovladače databáze -cz.Mmap=Dbx_mmap (doporučeno) -cz.Dbx_3x=Dbx_3x -cz.Lang=Jazykové rozhraní -cz.LangRussian=Ruština -cz.LangCzech=Čeština -cz.LangPolish=Polština -cz.LangGerman=Němčina -cz.LangEnglish=Angličtina - -cz.DescriptionTitle=Popis -cz.InfoCaption=Najeďte myší na název komponenty pro zobrazení více informací -cz.CoreFilesDescription=Balíček základních komponent vyžadovaných pro spuštění programu. -cz.SoundsDescription=Podpora zvukových efektů pro různé události. -cz.protocolsDescription=Různé protokoly pro rychlou komunikaci a další funkce. -cz.protocolsAIMDescription=AOL Instant Messenger (AIM) protokol pro Mirandu NG. -cz.protocolsFbDescription=Facebook protokol pro Mirandu NG. Pokročilejší verze než Facebook chat přes Jabber (XMPP). Podporuje sdílení stavů, neviditelnost, autorizace, vyhledávání kontaktů a mnohem více. -cz.protocolsGGDescription=Gadu-Gadu protokol pro Mirandu NG. -cz.protocolsICQDescription=ICQ (OSCAR) protokol pro Mirandu NG. -cz.protocolsIRCDescription=Internet Relay Chat (IRC) protokol pro Mirandu NG. -cz.protocolsJabberDescription=Otevřený komunikační protokol Jabber (XMPP) pro Mirandu NG. -cz.protocolsMSNDescription=Microsoft Network (MSN) protokol pro Mirandu NG. -cz.protocolsYahooDescription=Yahoo protokol pro Mirandu NG. -cz.ClistsDescription=Doplňky pro seznamy kontaktů. -cz.StdClistDescription=Základní integrovaný modul pro seznam kontaktů. -cz.BlindClistDescription=Seznam kontaktů pro nevidomé uživatele. Pro zobrazení kontaktů využívá jednoduchý seznam, který může být jednoduše přečten. -cz.ModernClistDescription=Podporuje skiny, zobrazuje kontakty, upozornění na události, stavy protokolů a umožňuje pokročilé úpravy vzhledu. Podporuje rámečky a rozšířenou práci s metakontakty. -cz.NicerClistDescription=Zobrazuje kontakty, upozornění na události, stavy protokolů a podporuje rámečky. -cz.MessageWinDescription=Doplňky pro komunikační okna. -cz.StdMsgDescription=Základní integrovaný modul pro komunikaci a skupinové chaty. Bez podpory více záložek v jednom okně. -cz.ScriverDescription=Jednoduchý a rychlý modul pro komunikaci a skupinové chaty. S podporou více záložek v jednom okně. -cz.TabsrmmDescription=Pokročilý modul pro komunikaci a skupinové chaty. Podporuje skiny a více záložek v jednom okně. -cz.DBXDescription=Různé ovladače databáze. -cz.MMAPDescription=Podpora pro databáze Mirandy: globální nastavení, kontakty, historie, nastavení pro jednotlivé kontakty. (doporučeno) -cz.DBX_3xDescription=Podpora pro databáze Mirandy: globální nastavení, kontakty, historie, nastavení pro jednotlivé kontakty. -cz.LangDescription=Jazykové balíčky pro Mirandu NG. -cz.LangRussianDescription=Překlad rozhraní Mirandy NG do ruštiny. -cz.LangCzechDescription=Překlad rozhraní Mirandy NG do češtiny. -cz.LangPolishDescription=Překlad rozhraní Mirandy NG do polštiny. -cz.LangGermanDescription=Překlad rozhraní Mirandy NG do němčiny. -cz.LangEnglishDescription=Výchozí rozhraní Mirandy NG v angličtině. - -[Languages] -Name: "en"; MessagesFile: "compiler:Default.isl" -Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" -Name: "cz"; MessagesFile: "compiler:Languages\Czech.isl" -Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" -Name: "de"; MessagesFile: "compiler:Languages\German.isl" - -[Code] -//глобальные переменные -var - DefTypeInstLabel, PortTypeInstLabel, ProgressLabel: TLabel; - DefTypeInstRadio, PortTypeInstRadio: TRadioButton; - InstallTypePage: TWizardPage; - ComponentInfo: TNewStaticText; - ComponentList: TStringList; - -//--Функции из внешних длл-- - -//Aero эффект -procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean); -external 'iswin7_add_glass@files:iswin7.dll stdcall'; -procedure iswin7_add_button(Handle:HWND); -external 'iswin7_add_button@files:iswin7.dll stdcall'; -procedure iswin7_free; -external 'iswin7_free@files:iswin7.dll stdcall'; - -//Описание компонентов -function EnableDescription(ComponentsListHandle: HWND; DescLabelHandle: HWND; DescStrings: PAnsiChar): BOOL; -external 'enabledesc@files:descctrl.dll stdcall'; -function DisableDescription: BOOL; -external 'disabledesc@files:descctrl.dll stdcall'; - -//Получение всех логических дисков -function GetLogicalDriveStrings(nLenDrives: LongInt; lpDrives: ansistring): integer; -external 'GetLogicalDriveStringsA@kernel32.dll stdcall'; - -//Получение типа диска -function GetDriveType(lpDisk: ansistring): integer; -external 'GetDriveTypeA@kernel32.dll stdcall'; - -//константы типов дисков -const - DRIVE_UNKNOWN = 0; // The drive type cannot be determined. - DRIVE_NO_ROOT_DIR = 1; // The root path is invalid. For example, no volume is mounted at the path. - DRIVE_REMOVABLE = 2; // The disk can be removed from the drive. - DRIVE_FIXED = 3; // The disk cannot be removed from the drive. - DRIVE_REMOTE = 4; // The drive is a remote (network) drive. - DRIVE_CDROM = 5; // The drive is a CD-ROM drive. - DRIVE_RAMDISK = 6; // The drive is a RAM disk. - -//проверка версии установки по дефолту -function IsDefault: Boolean; -begin - if (DefTypeInstRadio.Checked) then - Result:= True; -end; - -//проверка версии установки портативной -function IsPortable: Boolean; -begin - if (PortTypeInstRadio.Checked) then - Result:= True; -end; - -//vc redist installation check -function RedistIsNotInstalled: Boolean; -begin - Result := not RegKeyExists(HKLM64, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1D8E6291-B0D5-35EC-8441-6616F567A0F7}'); -end; - -//создание страницы установки с типами установки (обычная или портативная) -procedure CreateInstallTypePage(); -begin - InstallTypePage:=CreateCustomPage(wpLicense, ExpandConstant('{cm:InstTypeHeader}'), ExpandConstant('{cm:InstTypeText}')); - DefTypeInstRadio:=TRadioButton.Create(InstallTypePage); - with DefTypeInstRadio do - begin - Parent:=InstallTypePage.Surface; - Checked:=True; - Top:=35; - Left:=20; - Width:=210; - Caption:=ExpandConstant('{cm:DefTypeInstRadio}'); - end; - DefTypeInstLabel:=TLabel.Create(InstallTypePage); - with DefTypeInstLabel do - begin - Parent:=InstallTypePage.Surface; - Top:=DefTypeInstRadio.Top+DefTypeInstRadio.Height+2; - Left:=DefTypeInstRadio.Left+15; - Caption:=ExpandConstant('{cm:DefTypeInstLabel}'); - end; - PortTypeInstRadio:=TRadioButton.Create(InstallTypePage); - with PortTypeInstRadio do - begin - Parent:=InstallTypePage.Surface; - Checked:=False; - Top:=DefTypeInstLabel.Top+DefTypeInstLabel.Height+20; - Left:=20; - Width:=150; - Caption:=ExpandConstant('{cm:PortTypeInstRadio}'); - end; - PortTypeInstLabel:=TLabel.Create(InstallTypePage); - with PortTypeInstLabel do - begin - Parent:=InstallTypePage.Surface; - Top:=PortTypeInstRadio.Top+PortTypeInstRadio.Height+2; - Left:=PortTypeInstRadio.Left+15; - Caption:=ExpandConstant('{cm:PortTypeInstLabel}'); - end; -end; - -// Панель информации о компонентах -procedure CreateComponentsInfoPanel(); -var - InfoCaption: TNewStaticText; - InfoPanel: TPanel; -begin - WizardForm.TypesCombo.Width := ScaleX(234); - WizardForm.ComponentsList.Width := ScaleX(234); - - InfoPanel := TPanel.Create(WizardForm); - InfoPanel.Parent := WizardForm.SelectComponentsPage; - InfoPanel.Caption := ''; - InfoPanel.Top := WizardForm.TypesCombo.Top; - InfoPanel.Left := ScaleX(250); - InfoPanel.Width := ScaleX(166); - InfoPanel.Height := WizardForm.ComponentsList.Height + WizardForm.TypesCombo.Height + 5; - InfoPanel.BevelInner := bvRaised; - InfoPanel.BevelOuter := bvLowered; - InfoCaption := TNewStaticText.Create(WizardForm); - InfoCaption.Parent := WizardForm.SelectComponentsPage; - InfoCaption.Caption := ExpandConstant('{cm:DescriptionTitle}'); - InfoCaption.Left := ScaleX(258); - InfoCaption.Top := InfoPanel.Top - ScaleY(5); - //InfoCaption.Font.Color := clActiveCaption; - - ComponentInfo := TNewStaticText.Create(WizardForm); - ComponentInfo.Parent := InfoPanel; - ComponentInfo.AutoSize := False; - ComponentInfo.Left := ScaleX(6); - ComponentInfo.Width := ScaleX(154); - ComponentInfo.Top := ScaleY(12); - ComponentInfo.Height := WizardForm.ComponentsList.Height - ScaleY(17); - ComponentInfo.Caption := ExpandConstant('{cm:InfoCaption}'); - ComponentInfo.WordWrap := true; -end; - -//выбор папки установки -procedure CheckFolder(); -var - drivesletters, drive: ansistring; - lenletters, disktype, posnull, n: integer; - FreeMB, TotalMB: Cardinal; -begin - if (DefTypeInstRadio.Checked) then - WizardForm.DirEdit.Text := ExpandConstant('{pf64}') + '\Miranda NG'; - - if (PortTypeInstRadio.Checked) then - begin - //получаем все диски системы - drivesletters := StringOfChar(' ', 64); - lenletters := GetLogicalDriveStrings(63, drivesletters); - SetLength(drivesletters , lenletters); - drive := ''; - n := 0; - //перебираем все диски в цикле - while ((Length(drivesletters) > 0)) do - begin - posnull := Pos(#0, drivesletters); - if posnull > 0 then - begin - drive:= UpperCase(Copy(drivesletters, 1, posnull - 1)); - // получаем тип диска - disktype := GetDriveType(drive); - //если съемный, то проверяем совбодное место и предлагаем поставить на него - if (disktype = DRIVE_REMOVABLE) then - begin - GetSpaceOnDisk(drive, True, FreeMB, TotalMB); - if (FreeMB > 26) then - begin - WizardForm.DirEdit.Text:=drive+'Miranda NG'; - break; - end; - end; - Delete(drivesletters, 1, posnull); - posnull := Pos(#0, drivesletters); - end; - end; - if (drivesletters='') and (CompareStr(WizardForm.DirEdit.Text, drive+'Miranda NG') <> 0) then - WizardForm.DirEdit.Text := ExpandConstant('{sd}')+'\Miranda NG'; - end; -end; - -//выбор группы меню -procedure CheckGroup(); -begin - if DefTypeInstRadio.Checked then - WizardForm.NoIconsCheck.Checked := False; - - if PortTypeInstRadio.Checked then - WizardForm.NoIconsCheck.Checked := True; -end; - -// Проверка выбора протоколов -procedure ComponentOnClick(Sender: TObject); -begin - if (Pos(ExpandConstant('{cm:Protocols}'), ' ' + WizardSelectedComponents(True)) = 0) then - begin - WizardForm.NextButton.Enabled := False; - end - else - WizardForm.NextButton.Enabled := True; -end; - -// Проверка выбора протоколов -procedure ComponentOnKeyPress(Sender: TObject; var Key: Char); -begin - if Key = ' ' then - if (Pos(ExpandConstant('{cm:Protocols}'), ' ' + WizardSelectedComponents(True)) = 0) then - begin - WizardForm.NextButton.Enabled := False; - end - else - WizardForm.NextButton.Enabled := True; -end; - -//рассчет и вывод процентов установки в лейбл -procedure ShowPercent(); -begin - with WizardForm.ProgressGauge do - ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + ExpandConstant('{cm:PercentDone}'); -end; - -//начальная инициализация -procedure InitializeWizard(); -var - Version: TWindowsVersion; -begin - // Для более красивого отображения уменьшаем нижнюю границу - WizardForm.Bevel.Height := 1; - - GetWindowsVersionEx(Version); - if Version.NTPlatform and - (Version.Major <= 6) and - (Version.Minor < 2) then - begin - // Инициализируем библиотеку - iswin7_add_button(WizardForm.BackButton.Handle); - iswin7_add_button(WizardForm.NextButton.Handle); - iswin7_add_button(WizardForm.CancelButton.Handle); - // Параметр True не трогать он для htuos )) - iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True); - end; - - // Компоненты - ComponentList := TStringList.Create(); - with ComponentList do - begin - ComponentList.Add('program'); - ComponentList.Add('sounds'); - ComponentList.Add('protocols'); - ComponentList.Add('protocols\aim'); - ComponentList.Add('protocols\facebook'); - ComponentList.Add('protocols\gg'); - ComponentList.Add('protocols\icq'); - ComponentList.Add('protocols\irc'); - ComponentList.Add('protocols\jabber'); - ComponentList.Add('protocols\msn'); - ComponentList.Add('protocols\yahoo'); - ComponentList.Add('clists'); - ComponentList.Add('clists\stdclist'); - ComponentList.Add('clists\blind'); - ComponentList.Add('ckists\nicer'); - ComponentList.Add('ckists\modern'); - ComponentList.Add('messagewin'); - ComponentList.Add('messagewin\stdmsg'); - ComponentList.Add('messagewin\scriver'); - ComponentList.Add('messagewin\tabsrmm'); - ComponentList.Add('dbx'); - ComponentList.Add('dbx\3x'); - ComponentList.Add('dbx\mmap'); - ComponentList.Add('lang'); - ComponentList.Add('lang\russian'); - ComponentList.Add('lang\czech'); - ComponentList.Add('lang\polish'); - ComponentList.Add('lang\german'); - ComponentList.Add('lang\english'); - end; - - WizardForm.NoIconsCheck.Visible:=True; - // Создание страниц - CreateInstallTypePage(); //страница выбора типа установки (обычная или портативная) - - //добавление описаний к компонентам установки - CreateComponentsInfoPanel(); - - //обработчики проверки выбора хотя бы 1 протокола - WizardForm.ComponentsList.OnClick := @ComponentOnClick; - WizardForm.ComponentsList.OnKeyPress := @ComponentOnKeyPress; - - //создание лейбла для вывода процентов установки - ProgressLabel := TLabel.Create(WizardForm); - with WizardForm.ProgressGauge do - begin - ProgressLabel.Top := Top + Height + ScaleY(8); - ProgressLabel.Left:= Left; - ProgressLabel.Caption := '0' + ExpandConstant('{cm:PercentDone}'); - ProgressLabel.AutoSize := True; - ProgressLabel.Parent := WizardForm.InstallingPage; - end; -end; - -//пропуск неиспользуемых страниц -function ShouldSkipPage(PageID: Integer): Boolean; -begin - if ((PageID = wpSelectProgramGroup) or (PageID = wpSelectTasks)) and (PortTypeInstRadio.Checked) then - Result := True; -end; - -procedure CurPageChanged(CurPageID: Integer); -begin - //кастыль, чтобы обойти создание тасков - if CurPageID = wpSelectTasks then - WizardForm.TasksList.CheckItem(1, coCheck); - //langpack selection - if CurPageID = wpSelectComponents then - begin - if ActiveLanguage = 'en' then - WizardForm.ComponentsList.Checked[28]:= True - else if ActiveLanguage = 'ru' then - WizardForm.ComponentsList.Checked[24]:= True - else if ActiveLanguage = 'cz' then - WizardForm.ComponentsList.Checked[25]:= True - else if ActiveLanguage = 'pl' then - WizardForm.ComponentsList.Checked[26]:= True - else if ActiveLanguage = 'de' then - WizardForm.ComponentsList.Checked[27]:= True; - end; -end; - -//обработчик нажатия кнопки Далее -function NextButtonClick(CurPage: Integer): Boolean; -begin - Result:=true; - if (CurPage=InstallTypePage.ID) then - CheckFolder(); - - if (CurPage = wpSelectDir) then - begin - EnableDescription(WizardForm.ComponentsList.Handle, ComponentInfo.Handle, - ExpandConstant('{cm:CoreFilesDescription}') + ';' + - ExpandConstant('{cm:SoundsDescription}') + ';' + - ExpandConstant('{cm:ProtocolsDescription}') + ';' + - ExpandConstant('{cm:ProtocolsAIMDescription}') + ';' + - ExpandConstant('{cm:ProtocolsFbDescription}') + ';' + - ExpandConstant('{cm:ProtocolsGGDescription}') + ';' + - ExpandConstant('{cm:ProtocolsICQDescription}') + ';' + - ExpandConstant('{cm:ProtocolsIRCDescription}') + ';' + - ExpandConstant('{cm:ProtocolsJabberDescription}') + ';' + - ExpandConstant('{cm:ProtocolsMSNDescription}') + ';' + - ExpandConstant('{cm:ProtocolsYahooDescription}') + ';' + - ExpandConstant('{cm:ClistsDescription}') + ';' + - ExpandConstant('{cm:StdClistDescription}') + ';' + - ExpandConstant('{cm:BlindClistDescription}') + ';' + - ExpandConstant('{cm:NicerClistDescription}') + ';' + - ExpandConstant('{cm:ModernClistDescription}') + ';' + - ExpandConstant('{cm:MessageWinDescription}') + ';' + - ExpandConstant('{cm:StdMsgDescription}') + ';' + - ExpandConstant('{cm:ScriverDescription}') + ';' + - ExpandConstant('{cm:TabsrmmDescription}') + ';' + - ExpandConstant('{cm:DBXDescription}') + ';' + - ExpandConstant('{cm:DBX_3xDescription}') + ';' + - ExpandConstant('{cm:MMAPDescription}') + ';' + - ExpandConstant('{cm:LangDescription}') + ';' + - ExpandConstant('{cm:LangRussianDescription}') + ';' + - ExpandConstant('{cm:LangCzechDescription}') + ';' + - ExpandConstant('{cm:LangPolishDescription}') + ';' + - ExpandConstant('{cm:LangGermanDescription}') + ';' + - ExpandConstant('{cm:LangEnglishDescription}') + ';' + - ''); - - if DirExists(WizardForm.DirEdit.Text) then - begin - case MsgBox(ExpandConstant('{cm:FolderExists1}')+#10+#10+WizardForm.DirEdit.Text+#10+#10+ExpandConstant('{cm:FolderExists2}'), mbconfirmation, mb_YesNo) of - IDYES:; - IDNO: - Result := False; - end; - end; - end; - - if CurPage = wpSelectComponents then - CheckGroup(); - - if CurPage=wpFinished then - begin - if DirExists(AddBackslash(ExpandConstant('{app}\Icons\Fp_ClientIcons'))) then - begin - DelTree(AddBackslash(ExpandConstant('{app}\Icons\Fp_ClientIcons')), True, True, True); - end; - end; -end; - -//Деинсталляция -procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); -begin - if CurUninstallStep=usPostUninstall then - begin - if DirExists(AddBackslash(ExpandConstant('{userappdata}\Miranda NG'))) then - if MsgBox(ExpandConstant('{cm:ProfileUninst}'), mbError, MB_YESNO or MB_DEFBUTTON2) = IDYES then - begin - DelTree(AddBackslash(ExpandConstant('{userappdata}\Miranda NG')), True, True, True); - end; - end; -end; - -//Деинициализация установки -procedure DeinitializeSetup(); -var - Version: TWindowsVersion; -begin - GetWindowsVersionEx(Version); - if Version.NTPlatform and - (Version.Major <= 6) and - (Version.Minor < 2) then - begin - // Отключаем библиотеку - iswin7_free; - end; - DisableDescription(); -end; diff --git a/tools/installer_ng/MirandaNG.iss b/tools/installer_ng/MirandaNG.iss new file mode 100644 index 0000000000..3c16700125 --- /dev/null +++ b/tools/installer_ng/MirandaNG.iss @@ -0,0 +1,901 @@ +#ifdef ptx86 + #define MirName "Miranda32.exe" +#else + #define MirName "Miranda64.exe" +#endif + +#ifdef ptx86 + #define MirOutName "miranda-ng-alpha-latest" +#else + #define MirOutName "miranda-ng-alpha-latest_x64" +#endif + +#ifndef ptx86 + #define ArcAllow "x64" +#else + #define ArcAllow "" +#endif + +#ifdef ptx86 + #define VcRedistName "vcredist_x86.exe" +#else + #define VcRedistName "vcredist_x64.exe" +#endif + +#ifdef ptx86 + #define Ptf "x86" +#else + #define Ptf "x64" +#endif + +#ifdef ptx86 + #define RedistRegChk "(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}')" +#else + #define RedistRegChk "(HKLM64, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1D8E6291-B0D5-35EC-8441-6616F567A0F7}')" +#endif + +#ifdef ptx86 + #define MirPfInstDir "ExpandConstant('{pf32}')" +#else + #define MirPfInstDir "ExpandConstant('{pf64}')" +#endif + +[Setup] +AppVersion=0.94.5 +AppName=Miranda NG +AppVerName=Miranda NG {#SetupSetting("AppVersion")} +AppPublisher=Miranda NG Team +AppCopyRight=2013 © Miranda NG Team +VersionInfoVersion={#SetupSetting("AppVersion")} +MinVersion=5.0 +ArchitecturesAllowed={#ArcAllow} +DefaultDirName={pf}\Miranda NG +DefaultGroupName=Miranda NG +LicenseFile=Files\Docs\license.txt +UninstallFilesDir={app}\Uninstall +UninstallDisplayIcon={#MirName} +UninstallDisplayName=Miranda NG +UninstallLogMode=overwrite +Uninstallable=IsDefault() +CreateUninstallRegKey=IsDefault() +Compression=lzma2/max +SolidCompression=yes +PrivilegesRequired=poweruser +OutputDir=..\ +OutputBaseFilename={#MirOutName} +WizardImageFile=Installer\WizModernImage-IS.bmp +WizardSmallImageFile=Installer\SetupMNGSmall.bmp +SetupIconFile=Installer\mng_installer.ico +DirExistsWarning=no +UsePreviousAppDir=no +UsePreviousGroup=no +UsePreviousSetupType=no +UsePreviousTasks=no + + +[Files] +; Folders +Source: "Files\Docs\*"; DestDir: "{app}\Docs"; Components: program; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: ShowPercent() +Source: "Files\Skins\Sounds\*"; DestDir: "{app}\Skins\Sounds"; Components: sounds; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: ShowPercent() + +; Icons +Source: "Files\Icons\Proto_AIM.dll"; DestDir: "{app}\Icons"; Components: protocols\aim; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\Proto_Facebook.dll"; DestDir: "{app}\Icons"; Components: protocols\facebook; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\Proto_GG.dll"; DestDir: "{app}\Icons"; Components: protocols\gg; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\Proto_ICQ.dll"; DestDir: "{app}\Icons"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\Proto_IRC.dll"; DestDir: "{app}\Icons"; Components: protocols\irc; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\Proto_Jabber.dll"; DestDir: "{app}\Icons"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\Proto_MSN.dll"; DestDir: "{app}\Icons"; Components: protocols\msn; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\Proto_Yahoo.dll"; DestDir: "{app}\Icons"; Components: protocols\yahoo; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\xstatus_icq.dll"; DestDir: "{app}\Icons"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\xstatus_jabber.dll"; DestDir: "{app}\Icons"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\tabsrmm_icons.dll"; DestDir: "{app}\Icons"; Components: messagewin\tabsrmm; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Icons\toolbar_icons.dll"; DestDir: "{app}\Icons"; Components: clicts\modern; Flags: ignoreversion; AfterInstall: ShowPercent() + +; Core and core modules +Source: "Files\{#MirName}"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\mir_core.dll"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\zlib.dll"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\DbChecker.bat"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\msvcp100.dll"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\msvcr100.dll"; DestDir: "{app}"; Components: program; Check: IsPortable(); Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdauth.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdautoaway.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdaway.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdchat.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdclist.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdcrypt.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdemail.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdfile.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdhelp.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdidle.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdmsg.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stduihist.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stdurl.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stduserinfo.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Core\stduseronline.dll"; DestDir: "{app}\Core"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() + +; LangPacks +Source: "Files\langpack_czech.txt"; DestDir: "{app}"; Components: lang\czech; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\langpack_german.txt"; DestDir: "{app}"; Components: lang\german; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\langpack_polish.txt"; DestDir: "{app}"; Components: lang\polish; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\langpack_russian.txt"; DestDir: "{app}"; Components: lang\russian; Flags: ignoreversion; AfterInstall: ShowPercent() + +;Plugins - not selectable +Source: "Files\Plugins\AdvaImg.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\AVS.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\DbChecker.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Import.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\PluginUpdater.dll"; DestDir: "{app}\Plugins"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\pu_stub.exe"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() + +; Protocols +Source: "Files\Plugins\AIM.dll"; DestDir: "{app}\Plugins"; Components: protocols\aim; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Facebook.dll"; DestDir: "{app}\Plugins"; Components: protocols\facebook; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\GG.dll"; DestDir: "{app}\Plugins"; Components: protocols\gg; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\ICQ.dll"; DestDir: "{app}\Plugins"; Components: protocols\icq; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\IRC.dll"; DestDir: "{app}\Plugins"; Components: protocols\irc; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Jabber.dll"; DestDir: "{app}\Plugins"; Components: protocols\jabber; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\MSN.dll"; DestDir: "{app}\Plugins"; Components: protocols\msn; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Yahoo.dll"; DestDir: "{app}\Plugins"; Components: protocols\yahoo; Flags: ignoreversion; AfterInstall: ShowPercent() + +; Clists +Source: "Files\Plugins\Clist_blind.dll"; DestDir: "{app}\Plugins"; Components: clicts\blind; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Clist_modern.dll"; DestDir: "{app}\Plugins"; Components: clicts\modern; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Clist_nicer.dll"; DestDir: "{app}\Plugins"; Components: clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Cln_skinedit.dll"; DestDir: "{app}\Plugins"; Components: clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\TopToolBar.dll"; DestDir: "{app}\Plugins"; Components: clicts\modern or clicts\nicer; Flags: ignoreversion; AfterInstall: ShowPercent() + +; Message sessions +Source: "Files\Plugins\TabSRMM.dll"; DestDir: "{app}\Plugins"; Components: messagewin\tabsrmm; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Scriver.dll"; DestDir: "{app}\Plugins"; Components: messagewin\scriver; Flags: ignoreversion; AfterInstall: ShowPercent() + +; DB drivers +Source: "Files\Plugins\Dbx_mmap.dll"; DestDir: "{app}\Plugins"; Components: dbx\mmap; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\Plugins\Dbx_3x.dll"; DestDir: "{app}\Plugins"; Components: dbx\3x; Flags: ignoreversion; AfterInstall: ShowPercent() + +; Config files +Source: "Files\Settings\mirandaboot_default.ini"; DestDir: "{app}"; Components: program; DestName: "mirandaboot.ini"; Check: IsDefault(); Flags: ignoreversion onlyifdoesntexist; AfterInstall: ShowPercent() +Source: "Files\Settings\mirandaboot_portable.ini"; DestDir: "{app}"; Components: program; DestName: "mirandaboot.ini"; Check: IsPortable(); Flags: ignoreversion onlyifdoesntexist; AfterInstall: ShowPercent() +Source: "Files\Settings\autoexec_sounds.ini"; DestDir: "{app}"; Components: sounds; Flags: ignoreversion; AfterInstall: ShowPercent() +Source: "Files\autoexec_nightly_pu.ini"; DestDir: "{app}"; Components: program; Flags: ignoreversion; AfterInstall: ShowPercent() + +; Installer add-ons +Source: "Installer\ISWin7.dll"; Flags: dontcopy +Source: "Installer\descctrl.dll"; Flags: dontcopy +Source: "Installer\{#VcRedistName}"; DestDir: {tmp}; Flags: deleteafterinstall; Check: RedistIsNotInstalled + +[Components] +Name: "program"; Description: "{cm:Program}"; Types: extended regular minimal custom; Flags: fixed +Name: "sounds"; Description: "{cm:Sounds}"; Types: extended custom +Name: "protocols"; Description: "{cm:Protocols}"; Types: extended regular minimal custom; Flags: fixed +Name: "protocols\aim"; Description: "{cm:Aim}"; Types: extended regular minimal +Name: "protocols\facebook"; Description: "{cm:Facebook}"; Types: extended regular minimal +Name: "protocols\gg"; Description: "{cm:Gg}"; Types: extended regular minimal +Name: "protocols\icq"; Description: "{cm:Icq}"; Types: extended regular minimal +Name: "protocols\irc"; Description: "{cm:Irc}"; Types: extended regular minimal +Name: "protocols\jabber"; Description: "{cm:Jabber}"; Types: extended regular minimal +Name: "protocols\msn"; Description: "{cm:Msn}"; Types: extended regular minimal +Name: "protocols\yahoo"; Description: "{cm:Yahoo}"; Types: extended regular minimal +Name: "clists"; Description: "{cm:Clists}"; Types: extended regular minimal custom; Flags: fixed +Name: "clicts\stdclist"; Description: "{cm:StdClist}"; Types: minimal; Flags: exclusive +Name: "clicts\blind"; Description: "{cm:BlindClist}"; Types: custom; Flags: exclusive +Name: "clicts\nicer"; Description: "{cm:NicerClist}"; Types: custom; Flags: exclusive +Name: "clicts\modern"; Description: "{cm:ModernClist}"; Types: extended regular; Flags: exclusive +Name: "messagewin"; Description: "{cm:MessageWin}"; Types: extended regular minimal custom; Flags: fixed +Name: "messagewin\stdmsg"; Description: "{cm:StdMsg}"; Types: minimal; Flags: exclusive +Name: "messagewin\scriver"; Description: "{cm:Scriver}"; Types: custom; Flags: exclusive +Name: "messagewin\tabsrmm"; Description: "{cm:Tabsrmm}"; Types: extended regular; Flags: exclusive +Name: "dbx"; Description: "{cm:Dbx}"; Types: extended regular minimal custom ; Flags: fixed +Name: "dbx\3x"; Description: "{cm:Dbx_3x}"; Types: custom; Flags: exclusive +Name: "dbx\mmap"; Description: "{cm:Mmap}"; Types: extended regular minimal; Flags: exclusive +Name: "lang"; Description: "{cm:Lang}"; Types: extended regular custom minimal; Flags: fixed +Name: "lang\russian"; Description: "{cm:LangRussian}"; Flags: exclusive +Name: "lang\czech"; Description: "{cm:LangCzech}"; Flags: exclusive +Name: "lang\polish"; Description: "{cm:LangPolish}"; Flags: exclusive +Name: "lang\german"; Description: "{cm:LangGerman}"; Flags: exclusive +Name: "lang\english"; Description: "{cm:LangEnglish}"; Flags: exclusive + +[Types] +Name: "regular"; Description: "{cm:TypeRegular}" +Name: "minimal"; Description: "{cm:TypeMinimal}" +Name: "extended"; Description: "{cm:TypeExtended}" +Name: "custom"; Description: "{cm:TypeCustom}"; Flags: iscustom + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Icons] +Name: "{app}\DbChecker"; Filename: "{app}\{#MirName}"; Parameters: "/svc:dbchecker"; Check: IsDefault() +Name: "{group}\Miranda NG"; Filename: "{app}\{#MirName}" +Name: "{group}\{cm:UninstallProgram,Miranda NG}"; Filename: {app}\Uninstall\Unins000.exe +Name: "{userdesktop}\Miranda NG"; Filename: "{app}\{#MirName}"; WorkingDir: {app}; Tasks: desktopicon +Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Miranda NG"; Filename: "{app}\{#MirName}"; WorkingDir: {app}; Tasks: quicklaunchicon + +[Run] +Filename: "{tmp}\{#VcRedistName}"; Parameters: "/passive /Q:a /c:""msiexec /qb /i vcredist.msi"" "; Check: RedistIsNotInstalled(); StatusMsg: Installing Microsoft Visual C++ 2010 SP1 Redistributable Package ({#Ptf}) +Filename: "{app}\{#MirName}"; Description: "{cm:LaunchProgram,Miranda NG}"; Flags: nowait postinstall skipifsilent + +[UninstallDelete] +Type: filesandordirs; Name: {app} + +[CustomMessages] +; English +en.InstTypeHeader=Installation Mode +en.InstTypeText=Select installation type +en.DefTypeInstRadio=Normal Installation (recommended) +en.PortTypeInstRadio=Portable Installation +en.DefTypeInstLabel=Profiles and user data files are stored in Application Data.%nUAC compatible (Windows Vista/7/8) +en.PortTypeInstLabel=Profiles and user data files are stored in program folder.%nVersion for installation on removable storage devices (such as USB flash drive)%n(Do not install to Program Files with enabled UAC!!!) + +en.ProfileUninst=WARNING!!!%nYou are about to delete profile folder containing all your settings, contacts and message history!%nAre you sure you want to remove profile?%n(You may need it later) + +en.FolderExists1=Folder +en.FolderExists2=already exists. Continue installation? + +en.PercentDone=% done + +en.TypeRegular=Regular installation +en.TypeMinimal=Minimal installation +en.TypeExtended=Extended installation +en.TypeCustom=Custom installation + +en.Program=Core components +en.Sounds=Sound files +en.Protocols=Protocols +en.Aim=AIM protocol +en.Facebook=Facebook protocol +en.GG=GG protocol +en.Icq=ICQ protocol +en.Irc=IRC protocol +en.Jabber=Jabber protocol +en.Msn=MSN protocol +en.Yahoo=Yahoo protocol +en.Clists=Contact lists +en.StdClist=Classic contact list +en.BlindClist=Contact list for blind folks +en.NicerClist=Nicer contact list +en.ModernClist=Modern contact list +en.MessageWin=Message session +en.StdMsg=SRMM and Chat plugins +en.Scriver=Scriver message plugin +en.Tabsrmm=TabSRMM message plugin +en.Dbx=Database drivers +en.Mmap=Dbx_mmap database driver (recommended) +en.Dbx_3x=Dbx_3x database driver +en.Lang=Localization files +en.LangRussian=Russian langpack +en.LangCzech=Czech langpack +en.LangPolish=Polish langpack +en.LangGerman=German langpack +en.LangEnglish=English interface + +en.DescriptionTitle=Description +en.InfoCaption=Hover over the component to get additional information +en.CoreFilesDescription=The minimum set of files needed to run the program. +en.SoundsDescription=Sound notification support for various events. +en.ProtocolsDescription=Various protocols for instant messaging and more. +en.ProtocolsAIMDescription=AOL Instant Messenger (AIM) protocol support for Miranda NG. +en.ProtocolsFbDescription=Facebook protocol support for Miranda NG. More advanced than XMPP facebook chat, supporting posting statuses, authorizations, searching contacts, and much more. +en.ProtocolsGGDescription=Gadu-Gadu protocol support for Miranda NG. +en.ProtocolsICQDescription=ICQ (OSCAR) protocol support for Miranda NG. +en.ProtocolsIRCDescription=Internet Relay Chat (IRC) protocol support for Miranda NG. +en.ProtocolsJabberDescription=Open-standard communications protocol (XMPP) for message-oriented middleware based on XML. +en.ProtocolsMSNDescription=Microsoft Network (MSN) protocol support for Miranda NG. +en.ProtocolsYahooDescription=Yahoo protocol support for Miranda NG. +en.ClistsDescription=Contact list plugins. +en.StdClistDescription=Basic contact list core module. +en.BlindClistDescription=This is a contact list for blind folks. It uses a list control to show all contacts, so screen readers can "read" the clist to the user. +en.ModernClistDescription=Supports skins, displays contacts, event notifications, protocol status with advantage visual modifications. Supported MW modifications, enhanced metacontact cooperation. +en.NicerClistDescription=Displays contacts, event notifications, protocol status. +en.MessageWinDescription=Message session plugins. +en.StdMsgDescription=Basic messaging and group chats core modules. No tabs support. +en.ScriverDescription=Easy and lightweight messaging plugin. +en.TabsrmmDescription=Advanced IM and group chat module for Miranda NG. Supports skins. +en.DBXDescription=Various database drivers. +en.MMAPDescription=Provides Miranda database support: global settings, contacts, history, settings per contact.(Recommended) +en.DBX_3xDescription=Provides Miranda database support: global settings, contacts, history, settings per contact. +en.LangDescription=Localization files for Miranda NG. +en.LangRussianDescription=Translation of Miranda NG user interface to Russian. +en.LangCzechDescription=Translation of Miranda NG user interface to Czech. +en.LangPolishDescription=Translation of Miranda NG user interface to Polish. +en.LangGermanDescription=Translation of Miranda NG user interface to German. +en.LangEnglishDescription=Original Miranda NG user interface in English. + +; Russian +ru.InstTypeHeader=Тип установки +ru.InstTypeText=Выберите тип установки программы. +ru.DefTypeInstRadio=Обычная установка (рекомендуется) +ru.PortTypeInstRadio=Портативная установка +ru.DefTypeInstLabel=Профиль и все необходимые файлы хранятся в папке пользователя%n(Application Data).%nСовместимо с UAC (Windows Vista/7/8) +ru.PortTypeInstLabel=Профиль и файлы пользователя находятся в папке с программой.%nПодходит для установки на Flash-накопители, не оставляет следов в ОС.%n(Не устанавливать в Program Files при включенном UAC!!!) + +ru.ProfileUninst=ПРЕДУПРЕЖДЕНИЕ!!!%nВы можете удалить папку профиля, включающую в себя настройки, контакты и историю переписки!%nВы действительно хотите удалить файлы профиля?%n(Может понадобиться в дальнейшем) + +ru.FolderExists1=Папка +ru.FolderExists2=уже существует. Продолжить установку? + +ru.PercentDone=% выполнено + +ru.TypeRegular=Обычная установка +ru.TypeMinimal=Минимальная установка +ru.TypeExtended=Расширенная установка +ru.TypeCustom=Выборочная установка + +ru.Program=Основные файлы +ru.Sounds=Звуки +ru.Protocols=Протоколы +ru.Aim=Протокол AIM +ru.Facebook=Протокол Facebook +ru.GG=Протокол GG +ru.Icq=Протокол ICQ +ru.Irc=Протокол IRC +ru.Jabber=Протокол Jabber +ru.Msn=Протокол MSN +ru.Yahoo=Протокол Yahoo +ru.Clists=Списки контактов +ru.StdClist=Список контактов Classic +ru.BlindClist=Список контактов для слабовидящих +ru.NicerClist=Список контактов Nicer +ru.ModernClist=Список контактов Modern +ru.MessageWin=Диалоговые окна +ru.StdMsg=Плагины SRMM и Chat +ru.Scriver=Диалоговое окно Scriver +ru.Tabsrmm=Диалоговое окно TabSRMM +ru.Dbx=Драйверы базы данных +ru.Mmap=Драйвер Dbx_mmap (рекомендуется) +ru.Dbx_3x=Драйвер Dbx_3x +ru.Lang=Языковые пакеты +ru.LangRussian=Русский +ru.LangCzech=Чешский +ru.LangPolish=Польский +ru.LangGerman=Немецкий +ru.LangEnglish=Английский + +ru.DescriptionTitle=Описание +ru.InfoCaption=Наведите на компонент, чтобы получить дополнительную информацию +ru.CoreFilesDescription=Минимальный набор файлов, необходимый для работы программы. +ru.SoundsDescription=Звуковые эффекты, проигрываемые при различных событиях в программе. +ru.ProtocolsDescription=Различные протоколы для обмена сообщениями и не только. +ru.ProtocolsAIMDescription=Поддержка протокола AOL Instant Messenger (AIM) в Miranda NG. +ru.ProtocolsFbDescription=Поддержка протокола Facebook в Miranda NG. Поддержка статусов, поиск контактов, авторизация и не только. +ru.ProtocolsGGDescription=Поддержка протокола Gadu-Gadu в Miranda NG. +ru.ProtocolsICQDescription=Поддержка протокола ICQ в Miranda NG. +ru.ProtocolsIRCDescription=Поддержка протокола Internet Relay Chat (IRC) в Miranda NG. +ru.ProtocolsJabberDescription=Поддержка протокола Jabber (XMPP) в Miranda NG. Протокол основан на открытых стандартах, базирующихся на XML. +ru.ProtocolsMSNDescription=Поддержка протокола Microsoft Network (MSN) в Miranda NG. +ru.ProtocolsYahooDescription=Поддержка протокола Yahoo в Miranda NG. +ru.ClistsDescription=Плагины списков контактов. +ru.StdClistDescription=Список контактов, являющийся модулем ядра, обеспечивает базовый функционал. +ru.BlindClistDescription=Список контактов для слабовидящих. Вспомогательные программы для людей с проблемами зрения могут легко "считать" информацию пользователю. +ru.ModernClistDescription=Показывает контакты, события, статусы протоколов с расширенными функциями оформления (скины). Мультиоконная модификация, расширенная поддержка метаконтактов. +ru.NicerClistDescription=Показывает контакты, события, статусы протоколов. +ru.MessageWinDescription=Плагины диалоговых окон. +ru.StdMsgDescription=Модули ядра, обеспечивающие базовый функционал переписки и чатов. Нет поддержки табов. +ru.ScriverDescription=Простой плагин диалоговых окон с поддержкой вкладок. Не поддерживает скины. +ru.TabsrmmDescription=Продвинутый плагин диалоговых окон с поддержкой вкладок и скинов. +ru.DBXDescription=Выбор драйвера базы данных Miranda NG. +ru.MMAPDescription=Поддержка базы Miranda NG: глобальные настройки, контакты, история, настройки контактов и т. п. Отличается меньшим количеством обращений к базе данных в процессе работы.(Рекомендуется). +ru.DBX_3xDescription=Поддержка базы Miranda NG: глобальные настройки, контакты, история, настройки контактов и т. п. +ru.LangDescription=Файлы перевода для Miranda NG. +ru.LangRussianDescription=Перевод интерфейса Miranda NG на русский язык. +ru.LangCzechDescription=Перевод интерфейса Miranda NG на чешский язык. +ru.LangPolishDescription=Перевод интерфейса Miranda NG на польский язык. +ru.LangGermanDescription=Перевод интерфейса Miranda NG на немецкий язык. +ru.LangEnglishDescription=Интерфейс Miranda NG по умолчанию — английский. + +; Czech +cz.InstTypeHeader=Režim instalace +cz.InstTypeText=Zvolte režim instalace +cz.DefTypeInstRadio=Běžná instalace (doporučeno) +cz.PortTypeInstRadio=Přenositelná verze +cz.DefTypeInstLabel=Profily a uživatelská data jsou uložena ve složce Data aplikací.%nKompatibilní se zapnutým Řízením uživatelských účtů (UAC) (Windows Vista/7/8) +cz.PortTypeInstLabel=Profily a uživatelská data jsou uložena ve složce spolu s programem.%nTento způsob je vhodný pro přenosné disky (jako USB flash disky)%n(Neinstalujte do Program Files, pokud máte zapnuté UAC!!!) + +cz.ProfileUninst=VAROVÁNÍ!!!%nChystáte se odstranit složku s profily, která obsahuje všechno vaše nastavení, kontakty a historii komunikace!%nOpravdu si přejete odstranit vaše data?%n(V budoucnu se vám ještě mohou hodit.) + +cz.FolderExists1=Složka +cz.FolderExists2=již existuje. Pokračovat v instalaci? + +cz.PercentDone=% dokončeno + +cz.TypeRegular=Běžná instalace +cz.TypeMinimal=Minimální instalace +cz.TypeExtended=Rozšířená instalace +cz.TypeCustom=Vlastní instalace + +cz.Program=Základní komponenty +cz.Sounds=Zvukové soubory +cz.protocols=Protokoly +cz.Aim=AIM protokol +cz.Facebook=Facebook protokol +cz.GG=GG protokol +cz.Icq=ICQ protokol +cz.Irc=IRC protokol +cz.Jabber=Jabber protokol +cz.Msn=MSN protokol +cz.Yahoo=Yahoo protokol +cz.Clists=Seznamy kontaktů +cz.StdClist=Clist_classic +cz.BlindClist=Clist_blind (pro nevidomé) +cz.NicerClist=Clist_nicer +cz.ModernClist=Clist_modern +cz.MessageWin=Komunikační okna +cz.StdMsg=SRMM a Chat +cz.Scriver=Scriver +cz.Tabsrmm=TabSRMM +cz.Dbx=Ovladače databáze +cz.Mmap=Dbx_mmap (doporučeno) +cz.Dbx_3x=Dbx_3x +cz.Lang=Jazykové rozhraní +cz.LangRussian=Ruština +cz.LangCzech=Čeština +cz.LangPolish=Polština +cz.LangGerman=Němčina +cz.LangEnglish=Angličtina + +cz.DescriptionTitle=Popis +cz.InfoCaption=Najeďte myší na název komponenty pro zobrazení více informací +cz.CoreFilesDescription=Balíček základních komponent vyžadovaných pro spuštění programu. +cz.SoundsDescription=Podpora zvukových efektů pro různé události. +cz.protocolsDescription=Různé protokoly pro rychlou komunikaci a další funkce. +cz.protocolsAIMDescription=AOL Instant Messenger (AIM) protokol pro Mirandu NG. +cz.protocolsFbDescription=Facebook protokol pro Mirandu NG. Pokročilejší verze než Facebook chat přes Jabber (XMPP). Podporuje sdílení stavů, neviditelnost, autorizace, vyhledávání kontaktů a mnohem více. +cz.protocolsGGDescription=Gadu-Gadu protokol pro Mirandu NG. +cz.protocolsICQDescription=ICQ (OSCAR) protokol pro Mirandu NG. +cz.protocolsIRCDescription=Internet Relay Chat (IRC) protokol pro Mirandu NG. +cz.protocolsJabberDescription=Otevřený komunikační protokol Jabber (XMPP) pro Mirandu NG. +cz.protocolsMSNDescription=Microsoft Network (MSN) protokol pro Mirandu NG. +cz.protocolsYahooDescription=Yahoo protokol pro Mirandu NG. +cz.ClistsDescription=Doplňky pro seznamy kontaktů. +cz.StdClistDescription=Základní integrovaný modul pro seznam kontaktů. +cz.BlindClistDescription=Seznam kontaktů pro nevidomé uživatele. Pro zobrazení kontaktů využívá jednoduchý seznam, který může být jednoduše přečten. +cz.ModernClistDescription=Podporuje skiny, zobrazuje kontakty, upozornění na události, stavy protokolů a umožňuje pokročilé úpravy vzhledu. Podporuje rámečky a rozšířenou práci s metakontakty. +cz.NicerClistDescription=Zobrazuje kontakty, upozornění na události, stavy protokolů a podporuje rámečky. +cz.MessageWinDescription=Doplňky pro komunikační okna. +cz.StdMsgDescription=Základní integrovaný modul pro komunikaci a skupinové chaty. Bez podpory více záložek v jednom okně. +cz.ScriverDescription=Jednoduchý a rychlý modul pro komunikaci a skupinové chaty. S podporou více záložek v jednom okně. +cz.TabsrmmDescription=Pokročilý modul pro komunikaci a skupinové chaty. Podporuje skiny a více záložek v jednom okně. +cz.DBXDescription=Různé ovladače databáze. +cz.MMAPDescription=Podpora pro databáze Mirandy: globální nastavení, kontakty, historie, nastavení pro jednotlivé kontakty. (doporučeno) +cz.DBX_3xDescription=Podpora pro databáze Mirandy: globální nastavení, kontakty, historie, nastavení pro jednotlivé kontakty. +cz.LangDescription=Jazykové balíčky pro Mirandu NG. +cz.LangRussianDescription=Překlad rozhraní Mirandy NG do ruštiny. +cz.LangCzechDescription=Překlad rozhraní Mirandy NG do češtiny. +cz.LangPolishDescription=Překlad rozhraní Mirandy NG do polštiny. +cz.LangGermanDescription=Překlad rozhraní Mirandy NG do němčiny. +cz.LangEnglishDescription=Výchozí rozhraní Mirandy NG v angličtině. + +[Languages] +Name: "en"; MessagesFile: "compiler:Default.isl" +Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" +Name: "cz"; MessagesFile: "compiler:Languages\Czech.isl" +Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" +Name: "de"; MessagesFile: "compiler:Languages\German.isl" + +[Code] +//глобальные переменные +var + DefTypeInstLabel, PortTypeInstLabel, ProgressLabel: TLabel; + DefTypeInstRadio, PortTypeInstRadio: TRadioButton; + InstallTypePage: TWizardPage; + ComponentInfo: TNewStaticText; + ComponentList: TStringList; + +//--Функции из внешних длл-- + +//Aero эффект +procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean); +external 'iswin7_add_glass@files:iswin7.dll stdcall'; +procedure iswin7_add_button(Handle:HWND); +external 'iswin7_add_button@files:iswin7.dll stdcall'; +procedure iswin7_free; +external 'iswin7_free@files:iswin7.dll stdcall'; + +//Описание компонентов +function EnableDescription(ComponentsListHandle: HWND; DescLabelHandle: HWND; DescStrings: PAnsiChar): BOOL; +external 'enabledesc@files:descctrl.dll stdcall'; +function DisableDescription: BOOL; +external 'disabledesc@files:descctrl.dll stdcall'; + +//Получение всех логических дисков +function GetLogicalDriveStrings(nLenDrives: LongInt; lpDrives: ansistring): integer; +external 'GetLogicalDriveStringsA@kernel32.dll stdcall'; + +//Получение типа диска +function GetDriveType(lpDisk: ansistring): integer; +external 'GetDriveTypeA@kernel32.dll stdcall'; + +//константы типов дисков +const + DRIVE_UNKNOWN = 0; // The drive type cannot be determined. + DRIVE_NO_ROOT_DIR = 1; // The root path is invalid. For example, no volume is mounted at the path. + DRIVE_REMOVABLE = 2; // The disk can be removed from the drive. + DRIVE_FIXED = 3; // The disk cannot be removed from the drive. + DRIVE_REMOTE = 4; // The drive is a remote (network) drive. + DRIVE_CDROM = 5; // The drive is a CD-ROM drive. + DRIVE_RAMDISK = 6; // The drive is a RAM disk. + +//проверка версии установки по дефолту +function IsDefault: Boolean; +begin + if (DefTypeInstRadio.Checked) then + Result:= True; +end; + +//проверка версии установки портативной +function IsPortable: Boolean; +begin + if (PortTypeInstRadio.Checked) then + Result:= True; +end; + +//vc redist installation check +function RedistIsNotInstalled: Boolean; +begin + Result := not RegKeyExists{#RedistRegChk}; +end; + +//создание страницы установки с типами установки (обычная или портативная) +procedure CreateInstallTypePage(); +begin + InstallTypePage:=CreateCustomPage(wpLicense, ExpandConstant('{cm:InstTypeHeader}'), ExpandConstant('{cm:InstTypeText}')); + DefTypeInstRadio:=TRadioButton.Create(InstallTypePage); + with DefTypeInstRadio do + begin + Parent:=InstallTypePage.Surface; + Checked:=True; + Top:=35; + Left:=20; + Width:=210; + Caption:=ExpandConstant('{cm:DefTypeInstRadio}'); + end; + DefTypeInstLabel:=TLabel.Create(InstallTypePage); + with DefTypeInstLabel do + begin + Parent:=InstallTypePage.Surface; + Top:=DefTypeInstRadio.Top+DefTypeInstRadio.Height+2; + Left:=DefTypeInstRadio.Left+15; + Caption:=ExpandConstant('{cm:DefTypeInstLabel}'); + end; + PortTypeInstRadio:=TRadioButton.Create(InstallTypePage); + with PortTypeInstRadio do + begin + Parent:=InstallTypePage.Surface; + Checked:=False; + Top:=DefTypeInstLabel.Top+DefTypeInstLabel.Height+20; + Left:=20; + Width:=150; + Caption:=ExpandConstant('{cm:PortTypeInstRadio}'); + end; + PortTypeInstLabel:=TLabel.Create(InstallTypePage); + with PortTypeInstLabel do + begin + Parent:=InstallTypePage.Surface; + Top:=PortTypeInstRadio.Top+PortTypeInstRadio.Height+2; + Left:=PortTypeInstRadio.Left+15; + Caption:=ExpandConstant('{cm:PortTypeInstLabel}'); + end; +end; + +// Панель информации о компонентах +procedure CreateComponentsInfoPanel(); +var + InfoCaption: TNewStaticText; + InfoPanel: TPanel; +begin + WizardForm.TypesCombo.Width := ScaleX(234); + WizardForm.ComponentsList.Width := ScaleX(234); + + InfoPanel := TPanel.Create(WizardForm); + InfoPanel.Parent := WizardForm.SelectComponentsPage; + InfoPanel.Caption := ''; + InfoPanel.Top := WizardForm.TypesCombo.Top; + InfoPanel.Left := ScaleX(250); + InfoPanel.Width := ScaleX(166); + InfoPanel.Height := WizardForm.ComponentsList.Height + WizardForm.TypesCombo.Height + 5; + InfoPanel.BevelInner := bvRaised; + InfoPanel.BevelOuter := bvLowered; + InfoCaption := TNewStaticText.Create(WizardForm); + InfoCaption.Parent := WizardForm.SelectComponentsPage; + InfoCaption.Caption := ExpandConstant('{cm:DescriptionTitle}'); + InfoCaption.Left := ScaleX(258); + InfoCaption.Top := InfoPanel.Top - ScaleY(5); + //InfoCaption.Font.Color := clActiveCaption; + + ComponentInfo := TNewStaticText.Create(WizardForm); + ComponentInfo.Parent := InfoPanel; + ComponentInfo.AutoSize := False; + ComponentInfo.Left := ScaleX(6); + ComponentInfo.Width := ScaleX(154); + ComponentInfo.Top := ScaleY(12); + ComponentInfo.Height := WizardForm.ComponentsList.Height - ScaleY(17); + ComponentInfo.Caption := ExpandConstant('{cm:InfoCaption}'); + ComponentInfo.WordWrap := true; +end; + +//выбор папки установки +procedure CheckFolder(); +var + drivesletters, drive: ansistring; + lenletters, disktype, posnull, n: integer; + FreeMB, TotalMB: Cardinal; +begin + if (DefTypeInstRadio.Checked) then + WizardForm.DirEdit.Text := {#MirPfInstDir} + '\Miranda NG'; + + if (PortTypeInstRadio.Checked) then + begin + //получаем все диски системы + drivesletters := StringOfChar(' ', 64); + lenletters := GetLogicalDriveStrings(63, drivesletters); + SetLength(drivesletters , lenletters); + drive := ''; + n := 0; + //перебираем все диски в цикле + while ((Length(drivesletters) > 0)) do + begin + posnull := Pos(#0, drivesletters); + if posnull > 0 then + begin + drive:= UpperCase(Copy(drivesletters, 1, posnull - 1)); + // получаем тип диска + disktype := GetDriveType(drive); + //если съемный, то проверяем совбодное место и предлагаем поставить на него + if (disktype = DRIVE_REMOVABLE) then + begin + GetSpaceOnDisk(drive, True, FreeMB, TotalMB); + if (FreeMB > 26) then + begin + WizardForm.DirEdit.Text:=drive+'Miranda NG'; + break; + end; + end; + Delete(drivesletters, 1, posnull); + posnull := Pos(#0, drivesletters); + end; + end; + if (drivesletters='') and (CompareStr(WizardForm.DirEdit.Text, drive+'Miranda NG') <> 0) then + WizardForm.DirEdit.Text := ExpandConstant('{sd}')+'\Miranda NG'; + end; +end; + +//выбор группы меню +procedure CheckGroup(); +begin + if DefTypeInstRadio.Checked then + WizardForm.NoIconsCheck.Checked := False; + + if PortTypeInstRadio.Checked then + WizardForm.NoIconsCheck.Checked := True; +end; + +// Проверка выбора протоколов +procedure ComponentOnClick(Sender: TObject); +begin + if (Pos(ExpandConstant('{cm:Protocols}'), ' ' + WizardSelectedComponents(True)) = 0) then + begin + WizardForm.NextButton.Enabled := False; + end + else + WizardForm.NextButton.Enabled := True; +end; + +// Проверка выбора протоколов +procedure ComponentOnKeyPress(Sender: TObject; var Key: Char); +begin + if Key = ' ' then + if (Pos(ExpandConstant('{cm:Protocols}'), ' ' + WizardSelectedComponents(True)) = 0) then + begin + WizardForm.NextButton.Enabled := False; + end + else + WizardForm.NextButton.Enabled := True; +end; + +//рассчет и вывод процентов установки в лейбл +procedure ShowPercent(); +begin + with WizardForm.ProgressGauge do + ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + ExpandConstant('{cm:PercentDone}'); +end; + +//начальная инициализация +procedure InitializeWizard(); +var + Version: TWindowsVersion; +begin + // Для более красивого отображения уменьшаем нижнюю границу + WizardForm.Bevel.Height := 1; + + GetWindowsVersionEx(Version); + if Version.NTPlatform and + (Version.Major <= 6) and + (Version.Minor < 2) then + begin + // Инициализируем библиотеку + iswin7_add_button(WizardForm.BackButton.Handle); + iswin7_add_button(WizardForm.NextButton.Handle); + iswin7_add_button(WizardForm.CancelButton.Handle); + // Параметр True не трогать он для htuos )) + iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True); + end; + + // Компоненты + ComponentList := TStringList.Create(); + with ComponentList do + begin + ComponentList.Add('program'); + ComponentList.Add('sounds'); + ComponentList.Add('protocols'); + ComponentList.Add('protocols\aim'); + ComponentList.Add('protocols\facebook'); + ComponentList.Add('protocols\gg'); + ComponentList.Add('protocols\icq'); + ComponentList.Add('protocols\irc'); + ComponentList.Add('protocols\jabber'); + ComponentList.Add('protocols\msn'); + ComponentList.Add('protocols\yahoo'); + ComponentList.Add('clists'); + ComponentList.Add('clists\stdclist'); + ComponentList.Add('clists\blind'); + ComponentList.Add('ckists\nicer'); + ComponentList.Add('ckists\modern'); + ComponentList.Add('messagewin'); + ComponentList.Add('messagewin\stdmsg'); + ComponentList.Add('messagewin\scriver'); + ComponentList.Add('messagewin\tabsrmm'); + ComponentList.Add('dbx'); + ComponentList.Add('dbx\3x'); + ComponentList.Add('dbx\mmap'); + ComponentList.Add('lang'); + ComponentList.Add('lang\russian'); + ComponentList.Add('lang\czech'); + ComponentList.Add('lang\polish'); + ComponentList.Add('lang\german'); + ComponentList.Add('lang\english'); + end; + + WizardForm.NoIconsCheck.Visible:=True; + // Создание страниц + CreateInstallTypePage(); //страница выбора типа установки (обычная или портативная) + + //добавление описаний к компонентам установки + CreateComponentsInfoPanel(); + + //обработчики проверки выбора хотя бы 1 протокола + WizardForm.ComponentsList.OnClick := @ComponentOnClick; + WizardForm.ComponentsList.OnKeyPress := @ComponentOnKeyPress; + + //создание лейбла для вывода процентов установки + ProgressLabel := TLabel.Create(WizardForm); + with WizardForm.ProgressGauge do + begin + ProgressLabel.Top := Top + Height + ScaleY(8); + ProgressLabel.Left:= Left; + ProgressLabel.Caption := '0' + ExpandConstant('{cm:PercentDone}'); + ProgressLabel.AutoSize := True; + ProgressLabel.Parent := WizardForm.InstallingPage; + end; +end; + +//пропуск неиспользуемых страниц +function ShouldSkipPage(PageID: Integer): Boolean; +begin + if ((PageID = wpSelectProgramGroup) or (PageID = wpSelectTasks)) and (PortTypeInstRadio.Checked) then + Result := True; +end; + +procedure CurPageChanged(CurPageID: Integer); +begin + //кастыль, чтобы обойти создание тасков + if CurPageID = wpSelectTasks then + WizardForm.TasksList.CheckItem(1, coCheck); + //langpack selection + if CurPageID = wpSelectComponents then + begin + if ActiveLanguage = 'en' then + WizardForm.ComponentsList.Checked[28]:= True + else if ActiveLanguage = 'ru' then + WizardForm.ComponentsList.Checked[24]:= True + else if ActiveLanguage = 'cz' then + WizardForm.ComponentsList.Checked[25]:= True + else if ActiveLanguage = 'pl' then + WizardForm.ComponentsList.Checked[26]:= True + else if ActiveLanguage = 'de' then + WizardForm.ComponentsList.Checked[27]:= True; + end; +end; + +//обработчик нажатия кнопки Далее +function NextButtonClick(CurPage: Integer): Boolean; +begin + Result:=true; + if (CurPage=InstallTypePage.ID) then + CheckFolder(); + + if (CurPage = wpSelectDir) then + begin + EnableDescription(WizardForm.ComponentsList.Handle, ComponentInfo.Handle, + ExpandConstant('{cm:CoreFilesDescription}') + ';' + + ExpandConstant('{cm:SoundsDescription}') + ';' + + ExpandConstant('{cm:ProtocolsDescription}') + ';' + + ExpandConstant('{cm:ProtocolsAIMDescription}') + ';' + + ExpandConstant('{cm:ProtocolsFbDescription}') + ';' + + ExpandConstant('{cm:ProtocolsGGDescription}') + ';' + + ExpandConstant('{cm:ProtocolsICQDescription}') + ';' + + ExpandConstant('{cm:ProtocolsIRCDescription}') + ';' + + ExpandConstant('{cm:ProtocolsJabberDescription}') + ';' + + ExpandConstant('{cm:ProtocolsMSNDescription}') + ';' + + ExpandConstant('{cm:ProtocolsYahooDescription}') + ';' + + ExpandConstant('{cm:ClistsDescription}') + ';' + + ExpandConstant('{cm:StdClistDescription}') + ';' + + ExpandConstant('{cm:BlindClistDescription}') + ';' + + ExpandConstant('{cm:NicerClistDescription}') + ';' + + ExpandConstant('{cm:ModernClistDescription}') + ';' + + ExpandConstant('{cm:MessageWinDescription}') + ';' + + ExpandConstant('{cm:StdMsgDescription}') + ';' + + ExpandConstant('{cm:ScriverDescription}') + ';' + + ExpandConstant('{cm:TabsrmmDescription}') + ';' + + ExpandConstant('{cm:DBXDescription}') + ';' + + ExpandConstant('{cm:DBX_3xDescription}') + ';' + + ExpandConstant('{cm:MMAPDescription}') + ';' + + ExpandConstant('{cm:LangDescription}') + ';' + + ExpandConstant('{cm:LangRussianDescription}') + ';' + + ExpandConstant('{cm:LangCzechDescription}') + ';' + + ExpandConstant('{cm:LangPolishDescription}') + ';' + + ExpandConstant('{cm:LangGermanDescription}') + ';' + + ExpandConstant('{cm:LangEnglishDescription}') + ';' + + ''); + + if DirExists(WizardForm.DirEdit.Text) then + begin + case MsgBox(ExpandConstant('{cm:FolderExists1}')+#10+#10+WizardForm.DirEdit.Text+#10+#10+ExpandConstant('{cm:FolderExists2}'), mbconfirmation, mb_YesNo) of + IDYES:; + IDNO: + Result := False; + end; + end; + end; + + if CurPage = wpSelectComponents then + CheckGroup(); + + if CurPage=wpFinished then + begin + if DirExists(AddBackslash(ExpandConstant('{app}\Icons\Fp_ClientIcons'))) then + begin + DelTree(AddBackslash(ExpandConstant('{app}\Icons\Fp_ClientIcons')), True, True, True); + end; + end; +end; + +//Деинсталляция +procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); +begin + if CurUninstallStep=usPostUninstall then + begin + if DirExists(AddBackslash(ExpandConstant('{userappdata}\Miranda NG'))) then + if MsgBox(ExpandConstant('{cm:ProfileUninst}'), mbError, MB_YESNO or MB_DEFBUTTON2) = IDYES then + begin + DelTree(AddBackslash(ExpandConstant('{userappdata}\Miranda NG')), True, True, True); + end; + end; +end; + +//Деинициализация установки +procedure DeinitializeSetup(); +var + Version: TWindowsVersion; +begin + GetWindowsVersionEx(Version); + if Version.NTPlatform and + (Version.Major <= 6) and + (Version.Minor < 2) then + begin + // Отключаем библиотеку + iswin7_free; + end; + DisableDescription(); +end; diff --git a/tools/installer_ng/cleanup.bat b/tools/installer_ng/cleanup.bat index 07b0abd582..5e356fe0e9 100644 --- a/tools/installer_ng/cleanup.bat +++ b/tools/installer_ng/cleanup.bat @@ -2,6 +2,6 @@ rem Cleanup rd /S /Q tmp rd /S /Q util -for /D %%p in ("InnoNG_32\*.*") do rd "%%p" /s /q -for /D %%p in ("InnoNG_64\*.*") do rd "%%p" /s /q +rd /S /Q InnoNG_32 +rd /S /Q InnoNG_64 rem end \ No newline at end of file diff --git a/tools/installer_ng/make.bat b/tools/installer_ng/make.bat index 83a05222ab..6d29b75995 100644 --- a/tools/installer_ng/make.bat +++ b/tools/installer_ng/make.bat @@ -1,8 +1,15 @@ @echo off -rem Download +rem Create directories and copy script mkdir tmp +mkdir InnoNG_32 +mkdir InnoNG_64 mkdir InnoNG_32\Installer mkdir InnoNG_64\Installer +copy /V /Y MirandaNG.iss InnoNG_32\ +copy /V /Y MirandaNG.iss InnoNG_64\ +rem end + +rem Download wget -O tmp\common.7z http://miranda-ng.org/distr/installer/common.7z wget -O tmp\MNG_Sounds.7z http://miranda-ng.org/distr/addons/Sounds/MNG_Sounds.7z wget -O tmp\miranda-ng-alpha-latest.7z http://miranda-ng.org/distr/miranda-ng-alpha-latest.7z @@ -51,10 +58,10 @@ rem end rem Make if defined ProgramFiles(x86) ( - "%ProgramFiles(x86)%\Inno Setup 5\ISCC.exe" /O"Output" "InnoNG_32\MirandaNG.iss" + "%ProgramFiles(x86)%\Inno Setup 5\ISCC.exe" /Dptx86 /O"Output" "InnoNG_32\MirandaNG.iss" "%ProgramFiles(x86)%\Inno Setup 5\ISCC.exe" /O"Output" "InnoNG_64\MirandaNG.iss" ) else ( - "%ProgramFiles%\Inno Setup 5\ISCC.exe" /O"Output" "InnoNG_32\MirandaNG.iss" + "%ProgramFiles%\Inno Setup 5\ISCC.exe" /Dptx86 /O"Output" "InnoNG_32\MirandaNG.iss" "%ProgramFiles%\Inno Setup 5\ISCC.exe" /O"Output" "InnoNG_64\MirandaNG.iss" ) rem end \ No newline at end of file -- cgit v1.2.3