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

Правая кнопка мыши на файле regall.bat , верхняя строка подменю "Запуск от имени Администратора"
6 varelchik
 
21.05.18
14:47
Складывается такое подозрение, что на win 7 не происходит при старте загрузка скриптов.
7 aka AMIGO
 
21.05.18
15:04
(6) Происходит. Нормально загружаются. У меня Win-7 64х, тоже была еще та проблема с опенконфом.
Кстати, еще одно вспомнил: понижал UAC. Не пропускала, зараза.
8 Масянька
 
21.05.18
15:11
(7) Однозначно - всё арбайтэн.
UAC - вплоть до полного снятия. Регистрация.
9 varelchik
 
23.05.18
15:49
(7) повторяю.
На Wniserver 2003 без всяких плясунов работало.
Переустановил 1С и все.
Что-то в переустановке самого ядра.
10 ildary
 
23.05.18
15:54
(9) Не рассказывайте нам, как хорошо все работало в 2003-м и перестало работать в Win7 - внутри у Win7 куча переделок и ожидать одинакового поведения без костылей и шаманства - не стоит. Вы (2) выполнили? Проверьте что там при этом писало - ОК или errror.
11 MadDAD
 
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<----------------------------------------------------
12 MadDAD
 
23.05.18
17:27
Ну и не забываем, что при установке OpenConf - в папке Bin создаем папку Config в которую складываем оригинальный config.dll
13 MadDAD
 
23.05.18
17:27
Еще рекомендую перерегистрировать скриптовые движки.
Ошибка? Это не ошибка, это системная функция.