Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Openconf и Win 7

v7: Openconf и Win 7
Я
   varelchik
 
21.05.18 - 12:28
Странное поведение.
Загрузка скриптов.
При старте не грузит MD.vbs.
После входа в конфигуратор, в ручном режиме загрузка работает.
 
 
   aka AMIGO
 
1 - 21.05.18 - 12:39
(0) Попробуй зайти на комп админом и стартуй 1С.
   ildary
 
2 - 21.05.18 - 12:43
+(1) Еще выполнить регистрацию компонентов через "Запуск от имени администратора".
   varelchik
 
3 - 21.05.18 - 14:37
(1) Всю жизнь под ним.
(2) Что это?
   varelchik
 
4 - 21.05.18 - 14:37
+(0) на 2003 Server работало как часы.
   aka AMIGO
 
5 - 21.05.18 - 14:45
(3) "Что это?"

Правая кнопка мыши на файле regall.bat , верхняя строка подменю "Запуск от имени Администратора"
   varelchik
 
6 - 21.05.18 - 14:47
Складывается такое подозрение, что на win 7 не происходит при старте загрузка скриптов.
   aka AMIGO
 
7 - 21.05.18 - 15:04
(6) Происходит. Нормально загружаются. У меня Win-7 64х, тоже была еще та проблема с опенконфом.
Кстати, еще одно вспомнил: понижал UAC. Не пропускала, зараза.
   Масянька
 
8 - 21.05.18 - 15:11
(7) Однозначно - всё арбайтэн.
UAC - вплоть до полного снятия. Регистрация.
   varelchik
 
9 - 23.05.18 - 15:49
(7) повторяю.
На Wniserver 2003 без всяких плясунов работало.
Переустановил 1С и все.
Что-то в переустановке самого ядра.
   ildary
 
10 - 23.05.18 - 15:54
(9) Не рассказывайте нам, как хорошо все работало в 2003-м и перестало работать в Win7 - внутри у Win7 куча переделок и ожидать одинакового поведения без костылей и шаманства - не стоит. Вы (2) выполнили? Проверьте что там при этом писало - ОК или errror.
 
 Рекламное место пустует
   MadDAD
 
11 - 23.05.18 - 17:22
(0) Зарегистрировать все компоненты через %WINDIR%\SysWOW64\regsvr32.exe - из под администратора. отключить DEP, возможно UAC. У меня на Win7x64 и Win10ч64 все отлично пашет. На 10 даже стабильнее.

На всякий пожарный содержимое RegAll64.bat:
8<----------------------------------------------------
echo off
rem зарегистрировать все системные файлы
cscript//nologo "%~DP0regfiles64.js" /I %1 %2
pause
8<----------------------------------------------------

и regfiles64.js
8<----------------------------------------------------
/***************************************************************************
 * За основу взят код скрипта regwscs.js из дистрибутива плагина SHPCE
* для Far (http://scrhostplugin.sf.net), с некоторыми правками -- a13x
**************************************************************************/

/*
*    Регистрирует все системные библиотеки, используемые скриптами для ОпенКонфа.
*
*    Использование.
*
*        Запустите скрипт в папке, в которой расположены системные фaйлы.
*
*        Командная строка для запуска регистрации всех системных файлов:
*
 *                cscript//nologo regfiles.js /I
*
*        Командная строка для отмены регистрации файлов:
 *
 *                cscript//nologo regfiles.js /U

 *
 *        Последним параметром можно указывать /S, в этом случае скрипт
 *        отработает в "тихом" режиме, т.е. не будет ничего выводить на консоль.
 *        Для вывода сообщений о регистрации в файл regfiles.log следует использовать
 *        дополнительный параметр /L. Если при этом использовать также параметр /S,
 *        то вывод сообщений будет производиться *только* в файл regfiles.log.
 *
 *        Можно также воспользоваться пакетными файлами regall.bat и unregall.bat
 *        соответственно для регистрации и отмены регистрации системных файлов.
 *        Как вы можете догадаться, они как раз и выполняют запуск скрипта описанными
*        выше способами.
*
*        Об ошибках сообщайте по электропочте:
*                    kuntashov at yandex dot ru
*                    kuntashov at gmail    dot com
*        Просьба добавлять в начало темы (сабжа) слово "OC_Install:" (без кавычек).
*/

//*************************************************************************


// !!! Порядок следования имен файлов важен:

// сначала *.dll, потом *.wsc. Порядок среди wsc-файлов тоже важен,
// поскольку одни файлы могут использовать другие.

var files = new Array(
"SelectValue.dll",
"svcsvc.dll",
"dynwrap.dll",
"WshExtra.dll",
"macrosenum.dll",
"SelectDialog.dll",
"ArtWin.dll",
"CommonServices.wsc",
"Collections.wsc",
"Registry.wsc",
"1S.StatusIB.wsc",
"ScriptingPlus.wsc",
"SyntaxAnalysis.wsc",
"OpenConf.RegistryIniFile.wsc",
"tlbinf32.dll",
"Templates.wsc"
);

//*************************************************************************


try {

    var WshShell = new ActiveXObject("WScript.Shell")
    var fso = new ActiveXObject("Scripting.FileSystemObject");

    // Скрипт должен лежать в одной директории вместе с файлами, которые необходимо

    // зарегистрировать, и на случай, если он будет запускаться из другой рабочей

    // директории, то принудительно исправим значение текущей директории на ту,

    // в которой лежит сам скрипт

    WshShell.CurrentDirectory = fso.GetParentFolderName(WScript.ScriptFullName)

    var silent    = false;
    var unr        = false;
    var logfile    = null;

    // Если запускаемся не под управлением CScript.exe, то принудительно

    // подавляем вывод сообщений пользователю, дабы избавить его от назойливых

    // MessageBox'ов при каждом вызове Echo() и вместо этого обязательно пишем

    // все сообщения в лог (regfiles.log)


    var forseSilent = (/wscript.exe$/i).test(WScript.FullName);

    if (!WScript.Arguments.Count()) {
        WScript.Echo(usage());
        WScript.Quit(1);
    }

    unr    = WScript.Arguments.Named.Exists("U");

    if (WScript.Arguments.Named.Exists("L") || forseSilent) {
        logfile=fso.CreateTextFile("regfiles.log", true);
    }

    if (WScript.Arguments.Named.Exists("S")) {
        silent        = true;
        forseSilent = false;
    }

    if (!(unr||WScript.Arguments.Named.Exists("I"))) {
        WScript.Echo(usage());
        WScript.Quit(1);
    }
    var res = unr ? unregisterAll() : registerAll();

    var str = "";
    if (logfile) {
        logfile.Close();
        str = "\nПодробности регистрации в файле regfiles.log";
    }

    if (res) {
        if (!silent||forseSilent)
            WScript.Echo("Регистрация выполнена успешно!" + str);
        WScript.Quit(0);// OK

    }

    if (!silent||forseSilent)
        WScript.Echo("В процессе регистрации обнаружены ошибки!" + str);
    WScript.Quit(1);// not OK


}
catch(e) {
    if (!silent||forseSilent)
        WScript.Echo("В процессе регистрации обнаружены ошибки!\n"
                    + e.description);
    WScript.Quit(1);// not OK

}

//**************************************************************************


function usage() {
    return "Usage: cscript//nologo regfiles.js [/I|/U] [/S] [/L]\n"

         + "  /I - register *.DLL and *.WSC files\n"
         + "  /U - unregister *.DLL and *.WSC files\n"
         + "  /S - keep silent (do not write any progress output to stdin)\n"
         + "  /L - output messages to the regfiles.log\n";
}

function registerAll() {
    var isGood = false;
    //if(testPreconditions())

        isGood=runAll(files)
    return isGood;
}

function runAll(files, par){
    var isGood=true;
    for(var i in files) {
        isGood=isGood&&runreg(i, files[i], par);
    }
    return isGood;
}
function unregisterAll(){
    return runAll(files.reverse(), "/U");
}
function runreg(i, file, par){
    var fullPath=WshShell.CurrentDirectory+"\\"+file;
    var cl = (file.match(/\.dll$/)) ? regdll(fullPath, par) : regwsc(fullPath, par);
    if (par&&(par.toUpperCase()=="/U")&&(file.toUpperCase()=="DYNWRAP.DLL")) {
        // XXX ДинаВрап часто не может нормально деинсталлиться :-(,

        // пока игнорируем такое поведение

        msg("Skipped "+"["+(new Number(i)+1)+"/"+files.length+"]:"+cl);
        return true;
    }
    msg("Running "+"["+(new Number(i)+1)+"/"+files.length+"]:"+cl);
    var errcode=WshShell.Run(cl,1,true);
    msg(((errcode==0)?"OK":"Failed")+" ( Error code = "+errcode+" )");
    return (errcode==0);
}//runreg

function regwsc(fullPath, params){
    return "C:\\WINDOWS\\SysWOW64\\regsvr32 /s "+(params?params+" ":"")+'scrobj.dll /n /i:"'+fullPath+'"';
}
function regdll(fullPath, params){
    return "C:\\WINDOWS\\SysWOW64\\regsvr32 /s " + (params?params+" ":"") + '"' + fullPath + '"';
}
function testPreconditions(){
    return testClass("MSScriptControl.ScriptControl", "Please install MS Script control");
}//testPreconditions

function testClass(progID, msg){
    try{
        new ActiveXObject(progID)
        return true;
    }catch(e){
        msg("Failed to create "+progID+". "+msg);
        return false;
    }
}//testClass

function msg(str){
    if (!silent) WScript.Echo(str);
    if (logfile) logfile.WriteLine(str);
}
8<----------------------------------------------------
   MadDAD
 
12 - 23.05.18 - 17:27
Ну и не забываем, что при установке OpenConf - в папке Bin создаем папку Config в которую складываем оригинальный config.dll
   MadDAD
 
13 - 23.05.18 - 17:27
Еще рекомендую перерегистрировать скриптовые движки.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует