15
smaharbA
01.07.10
✎
11:33
|
Но в висте и семерке если всш не сработает (если поудалено или еще какая беда) то не сработает, запуск регедита в любом виде (с включенным уак) требует повышения привилегий
//-------------------------------------------------------------------------
Функция ЗагрузитьВнешнююКомпоненту(ВК="") Экспорт
// Переопределение штатной функции ЗагрузитьВнешнююКомпоненту
// Ищет в Каталоге программы, Каталоге базы, каталоге пользователя
// далее в них же, в подкаталоге ExtDLL
// ВК - имя или полное имя файла внешней компоненты
// возвращает 1 - компонента загружена, 0 - не загружена
Перем Стр, Путь;
Путь="";
Стр="
|"+КаталогПрограммы()+"
|"+КаталогИБ()+"
|"+КаталогПользователя()+"
|"+КаталогПрограммы()+"ExtDLL\
|"+КаталогИБ()+"ExtDLL\
|"+КаталогПользователя()+"ExtDLL\";
Для к=1 По СтрКоличествоСтрок(Стр) Цикл
Если ФС.СуществуетФайл(СтрПолучитьСтроку(Стр,к)+ВК)=1 Тогда
Путь=СтрПолучитьСтроку(Стр,к);
к=0;
Прервать;
КонецЕсли;
КонецЦикла;
Если к>0 Тогда
//Сообщить("Не найдена Внешняя компанента "+ВК,"!");
Возврат 0;
КонецЕсли;
Возврат LoadAddIn(Путь+ВК);
КонецФункции // ЗагрузитьВнешнююКомпоненту
//*******************************************
Функция ДеРегистрировать()
Стр="REGEDIT4
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\HelpDir]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\LocalServer32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\ProgID]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\InprocHandler32]
|
|[-HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\LocalServer32]
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\ProgID]
|";
ФайлРег=КаталогВременныхФайлов()+"v7.application-.reg";
Текст=СоздатьОбъект("Текст");
Текст.ДобавитьСтроку(Стр);
Текст.Записать(ФайлРег);
Попытка
Шел=СоздатьОбъект("WScript.Shell");
Шел.Run("cmd /c start """" /wait regedit /s """+ФайлРег+"""",0,-1);
Исключение
КомандаСистемы("cmd /c start """" /min /wait regedit /s """+ФайлРег+"""");
КонецПопытки;
Попытка
БазаОЛЕ=СоздатьОбъект("v77.application");
Сообщить("Неудачно дерегистрирован объект v77.application","!");
Возв=0;
БазаОЛЕ="";
Исключение
Сообщить("Удачно дерегистрирован объект v77.application","i");
Сообщить("Файл Дерегистрации: "+ФайлРег,"i");
Возв=1;
КонецПопытки;
Возврат Возв;
КонецФункции
//*******************************************
Функция Регистрировать(Знач Программа="",Сообщ=0)
Если ПустоеЗначение(Программа)=1 Тогда
Попытка
Шел=СоздатьОбъект("Shell.Explorer");
Программа=Шел.fullname();
Исключение
Стр=КаталогПрограммы()+"1cv7s.exe
|"+КаталогПрограммы()+"1cv7.exe";
Для к=1 По СтрКоличествоСтрок(Стр) Цикл
Если ФС.СуществуетФайл(СтрПолучитьСтроку(Стр,к))=1 Тогда
Программа=СтрПолучитьСтроку(Стр,к);
к=0;
Прервать;
КонецЕсли;
КонецЦикла;
Если к>0 Тогда
Сообщить("Не найдена "+Программа,"!");
Возврат 0;
КонецЕсли;
КонецПопытки;
ИначеЕсли ФС.СуществуетФайл(Программа)=0 Тогда
Сообщить("Не найдена "+Программа,"!");
Возврат 0;
КонецЕсли;
Программа=СтрЗаменить(Программа,"\","\\");
КаталогПрограммыСтр=СтрЗаменить(КаталогПрограммы(),"\","\\");
Стр="REGEDIT4
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}]
|@=""V1CEnterprise.Application""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\InprocHandler32]
|@=""ole32.dll""
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\LocalServer32]
|
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\ProgID]
|@=""V1CEnterprise.Application""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}]
|@=""V77.AccountOperPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\ProgID]
|@=""V77.AccountOperPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}]
|@=""V77.AccountPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\ProgID]
|@=""V77.AccountPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}]
|@=""V77.AccountRangePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\ProgID]
|@=""V77.AccountRangePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}]
|@=""V77.AdminPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\ProgID]
|@=""V77.AdminPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}]
|@=""V77.Application""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\ProgID]
|@=""V77.Application""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}]
|@=""V77.BasicPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\ProgID]
|@=""V77.BasicPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}]
|@=""V77.GeneralPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\ProgID]
|@=""V77.GeneralPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}]
|@=""V77.InterfacePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\ProgID]
|@=""V77.InterfacePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}]
|@=""V77.ModulePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\ProgID]
|@=""V77.ModulePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}]
|@=""V77.SalaryPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\ProgID]
|@=""V77.SalaryPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}]
|@=""V77.SrcTemplatePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\ProgID]
|@=""V77.SrcTemplatePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}]
|@=""V77.TextPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\ProgID]
|@=""V77.TextPropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}]
|@=""V77.TradePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\HelpDir]
|@="""+КаталогПрограммыСтр+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\ProgID]
|@=""V77.TradePropPage""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}]
|@=""V77S.Application""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\InprocHandler32]
|@=""ole32.dll""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\LocalServer32]
|@="""+Программа+"""
|
|[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\ProgID]
|@=""V77S.Application""
|";
ФайлРег=КаталогВременныхФайлов()+"v7.application+.reg";
Текст=СоздатьОбъект("Текст");
Текст.ДобавитьСтроку(Стр);
Текст.Записать(ФайлРег);
Возв=0;
Попытка
Шел=СоздатьОбъект("WScript.Shell");
СпКлючей=СоздатьОбъект("СписокЗначений");
Ветка="";
Для к=1 По Текст.КоличествоСтрок() Цикл
Стр=Текст.ПолучитьСтроку(к);
Стр=СтрЗаменить(Стр,"\\","\");
Если Найти(Стр,"HKEY_CURRENT_USER")>0 Тогда
Ветка=Стр+"\";
Ветка=СтрЗаменить(Ветка,"[","");
Ветка=СтрЗаменить(Ветка,"]","");
ИначеЕсли (Найти(Стр,"=")>0) и (Найти(Ветка,"HKEY_CURRENT_USER")>0) Тогда
Стр=СтрЗаменить(Стр,"=","" "");
Стр=СтрЗаменить(Стр,"@","");
Стр=СтрЗаменить(Стр,"""","");
СпКлючей.ДобавитьЗначение(СтрПолучитьСтроку(Стр,2),СтрЗаменить(Ветка,"HKEY_CURRENT_USER","HKCU")+СтрПолучитьСтроку(Стр,1));
КонецЕсли;
КонецЦикла;
Для к=1 По СпКлючей.РазмерСписка() Цикл
Ключ="";
Значение=СпКлючей.ПолучитьЗначение(к,Ключ);
Шел.RegWrite(Ключ,Значение);
КонецЦикла;
Возв=1;
Исключение
КонецПопытки;
Если Возв=0 Тогда
Попытка
Шел.Run("cmd /c start """" /wait regedit /s """+ФайлРег+"""",0,-1);
Исключение
КомандаСистемы("cmd /c start """" /min /wait regedit /s """+ФайлРег+"""");
КонецПопытки;
КонецЕсли;
Попытка
БазаОЛЕ=СоздатьОбъект("v77.application");
БазаОЛЕ="";
Если Сообщ=1 Тогда
Сообщить("Удачно зарегистрирован объект v77.application: "+СтрЗаменить(Программа,"\\","\"),"i");
Сообщить("Файл регистрации: "+ФайлРег,"i");
КонецЕсли;
Возв=1;
Исключение
Сообщить(ОписаниеОшибки());
Возв=0;
КонецПопытки;
Возврат Возв;
КонецФункции
Процедура ПриОткрытии()
Перем Программа;
Если (Форма.МодальныйРежим()=1) или (Число(Форма.Параметр)=1) или (ФС.СуществуетФайл(Форма.Параметр)=1) Тогда
Программа="";
Если ФС.СуществуетФайл(Форма.Параметр)=1 Тогда
Программа=Форма.Параметр;
КонецЕсли;
Состояние("Инициализация сервера автоматизации v77.application");
Регистрировать(Программа);
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры // ПриОткрытии
|
|