tiger690
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Это же застрелиться: Цитата: UseIniInProgramDir Wincmd.ini Configuration 6.50+ 0 Yes Ключ принимается во внимание лишь тогда, когда содержащий его файл wincmd.ini находится непосредственно в рабочем каталоге Total Commander. Это сумма следующих значений: 1: Использовать файл wincmd.ini в каталоге программы, если в системном реестре не задано иное расположение. 2: Использовать файл wcx_ftp.ini в каталоге программы, если в системном реестре не задано иное расположение. 4: При суммировании с 1 и/или 2 полностью игнорировать информацию реестра о местонахождении wincmd.ini и wcx_ftp.ini. Обычно для обеспечения портабельности программы рекомендуется указывать значение 7 (1+2+4): оно позволяет использовать оба INI-файла из корня рабочего каталога TC (ему соответствует переменная %COMMANDER_PATH%) безотносительно к информации в реестре. По умолчанию (0) ключ не используется, информация о расположении INI-файлов берётся из реестра (а если этих данных там нет, используются INI-файлы из папки Windows). ПРИМЕЧАНИЯ: Для нормальной обработки INI-файлов в рабочем каталоге TC необходимо, чтобы там обеспечивались права на запись! При указании значением ключа 4 без суммации с 1 и/или 2 игнорируются как INI-файлы в каталоге TC, так и данные реестра. В этом нештатном случае TC согласно встроенному умолчанию считает местом расположения основных INI-файлов папку Windows, где они при необходимости создаются автоматически. Будьте внимательны! Функция переноса секций (см. ключ RedirectSection) на UseIniInProgramDir не распространяется, значение этого ключа всегда считывается из основного INI-файла. Эта функция не относится и к файлу wcx_ftp — его можно перенести только целиком (см. далее). Указание местоположения основного INI-файла через параметр командной строки /i= всегда имеет больший приоритет, чем значение UseIniInProgramDir и информация из реестра! Информация о размещении INI-файлов хранится в разделе реестра HKEY_CURRENT_USER\Software\Ghisler\Total Commander (если при инсталляции отмечалась опция "Установить для всех пользователей в системе", то и в аналогичной ветке HKEY_LOCAL_MACHINE, а также в HKEY_LOCAL_MACHINE\Software\Wow6432Node\Ghisler\Total Commander на 64-битной ОС). Это строковые параметры IniFileName (для wincmd.ini) и FtpIniName (для wcx_ftp.ini). Если INI-файл расположен непосредственно в папке программы, в реестр записывается значение ".\wincmd.ini" и/или ".\wcx_ftp.ini", при другом расположении указывается абсолютный путь. Изменить эту информацию можно правкой реестра в соответствующих программах, запуском специально созданного REG-файла, а также через инсталлятор при переустановке TC или при помощи утилит INIReloc и TCDir. Следует учесть, что для хранения некоторых собственных файлов (usercmd.ini, tcignore.txt и др.) TC всегда либо по умолчанию использует папку, где находится текущий файл wincmd.ini или (при запуске TC с параметром командной строки /i) его аналог. Некоторые плагины тоже могут сохранять свои настройки по местоположению wincmd.ini — либо в собственных INI-файлах, либо и в общих для данного типа плагинов файлах конфигурации (pkplugin.ini, fsplugin.ini, lsplugin.ini, contplug.ini). В TC 10.00 и выше с связи с изменением каталога установки TC по умолчанию (см. ключ InstallDir) используется следующая схема. Если не удаётся сохранить изменённые пользователем настройки в текущий файл wincmd.ini, указанный в реестре, по умолчанию предлагается либо скопировать в подкаталог %APPDATA%\Ghisler\ профиля текущего пользователя ВСЕ INI-файлы текущего каталога (включая BAR-файлы, вместе с которыми копируются и одноимённые BR2-файлы), либо прервать операцию. Файл wincmd.ini создаётся на новом месте впервые (если его прежде не было), либо копируется (далее используется файл-копия, старый файл получает расширение BAK), данные системного реестра о местонахождении wincmd.ini изменяются. (То же происходит при безуспешной попытке сохранить позицию или настройки TC командой cm_ConfigSavePos или cm_ConfigSaveSettings.) Однако если в текущем каталоге в файле wincmd.ini есть ключ UseIniInProgramDir со значением 5 или 7, в указанных ситуациях копирование файлов в профиль пользователя предлагаться НЕ будет, взамен появится обычное сообщение об ошибке записи. В этом случае надо самостоятельно озаботиться изменением прав доступа в проблемном каталоге, убрать откуда файл wincmd.ini либо переустановить TC в другую папку с адекватными правами доступа. Примерно так же обрабатывается ситуация с невозможностью записи FTP-настроек в файл wcx_ftp.ini. Разница в том, что по умолчанию предлагается либо скопировать его в подкаталог %APPDATA%\Ghisler\ профиля пользователя с изменением данных реестра о местонахождении wcx_ftp.ini, либо попытаться добавить себе разрешения на запись в текущем каталоге с wcx_ftp.ini (потребуются права администратора), либо прервать операцию. Однако если в текущем каталоге в файле wincmd.ini есть ключ UseIniInProgramDir со значением 6 или 7, копирование файла в профиль пользователя предлагаться НЕ будет. Следует также знать, что для правильной обработки функциями Windows INI-файлы должны быть сохранены в кодировке либо ANSI, либо UTF-16 LE, но ни в коем случае не в UTF-8 (см. описание ключа SetEncoding). Нажмите CTRL+B, чтобы далее просуммировать нужные вам значения. | И ни слова про то как хранить настройки для разных учетных записей на ПК. Добавлено: Цитата: Ну в профиле есть данные приложений пользователя в частности Аpplication Data\Roaming куда по умолчанию лезут все программы (включая и наш ТС) | У меня почему-то ТС не лезет в папку Roaming. Цитата: Настройки пользователей никак не пересекутся если программа соответствует требованиям ОС. Посему ключи запуска не нужны и так заработает, при чём по умолчанию. | У меня никаких ключей нету. Но под всеми системными учетными записями ТС работает с одними и теми же настройками. Получается, настойки пересекаются. Добавлено: Вообще этот нонсенс какой-то, что с помощью программы невозможно указать где она ищет\хранит свои настройки. Это же элементарная функция, которая есть в любой программе! Тут же приходится что-то писать реестр, в ini-файлы, да еще и с непонятным результатом. Я конечно извиняюсь за старпёрское занудство. Но думаю, что товарищу Ghisler-у надо обратить на это внимание. | Всего записей: 2020 | Зарегистр. 16-04-2015 | Отправлено: 11:51 28-11-2021 | Исправлено: tiger690, 11:55 28-11-2021 |
|