/
Smitis
/
PurePortable
Обзор
Документация
Войти
/
Smitis
/
PurePortable
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PureSimple/PurePort.ini
344 строки
26 KB
Smitis
v4.10.0.30+
20 окт 2024, 15:29
20 окт 2024, 15:29
0266882
Код
Авторство
О чём код?
; Шаблон файла конфигурации PurePortableSimple. ; Файл конфигурации должен иметь расширение .prefs (проверяется в первую очередь) или .ini (проверяется во вторую очередь). ; Имя файла конфигурации должно быть (в порядке очерёдности проверки): ; То же самое имя, что и dll (в случае использования лодера в паре типа winmm.dll+pureport.dll должно совпадать с именем основной dll) с расширение prefs или ini. ; Имя pureport с расширение prefs или ini. ; Общие моменты по параметрам: ; 1. При задании параметров в реестре, для значения "по умолчанию" ничего не указывать (разделить | можно оставлять). ; 2. Все относительные пути считаются относительно папки с программой. ; Обратный слеш в конце пути сохраняется, например "." - полный путь к папке программы, ".\" - полный путь к папке программы с "\" в конце. ; 3. Везде, где разрешено использовать переменные среды, можно использовать предустановленные PurePortable: ; PP_PrgPath полный путь к программе. ; PP_PrgDir путь к программе без завершающего "\". ; 4. Сравнение производится без учёта регистра. ; Строки, начинающиеся с точки запятой - комментарии. [Info] ; Эта секция информационная и никак не используется. ProgramName=MyProgram ProxyDlls= PurePortableVersion=4.10.0.28 PortableRevision=1 PortableDate=2024-09-01 Portabelizer= [History] ; Эта секция информационная и никак не используется. [Portable] ; Секция задаёт общие параметры управления портабелизацией. ; Параметр MultiConfig включает мультиконфигурацию - возможность задавать отдельный файл конфигурации для каждой программы. ; Если значение параметра 1, будут обработаны секции вида [Config:ИмяФайлаКофигурации]. ; Если выполнится условие в одной из таких секций, будет использован новый файл конфигурации. ; Иначе будет использован текущий файл. ;MultiConfig=1 ; Параметр Registry включает перехват и перенаправление реестра. ; Использование модулей Registry1 или Registry2 не имеет отношения к этому параметру! ; По умолчанию значение параметра = 0 Registry=1 ; Параметр RegistryShlwapi управляет перехватом функций для работы с реестром из shlwapi.dll. ; Параметр действителен только при Registry=1 со значением по умолчанию 1. ; Предназначен для принудительного отключения перехвата из shlwapi. ;RegistryShlwapi=0 ; Параметр RegistryDll управляет выбором dll из которой будут перехватываться основные функции для работы с реестром. ; 0 - перехват advapi32.dll ; 1 - перехват kernelbase.dll ; По умолчанию значение параметра = 0 (advapi32.dll) ;RegistryDll=1 ; Параметр DataFile задаёт имя файла для хранения реестра. ; Можно использовать относительные пути, переменные среды, заключать в кавычки. ; При отсутствии расширения, будет автоматически добавлено расширение pport (для Registry1) или pphiv (для Registry2). DataFile=MyProgram ; Параметр InitFile задаёт имя файла для инициализации данных в реестре. ; Данные из этого файла перекроют данные из DataFile. ; В этот файл ничего не пишется. ; При использовании модуля Registry2 данные из этого файла экспортируются в куст реестра. ; При отсутствии расширения, будет автоматически добавлено расширение pport. InitFile=MyProgram-Init ; Параметр SpecialFolders включает перенаправление специальных папок, пути к которым задаются в секции [SpecialFolders] ; По умолчанию значение параметра = 0 SpecialFolders=1 ; Параметр EnvironmentVariables включает перенаправление переменных среды, пути к которым задаются в секции [SpecialFolders] ; 0 - перехват отключен ; 1 - перехват функций GetEnvironmentVariableA/W ; 2 - перехват функций GetEnvironmentVariableA/W и GetEnvironmentStringsA/W ; По умолчанию значение параметра = 0 EnvironmentVariables=0 ; Параметр Cleanup включает обработку секции [Cleanup] для очистки мусора после завершения работы. ; По умолчанию значение параметра = 0 Cleanup=0 ; Параметр CleanupDirectory задаёт путь, по которому могут располагаться удаляемые файлы и папки. ; Этот параметр нужен для обеспечения безопасности и предотвращения удаления не тех файлов. ; По умолчанию значение параметра = . (папка программы) CleanupDirectory=.\AppData ; Параметр ValidateProgram позволяет отключить проверку программы (секция [ValidateProgram]). ; По умолчанию 1 (проверка включена). ; Не рекомендуется отключать проверку программы без крайней необходимости. ;ValidateProgram=0 ; Параметр ProxyErrorMode управляет обработкой ошибок инициализации прокси-функций. ; 0 - Игнорируем ошибки. Корректная работа программы не гарантируется. ; 1 - Выводим сообщение при первой ошибке, остальные ошибки игнорируем. Корректная работа программы не гарантируется. ; 2 - Выводим сообщение при первой ошибке, прекращаем работу программы. ; По умолчанию значение параметра = 0 ProxyErrorMode=1 ; Параметр MinHookErrorMode управляет обработкой ошибок установкой хуков MinHook. ; 0 - Игнорируем ошибки. Корректная работа программы не гарантируется. ; 1 - Выводим сообщение при первой ошибке, остальные ошибки игнорируем. Корректная работа программы не гарантируется. ; 2 - Выводим сообщение при первой ошибке, прекращаем работу программы. ; По умолчанию значение параметра = 0 MinHookErrorMode=1 ; Параметр CurrentDirectory устанавливает текущую папку при запуске программы. ; Если параметр не задан, текущая папка не устанавливается. ;CurrentDirectory=. [ValidateProgram] ; Условия проверки программы, к которой приаттачена dll. ; Если программа не прошла проверку, портабелизация будет отключена. ; Это избавит от возможных проблем со случайными программами. ; Программа считается прошедшей проверку, если совпал хотя бы один параметр. ; Параметр Reaction задаёт уровень реакции на неправильную программу ; 0 - Продолжать работать без предупреждения, ничего не перехватывать. ; 1 - Выдать предупреждение, продолжить работу, ничего не перехватывать при положительном ответе, иначе завершить работу программы. ; Кнопка по умолчанию - Yes (Да) ; 2 - Выдать предупреждение, продолжить работу, ничего не перехватывать при положительном ответе, иначе завершить работу программы. ; Кнопка по умолчанию - No (Нет) ; 3 - Выдать предупреждение, завершить работу программы. ; 4 - Завершить работу программы без предупреждения. ; По умолчанию значение параметра = 1 Reaction=1 ; Параметр ProgramFileName задаёт проверку по имени exe-файла без расширения. ; Значением параметра должно совпасть с первыми символами имени программы. Сравнение производится без учёта регистра. ; Можно задавать несколько значений через «;». ;ProgramFileName=MyProgram ; Остальные параметры служат для проверки данных из Version Info в ресурсах программы: ; Comments, FileDescription, CompanyName, InternalName, LegalCopyright, LegalTrademarks, OriginalFilename, ProductName ; Значением параметра должно совпасть с первыми символами значения из ресурсов. Сравнение производится без учёта регистра. ; Можно задавать по несколько значений через «;». InternalName=MyProgram ;ProductName=MyProgram [CreateDirectories] ; Папки, перечисленные в этой секции будут созданы. ;.\Data [Registry] ; Преобразование путей к реальным разделам реестра в виртуальные пути. ; Формат записей: ; • РеальныйПуть[\]=ВиртуальныйПуть ; Проверяется начало проверяемого пути на совпадение с РеальныйПуть, которое, в случае совпадения, заменяется на ВиртуальныйПуть ; Если РеальныйПуть заканчивается на символ "\", будет выполнено точное сравнение ключей - РеальныйПуть должны либо совпадать с ВиртуальныйПуть, ; либо левая часть РеальныйПуть должна совпадать с ВиртуальныйПуть, после которой идёт символ "\". ; • Software\MyCompany[\] ; Это сокращённая форма записи двух строк (только для раздела Software): ; Software\MyCompany[\]=MyCompany ; MyCompany[\]=MyCompany ; Ключи, начинающиеся с символа «?» не будут сохранятся в файл pport. ; Сравнение производится без учёта регистра. Software\MyCompany Software\MyCompany\MyProgram=MyProgram [Registry.SetData] ; Запись данных в виртуальный реестр ; Формат записей: ; • ВиртуальныйПуть|ИмяПараметра=тип:[данные] ; где тип: ; s - #REG_SZ - строка. Если не задана, то пустая строка. ; d - #REG_DWORD - десятичное или шестнадцатиричное число. Перед шестнадцатиричным числом должен стоять префикс $ или 0x. Если не задано, то 0. ; b - #REG_BINARY - двоичные данные в hex виде. Кождый байт задаётся двумя шестнадцатиричными цифрами, незначащие нули опускать нельзя. Байты можно разделять пробелами. Если не заданы, то пустой массив. ; Пример 1, строка: ;MyCompany\MyProgram\Settings|DataStr=s:QWERTY ; Пример 2, число 43777 в шестнадцатиричном виде: ;MyCompany\MyProgram\Settings|DataNum=d:0xAB01 ; Пример 3, двоичные данные (6 байт): ;MyCompany\MyProgram\Settings|DataBin=b:0A 1B 2C 3D 4E 5F [Registry.SetPaths] ; Пути к файлам и папкам в виртуальном реестре, которые следует установить. ; Формат записей: ; • ВиртуальныйПуть|ИмяПараметра=путь ; Значение рассматривается как путь к папке. При этом: ; - Можно использовать переменные среды. ; - Можно заключать путь в кавычки. ; - Относительные пути будут преобразованны в абсолютные относительно пути к папке с программой. ; - В качестве пути к папке программы можно использовать ".". ; - Пустое значение рассматривается как путь к папке программы (аналогично "."). ; Примеры: ;MyCompany\MyProgram\Settings|PluginsDir=%PP_PrgDir%\Plugins ;MyCompany\MyProgram\Settings|AppData="..\AppData" ;MyCompany\MyProgram\Settings|InstallPath=. [Registry.CorrectPaths] ; Пути к файлам и папкам в виртуальном реестре, которые следует корректировать. ; Формат записей: ; • ВиртуальныйПуть|ИмяПараметра ; • ВиртуальныйПуть|ИмяПараметра=путь ; При коррекции файл или папка ищется в папке программы или по заданному пути. Если поиск успешный происходит замена. Если нет - значение остаётся без изменений. ; Папка задаётся так же, как и в секции [Registry.SetPaths] ; Примеры: ;MyCompany\MyProgram\Settings|DataDir ;MyCompany\MyProgram\Settings|TemplateDir=..\MyData [SpecialFolders] ; Секция задаёт перенаправление запросов через WinApi для специальных папок и переменных среды. ; Папка задаётся так же, как и в секции [Registry.SetPaths] ; Параметр AllDirs задаёт общий путь для запросов Profile, AppData, LocalAppData, LocalLowAppData и CommonAppData. ; Путь для папки, заданый индивидуально, перекроет этот параметр. ; По умолчанию, если параметр отсутствует, общий путь не задаётся. ; Этот параметр не влияет на перенаправление Documents и CommonDocuments, а также заданные через CSIDL и KnownFolderID. AllDirs=.\AppData ; Параметр Profile задаёт путь для запросов с CSIDL_PROFILE, FOLDERID_Profile, ; запросов через GetUserProfileDirectoryA/GetUserProfileDirectoryW, ; переменных среды UserProfile, Home (для совместимости с некоторыми программами), HomeDrive (только диск), HomePath (только путь) ; Если этот параметр и параметр AllDirs не заданы, перенаправление не осуществляется. ;Profile=.\AppData ; Параметр AppData задаёт путь для запросов с CSIDL_APPDATA, FOLDERID_RoamingAppData, ; переменной среды AppData ; Если этот параметр и параметр AllDirs не заданы, перенаправление не осуществляется. ;AppData=.\AppData ; Параметр LocalAppData задаёт путь для запросов с CSIDL_LOCAL_APPDATA, FOLDERID_LocalAppData, ; переменной среды LocalAppData ; Если этот параметр и параметр AllDirs не заданы, перенаправление не осуществляется. ;LocalAppData=.\AppData ; Параметр LocalLowAppData задаёт путь для запросов с FOLDERID_LocalAppDataLow ; Если этот параметр и параметр AllDirs не заданы, перенаправление не осуществляется. ;LocalAppDataLow=.\AppData ; Параметр CommonAppData задаёт путь для запросов с CSIDL_COMMON_APPDATA, FOLDERID_ProgramData, ; переменных среды AllUsersProfile, ProgramData, Public ; Если этот параметр и параметр AllDirs не заданы, перенаправление не осуществляется. ;CommonAppData=.\AppData ; Параметр Documents задаёт путь для запросов с CSIDL_PERSONAL, CSIDL_MYDOCUMENTS, FOLDERID_Documents ;Documents=.\Documents ; Параметр CommonDocuments задаёт путь для запросов с CSIDL_COMMON_DOCUMENTS, FOLDERID_PublicDocuments ; переменной среды Public ;CommonDocuments=.\Documents ; Можно указывать CSIDL и KnownFolderID для перенаправления папок. ; CSIDL указывается числом в десятичной или шестнадцатеричной форме (формат C вида 0xAB1). ; KnownFolderID указывается в виде соответсвующего GUID, возможно, заключённого в фигурные скобки. ; Примеры ; CSIDL_PROGRAM_FILES ;0x0026=. ; FOLDERID_ProgramFiles ;{905E63B6-C1BF-494E-B29C-65B732D3D21A}=. [EnvironmentVariables] ; Устанавливаемые переменные среды. ; Если указать пустое значение, переменная будет удалена. [EnvironmentVariables.SetPaths] ; Устанавливаемые переменные среды. ; Значение рассматривается как путь к папке. Папка задаётся так же, как и в секции [Registry.SetPaths] ;AppData=.\AppData ;LocalAppData=.\AppData [Debug] ; Параметр Registry управляет выводом диагностической информации по обращениям к реестру (только перехватываемые функции). ; 0 - Выключено. ; 1 - Вывод ключей, не прошедших проверку в CheckKey (не имеет смысла с модулем Registry2). ; 2 - Вывод ключей, к которым происходит обращение. ; 3 - То же с большими подробностями. ; 4 - То же плюс диагностика работы с виртуальным реестром (не имеет смысла с модулем Registry2). ; По умолчанию значение параметра = 0 Registry=2 ; Параметр SpecialFolders управляет выводом диагностической информации по специальным папкам. ; 0 - Выключено. ; 1 - Включено. ; По умолчанию значение параметра = 0 SpecialFolders=0 ; Параметр EnvironmentVariables управляет выводом диагностической информации по переменным среды. ; 0 - Выключено. ; 1 - Вывод диагностики только по переопределяемым переменным. ; 2 - Вывод диагностики по всем переменным. ; По умолчанию значение параметра = 0 EnvironmentVariables=0 ; Вывод диагностики по очистке при завершении программы (при detach dll). ; 0 - Выключено. ; 1 - Включено. ; По умолчанию значение параметра = 0 Cleanup=0 [Cleanup] ; Удаление файлов и папок после завершения работы ; Можно указывать относительные пути, использовать переменные среды, маски. ; Удаляются только файлы и папки из папки, заданой параметром CleanupRootDir в секции [Portable] либо, при его отсутствии, в папке программы! ; Также могут быть удалены файлы и папки, находящиеся во временной папке. ; Удаление других файлов и папок блокируется. ;NVIDIA Corporation ;NVIDIA ;Microsoft ;AppData\Temp\*.* [LoadLibrary] ; Все перечисленные здесь dll будут загружены. [Extensions] ; Все перечисленные здесь dll будут загружены и в них вызвана функция PurePortableExtension, если она есть. ; После выполнения PurePortableExtension, при необходимости, dll будут выгружены. [RunFromAttachProcess] ; Программы запускаемые при первом аттаче dll (только самый первый процесс). ; Строки имеют вид: ; ИмяЗадачи[,флаги]=Командная строка ; ИмяЗадачи несёт только информационную нагрузку может совпадать с другими или отсутствовать, если заданы какие-либо флаги. ; Флаги: ; hide - запуск в скрытом режиме без открытия окна. [RunFromDetachProcess] ; Программы запускаемые при деаттаче dll (все процессы). ; То же самое, что и в секции [RunFromAttachProcess]. [Config:program.ini] ; Пример секции для параметра MultiConfig. Таких секций может быть несколько. ; Здесь задаются условия проверки программы, к которой приаттачена dll. ; Условия аналогичны условиям в секции [ValidateProgram], за исключением параметра Reaction. ; Если выполнится хотя бы одно условие, файл конфигурации, заданный в имени секции после префикса "Config:" будет использован в качестве нового файла конфигурации. ; В новом файле конфигурации параметр MultiConfig игнорируется. ; Параметр ProgramFileName задаёт проверку по имени exe-файла без расширения. ; Значением параметра должно совпасть с первыми символами имени программы. Сравнение производится без учёта регистра. ; Можно задавать несколько значений через «;». ;ProgramFileName=MyProgram ; Остальные параметры служат для проверки данных из Version Info в ресурсах программы: ; Comments, FileDescription, CompanyName, InternalName, LegalCopyright, LegalTrademarks, OriginalFilename, ProductName ; Значением параметра должно совпасть с первыми символами значения из ресурсов. Сравнение производится без учёта регистра. ; Можно задавать по несколько значений через «;». InternalName=MyProgram ;ProductName=MyProgram