gifts2017

DLL позволяющая менять каталоги используемые 1С (Temp, AppData, LocalAppData)

Опубликовал - - (Rebelx) в раздел Программирование - Внешние компоненты

DLL позволяющая менять каталоги используемые 1С (Temp, AppData, LocalAppData)
Перенос каталогов Temp и LocalAppData на RAM диск позволяет добиться снижения времени на выполенение некоторых операций в конфигураторе, например сохранение конфигурации, сравнение/объединение, выгрузка конфигурации. Эффект может достигать 30%.
А также можно задать каталог по-умолчанию для вновь создаваемых баз.

из http://partners.v8.1c.ru/forum/thread.jsp?id=582642
Суть следующая - 1С слишком часто обращается к диску при работе с конфигурацией, в основном в каталоги
C:\Documents and Settings\user\Local Settings\Application Data\1C\1Cv81 и C:\Documents and Settings\user\Local Settings\Temp
и по результатам:

я тут на досуге подумал, и сочинил библиотеку, которая позволяет менять пути, используемые 1С, и переносить их например на RAM диски.
Позволяет изменить каталоги используемые 1С 8.x: Temp, AppData, LocalAppData.
каталог по-умолчанию для вновь создаваемых баз: MyDocuments

Использование: поместить в каталог 1cv8 (иначе работать не будет, или в системный каталог), зарегистрировать с помощью regsvr32, настроить :).

Удаление также с помощью regsvr32 /u.

также обсуждение:
http://www.forum.mista.ru/topic.php?id=346582

Библиотека не является COM объектом, просто лень интерфейсы установки и настройки придумывать

 15.10.2010 т.к. я использую для временных файлов RAM диск 1Gb, то иногда его не хватает (например при подключении УПП к хранилищу) и приходится менять каталог временных файлов. Теперь библиотека не обязательно должна быть в системных каталогах - может быть где угодно

14.03.2011 Другое решение для этой же задачи: http://infostart.ru/public/82086/

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
-
.1214383807 32,53Kb
25.09.09
342
.1214383807 32,53Kb 342 Бесплатно
Src (весь проект VC2005)
.zip 1,45Mb
15.10.10
64
.zip 1,45Mb 64 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. H A D G E H O G s (Hadgehogs) 25.06.08 13:10
2. Андрей Скляров (coder1cv8) 25.06.08 13:23
3. Сергей Старых (tormozit) 25.06.08 13:58
Кто какой рамдиск юзает? Я пробовал SuperSpeed.RamDisk.Plus.v9.0.1.0, иногда он глючил на висте. Снес.
5. Сергей Старых (tormozit) 25.06.08 14:28
(4) На виста диалоги кривые =(
6. Сhe Burashka (CheBurator) 25.06.08 22:55
Я юзал одно время активно рамдиск суперспид (да и сча стоит в системе), единственное не нашел, как подключить существующий образ в качестве диска
7. Дмитрий (wenix) 28.06.08 17:07
У меня не получилось.
Всё по инструкции, но 1С по-прежнему ломится к диску С: (информация из filemon)
Похоже, что этой штуке - Accelerator1C - нужно явно указывать, где у меня RamDisk?
8. - - (Rebelx) 30.06.08 08:13
(7)Ты новые пути прописал?
9. Дмитрий (wenix) 30.06.08 12:12
10. Дмитрий (wenix) 30.06.08 12:12
11. - - (Rebelx) 30.06.08 16:46
(9)regedit не открылся? в этом случае HKEY_CURRENT_USER\Software\1C\1Cv8\AlternativePaths
12. Дмитрий (wenix) 02.07.08 12:53
Ура!
Заработало!
Мне кажется, правильно описание поправить: Вместо "настроить :)" написать "Проверить значения в HKEY_CURRENT_USER\Software\1C\1Cv8\AlternativePaths "
Спасибо.
13. Сергей Старых (tormozit) 08.10.08 19:20
Мало плюсов, а зря. Очень полезная вещь. Просто нужно осилить рамдиск поставить. Это несложно!

А как из сеанса 1С получить этот путь?
14. - - (Rebelx) 17.10.08 18:57
штатными методами (ПолучитьКаталогВременныхФайлов())
15. Zloy1C (Zloy1C) 29.10.08 08:53
настраивается действительно по фен-шую :)
16. Наталия Мастербатова (zzz_natali) 19.09.10 07:37
(Rebelx) А можно такую же, но с перламутровыми пуговицами? :)
В смысле, для 8.2/Windows7/x64
Спасибо.
17. - - (Rebelx) 21.09.10 13:05
(16) нет, исходники утрачены, разработка прекращена
18. - - (Rebelx) 15.10.10 11:00
(16) пост (17) к другой разработке, а с перламутровыми пуговицами - желающие могут сделать, исходники доступны.
19. Артем Бардюг (Йожкин Кот) 07.02.11 12:19
20. Michael Shangin (Uhyre) 07.02.11 21:56
zzz_natali пишет:

(Rebelx) А можно такую же, но с перламутровыми пуговицами?

В смысле, для 8.2/Windows7/x64

Спасибо.


Для 64-битной винды следует вызывать не regsvr32 accelerator1c а C:\Windows\SysWow64\regsvr32 accelerator1c
Тоже думал сначала что ошибка в исходнике.
21. Александр Че (chmod660) 03.10.11 00:50
а что, нельзя исходную задачу симлинками NTFS решить??
22. - - (Rebelx) 03.10.11 12:19
23. Александр Че (chmod660) 03.10.11 12:24
ну, тот же ФАР имеет инструментарий для создания символических ссылок.

перенаправить нужные папки на соответствующие папки виртуального рам-диска можно.
по свободе могу попробовать потестировать, единственный вариант - как себя поведет ссылка, когда объект-назначение будет недоступен (например, выключили рам-диск)
24. mastakw (mastakw) 02.04.12 19:23
Реально снижает время на множественные обновления конфигураций !
25. Andrey (Andreyyy) 21.07.12 23:30
Не удалось заставить работать длл-ку.
Переписываю в папку: Q:\Exe\1cv82\
Регистрирую, в реестре указываю свои пути к папкам, но все равно информация пишется по старым путям.
Версия 8.2.15.319, установлена одна. Пробовал еще в папку Q:\Exe\1cv82\8.2.15.319\bin (регистрировал по новой) но все равно не работает.
Что делаю не так ?
26. Александр Романов (alexandr1972_1) 22.07.12 04:10
(25) Разные учетные записи пользователей ос? То есть вы регистрируете библиотеку под одной учеткой, а работаете под другой.
27. Andrey (Andreyyy) 22.07.12 14:14
(26) Захожу только под одним пользователем в ОС, права администратора.
http://i42.fastpic.ru/big/2012/0722/63/d14eb2e10a6f9199f7ae4bcaefd92b63.jpg
28. Алексей Коробко (Asakra) 16.08.12 17:11
(27) Таже проблема. Кто-нить решил?
29. - - (Rebelx) 16.08.12 17:22
(28) а зачем? если темпы поменять - так это делается проще
http://infostart.ru/public/82086/
30. Andrey (Andreyyy) 16.08.12 17:29
(28) Я через темпы решил:

@echo off
set tmp=c:\1cFiles\Temp
set temp=c:\1cFiles\Temp
set USERPROFILE=f:\1cFiles\Profile
start 1cestart.exe

http://www.forum.mista.ru/topic.php?id=621376
bark.722688; +1 Ответить 2
31. Алексей Коробко (Asakra) 17.08.12 05:39
(29), (30) эт я знаю. с этим сейчас и работаю. А эта DLL в итоге делает тоже самое, что и set? Просто с set у меня не большая проблема. Когда запускаешь вторую базу то имя пользователя берется из первой, т.е. подставляется последнее имя пользователя из последей закрытой базы. Не тожто б это не удобно, но когда работаешь одновременно с несколькими базами и в предприятии и в конфигураторе, начинаются вылеты 1С. Со свободным местом на RAM проблем нет, проверял.
32. Andrey (Andreyyy) 17.08.12 11:15
(31) С именем пользователя есть такая беда, остается по умолчанию из последней базы. Если поборете, напишите.
33. Сергей Владимиров (serg138) 23.11.12 12:05
Всем привет. Сделал себе через
@echo off
set tmp=c:\1cFiles\Temp
set temp=c:\1cFiles\Temp
set USERPROFILE=f:\1cFiles\Profile
start 1cestart.exe

Но заметил , что все же один файл используется на диске по пути C:\Documents and Settings\All Users\Application Data\1C\1Cv82\conn8211.pfl.

Уж не знаю, что это за файл, но при каждом запуске 1с он изменяет время последнего редактирования.
kostyaomsk; aleksei_t; +2 Ответить
34. Наталия Мастербатова (zzz_natali) 06.01.13 16:05
(20) Uhyre, Да, в этом случае акселерашка регится, но все равно вспомогательные файлы одинэсина плодит не там, где указали в regedit, а по дефолту:
c:\Users\<пользователь>\AppData\Local\1C\1Cv82\бла.бла
c:\Users\<пользователь>\AppData\Roaming\1C\1Cv82\бла.бла
Я где-то волосы недокрасила или много сахару в чай положила - руки прилипли?
Спасибо.
35. Michael Shangin (Uhyre) 06.01.13 18:17
В случае Win7 все эти dll вообще не нужны, есть же символьные ссылки

mklink /D "c:\Users\<пользователь>\AppData\Local\1C\1Cv82" "j:\1C\temp\Local"
mklink /D "c:\Users\<пользователь>\AppData\Roaming\1C\1Cv82\" "j:\1C\temp\Roaming"
36. Александр Че (chmod660) 06.01.13 19:16
(35) Uhyre, символьные ссылки есть не в Вин7, а на файловой системе NTFS. Хоть икспи, хоть 2003.
Фар еще умеет их создавать, альт+Ф6.
37. WW WW (Sir12) 15.04.13 23:27
А DLL работает только под RAM диск или ей пофиг ? Мне нужно было просто ни другой диск перенести темповые файлы, сервак забит для обновлений места нехватает, перепробовал все вышепечисленные варианты, не прокатило, система 64-х
38. WW WW (Sir12) 15.04.13 23:28
DLL регится, все прописываю, но кэш ни прежнем месте ...
40. Павел Грищенко (PawkaSml) 05.05.14 21:41
Всем привет! У меня Win 7 x64. чё то не получается. dll копировал в c:\Windows\System32\ и в c:\Windows\SysWOW64\. Регистрировал их реестр правил, но чё то эффекта нет. В инструкции написано: Использование: поместить в каталог 1cv8 (иначе работать не будет, или в системный каталог), зарегистрировать с помощью regsvr32, настроить :). 1cv8 - Это что за каталог? )))) Решил все темпы перетащить на Ram disk. что бы SSD поберечь.
43. Капитан Немо (capitan) 15.04.16 23:17
Подтверждаю на вин7 64х не работает
44. Серёжка Шеянов (CepeLLlka) 11.05.16 21:00
(30) Andreyyy, а ничего страшного не случится, из-за изменения переменных? Другие же программы тоже начнут использовать этот каталог для временных файлов, а не только 1С, так?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа