![]() |
![]() |
![]() |
|
Можно ли так запускать базы 1С:7.7, чтобы они не прописывались в окно запуска? ₽ |
☑ | ||
---|---|---|---|---|
0
sol
13.08.10
✎
13:41
|
Уважаемые форумчане!
Можно запускать базу 1С:7.7 из ярлыка, прописывая в ярлыке строку: "C:\Program Files\1Cv77\BIN\1cv7s.exe" enterprise /DПутьКБазе\ /nПользователь /pПароль Но тогда база будет прописываться в окне запуска баз. Можно ли сделать так, чтобы запускать базы 1С:7.7 и чтобы при этом список баз в окне запуска был всегда чистым? |
|||
1
ДенисЧ
13.08.10
✎
13:43
|
прописать, запустить, после завершения удалить...
|
|||
2
Ёпрст
гуру
13.08.10
✎
13:43
|
чисти реестр опосля себя.
|
|||
3
aka AMIGO
13.08.10
✎
13:43
|
(0) зачем?
|
|||
4
aka AMIGO
13.08.10
✎
13:45
|
тогда надо чистить после себя еще и mlg
|
|||
5
sol
13.08.10
✎
13:45
|
(1) (2) Нужно, чтобы это происходило автоматически!
|
|||
6
ДенисЧ
13.08.10
✎
13:46
|
(5) неужели ты думаешь, что нельзя из реестра автоматически удалить записи?
|
|||
7
MikaelW
13.08.10
✎
13:47
|
(0) Любопытства ради. Обьясни зачем?
|
|||
8
Futarkh
13.08.10
✎
13:47
|
(0)пишешь батник, в первой строке запускаешь 1С, во второй чистишь реестр
|
|||
9
sol
13.08.10
✎
13:50
|
(3) (7) Начальство думает, что так безопаснее. В долгие дискусии я с ним не вступаю.
|
|||
10
Расколбас
13.08.10
✎
13:51
|
(9) Тогда не взлетит. Ибо в батнике по чистке реестра этот путь прописан будет.
|
|||
11
KUBIK
13.08.10
✎
13:52
|
(9) "Начальство думает, что так безопаснее" = типа, пацаны когда приедут, сразу в реестр Винды полезут.... а там нифига, во пролёт! :)))
|
|||
12
Расколбас
13.08.10
✎
13:53
|
Хотя... там же путь в параметрах, тогда взлетит.
|
|||
13
Сияющий Асинхраль
13.08.10
✎
13:54
|
(9) Можно просто использовать сторонние запускалки 1С, некоторые из них вообще не используют реестр, но, строго говоря, 1C не та система, где можно внятно позаботится о безопасности.
|
|||
14
VladZ
13.08.10
✎
13:57
|
(0) Баловство все это...
Утюг и паяльник - и никакой криптоанализер не нужен. |
|||
15
1Сергей
13.08.10
✎
13:57
|
(0) Сам-то не боишься скорого приезда масок-шоу?
|
|||
16
aka AMIGO
13.08.10
✎
13:59
|
у меня на последней работе был замдир, он носил с собой DataStorage (что-ли) с винтом, на нем и была база..
вот так тоже можно: адрес есть, а базы нет.. |
|||
17
MikaelW
13.08.10
✎
14:00
|
(15) Маски шоу сейчас вроде не актуально.
"Налоговую полицию" разогнали.... |
|||
18
Aleksey_3
13.08.10
✎
14:00
|
Только и перед запуском тоже надо в реестр прописать инфу.
Или переходите на 8-ку там это реализовано |
|||
19
aka AMIGO
13.08.10
✎
14:04
|
+16 вдогонку последнее: можно и движок и базу иметь на съемном харде, тогда останется только реестр
|
|||
20
VladZ
13.08.10
✎
14:09
|
(19) Можно в терминале работать, тогда и реестр будет чист. :)
|
|||
21
Aleksey_3
13.08.10
✎
14:10
|
Или на виртуальной машине
|
|||
22
Torquader
13.08.10
✎
18:58
|
На самом деле можно чистить реестр (то есть строку запуска) сразу после появления окна 1С - дальше она туда и не смотрит.
У меня даже написана запускалка, которая добавляет базу в реестр на момент старта, а потом тут же удаляет. Только информацию для запуска приходится хранить в самом реестре. Кстати, если в REG-файле указать минус в строке указания пути в реестре, то эта ветвь будет удалена из реестра. |
|||
23
Torquader
13.08.10
✎
19:01
|
Безопастность, кстати, не только от каких-то "маски-шоу", а от самих пользователей - тот, кому не надо, и не узнает, где живёт база.
Да и путаницы меньше - если пользователь видит окно, в котором есть базы, то он может попытаться запустить их, а если окно пустое, то сами базы никто искать не будет (хотя, находятся они очень просто - по наличию MD-файла). |
|||
24
Torquader
13.08.10
✎
19:02
|
(+23) Безопасность пишется без т - чего-то сразу не заметил, что написал неправильно.
|
|||
25
1C-Nick
13.08.10
✎
19:06
|
автор исчез, а так и не сказал чем именно по мнению начальства так безопаснее
|
|||
26
Cthulhu
13.08.10
✎
19:19
|
WSH-скрипт для запуска 1С.
1. Регистрирует информационную базу в реестре. 2. Запускает 1С на этой базе. 3. Удаляет регистрацию информационной базы в реестре. Позволяет запускать 1С на нужной "секретной" базе, которая не будет фигурировать в списке запуска. Любую часть скрипта можно использовать и независимо, для различных целей (просто закомментировав лишнее). BasePath = "C:\TEMP\Test\" ' путь к каталогу информационной базы BaseName = "Новая ИБ" ' название информационной базы ExePath = "C:\Program Files\1Cv77\BIN\1cv7s.exe" ' путь к исп. файлу 1С User = "Admin" ' имя пользователя Pass = "111" ' пароль пользователя Set WshShell = CreateObject("WScript.Shell") '==================================================================== CommandLine = "REG ADD HKCU\Software\1C\1Cv7\7.7\Titles /v """ & _ BasePath & "\"" /t REG_SZ /d """ & BaseName & """ /f" WshShell.Run CommandLine, 0, True '==================================================================== CommandLine = """" & ExePath & """ enterprise /D""" & _ BasePath & """ /N" & User & " /P" & Pass WshShell.Run CommandLine, 1, False WScript.Sleep 500 '==================================================================== CommandLine = "REG DELETE HKCU\Software\1C\1Cv7\7.7\Titles /v """ & _ BasePath & "\"" /f" WshShell.Run CommandLine, 0, True (с)ельнотырено |
|||
27
Torquader
13.08.10
✎
19:27
|
(26) У меня подобное, только написано на Си - там можно при запуске процесса делать WaitForInputIdle, то есть дождаться, пока 1С полностью запустится, так как на медленных машинах иногда и 5 секунд не хватает, чтобы дождаться, пока база загрузится.
А самое удачное решение - удаление базы из ПриНачалеРаботы - тогда гарантировано удалится уже после запуска. Ещё можно добавить монтирование сетевого диска, на котором живёт база и проверка наличия MD-файла, чтобы не запускать несуществующую базу. Я писал на Си, так как получается Exe-файл, параметры запуска живут в реестре в ветке пользователя - поэтому, Exe-файл один, а каждый пользователь может запустить свою базу одним и тем же ярлыком на рабочем столе (который положен а All Users, чтобы его случайно не удалили). |
|||
28
Torquader
13.08.10
✎
19:33
|
+(27) Если не забуду - выложу исходники - может кому-то это поможет.
(Exe-шник выкладывать на бесплатном хостинге как-то стрёмно - в него могут и троянца сунуть - хотя, можно и MD5 написать - но будет ли кто-то проверять ?) |
|||
29
vde69
13.08.10
✎
19:45
|
http://infostart.ru/public/16686/
Позволяет исключить ввод паролей пользователями (использует Win логины), автоматически предоставлять пользователю список актуальных баз (именно актуальных, то есть в те которые он имеет право на вход). Ведет 2 списка баз "основные" "дополнительные". |
|||
30
vcv
14.08.10
✎
09:08
|
(23) "от самих пользователей - тот, кому не надо, и не узнает, где живёт база."
А "Помощь/О программе" в 1С уже отменили, где показан путь к базе? |
|||
31
ДенисЧ
14.08.10
✎
09:09
|
(30) А это окно вырезать из ресурсов...
|
|||
32
ДенисЧ
14.08.10
✎
09:10
|
(22) "дальше она туда и не смотрит." - да щаззззЪ
|
|||
33
vcv
14.08.10
✎
09:36
|
(31) Ну если патчить, так можно и путь в реестре, куда эска лезет поменять. И пусть ищут, где там список баз в какой-нибудь HKCU\Software\Microsoft... прячется.
|
|||
34
vde69
16.08.10
✎
08:46
|
кстати кто знает как запустить 1с без активного пользователя винды? то-есть совсем без обращений к регистру?
а то регламентные задания не всегда стартуют. |
|||
35
NikVars
16.08.10
✎
11:18
|
(30) Если путь длинный, то нифига ты тама не поймешь! Он втупую будет обрезаться...
Другое дело: Сервис - Табло КаталогИБ()... |
|||
36
smaharbA
16.08.10
✎
11:20
|
(26) этож ужаснах
(27) еще ужаснее |
|||
37
sol
18.08.10
✎
14:21
|
Всем спасибо сейчас делаю, как посоветовали в (8). Но вот, что интересно на моем ПК работает бат файл:
CD C:\Program Files\1Cv77\BIN CAll 1cv7s.exe enterprise /D"ПутьКБазе" REG DELETE HKEY_CURRENT_USER\Software\1C\1Cv7\7.7 /f На других ПК выдает ошибку: «Ошибка DllRegisterServer в C:\Program Files\1Cv77\BIN\Autotranp.dll. Возвращен код: 0x80004005» И Сообщение: «DllRegisterServer в C:\Program Files\1Cv77\BIN\V7plus.dll завершено успешно». После чего не стирает информацию из реестра. Но если запускать отдельные бат файлы: 1. CD C:\Program Files\1Cv77\BIN CAll 1cv7s.exe enterprise /D"ПутьКБазе" И 2. REG DELETE HKEY_CURRENT_USER\Software\1C\1Cv7\7.7 /f То никаких сообщений не возникает и система правильно очищает реестр. |
|||
38
1C-Nick
18.08.10
✎
15:36
|
(37)напиши так
CD C:\Program Files\1Cv77\BIN CAll 1cv7s.exe enterprise /D"ПутьКБазе" ping -n 5 127.0.0.1 > nul REG DELETE HKEY_CURRENT_USER\Software\1C\1Cv7\7.7 /f |
|||
39
Torquader
18.08.10
✎
15:55
|
(34) Я писал сервис, который запускается под определённым пользователем (причём отличным от того, который вошёл), а потом этот процесс запускает 1С - всё нормально работает.
А при остановке сервиса, при завершении работы системы, он просто посылает окну 1С сообщение WM_CLOSE и дожидается, когда процесс 1С будет в завершённом состоянии (WaitForSingleObject(Process1C,...)!=WAIT_TIMEOUT). Если интересно, могу прислать исходники этого "творчества". P.S. это была попытка сделать "сервер 1С" для семёрки, но оказалось, что в нём нельзя использовать работу с socket-ами, так как событие в 1С передаётся только через ОбработкаВнешнегоСобытия, а это случается намного позднее, чем надо. |
|||
40
sol
18.08.10
✎
16:03
|
(38) Попробовал. не получилось.
Посмотрел в текст исполнения CMD.EXE После всех команд: CD C:\Program Files\1Cv77\BIN CAll 1cv7s.exe enterprise /D"ПутьКБазе" ping -n 5 127.0.0.1 > nul REG DELETE HKEY_CURRENT_USER\Software\1C\1Cv7\7.7 /f Выполняются, непонятно откуда взявшиеся, команды REGSVR32.EXE. |
|||
41
Torquader
18.08.10
✎
16:31
|
(40) Чего там понаписано ?
CD "C:\Program Files\1Cv77\Bin\" START "1Cv7" "C:\Program Files\1Cv77\Bin\1cv7s.exe" Enterprise /D"C:\1S-Base\" /n:UserName PING ... А REGSVR32.EXE может исполнять сама 1С при установке внешних компонент. |
|||
42
sol
18.08.10
✎
16:59
|
(41) Как уже писал в (37)
CD C:\Program Files\1Cv77\BIN CAll 1cv7s.exe enterprise /D"ПутьКБазе" REG DELETE HKEY_CURRENT_USER\Software\1C\1Cv7\7.7 /f Правильно работает на моем ПК. /nUserName добавлять пробовал - не помогло. "А REGSVR32.EXE может исполнять сама 1С при установке внешних компонент." Почему на моем ПК она не исполняет REGSVR32.EXE, а на ПК пользователя исполняет? Думаете, если заменить CAll на START, то все получится? |
|||
43
sol
19.08.10
✎
10:37
|
Решение есть, но, пока, еще кривое.
Вот основной бат-файл: start 1.bat pause start 2.bat Вот 1-й бат-файл: CD C:\Program Files\1Cv77\BIN CAll 1cv7s.exe enterprise /D"ПутьКБазе" Вот 2-й бат-файл: REG DELETE HKEY_CURRENT_USER\Software\1C\1Cv7\7.7 /f После выхода из 1с пользователь должен убрать вручную одно cmd-окно. Потом по приглашению нажать любую клавишу. Не очень элегантно? |
|||
44
filh
19.08.10
✎
10:44
|
(43) а в самой конфе через скрипт чистить реестр при выходе?
|
|||
45
sol
19.08.10
✎
11:00
|
(44) немного не понял.
Реестр чистится 2-м бат-файлом после того, как пользователь нажмет клавишу. |
|||
46
filh
19.08.10
✎
11:02
|
в ПриЗавершенииРаботыСистемы() прописать скрипт на удаление записей в реестре.
|
|||
47
sol
19.08.10
✎
11:17
|
(46) Теперь понял. Спасибо, но мне пока кажется такое решение несколько витееватым.
|
|||
48
filh
19.08.10
✎
11:19
|
а через REG RESTORE не пробывал?
|
|||
49
sol
19.08.10
✎
12:38
|
(48) Для чего? Мне нужно удалить раздел, а не сохранить его в файл.
|
|||
50
filh
19.08.10
✎
12:57
|
(49) ну так сохраняешь пустой в файл, потом ресторишь его
|
|||
51
AnoAM
19.08.10
✎
13:20
|
Не читал все посты....
(0)(9) ты начальству объясни что ещё безопаснее не включать комп в принципе. Как начальство твоё представляет запуск программы "открой ту самую базу, но я не скажу какую - угадай сама". Так или иначе где-то будет храниться данные о каталоге базы: либо в реестре, либо в батнике, либо в reg-файле, либо в ini-шке стартера... Как вариант - сделать портебл версию через Thinstall чтобы реестр был не виндовый а своя имитация... и раздать всем сотрудникам по флешке.... Но вот с какой скоростью работать будет не могу сказать.... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |