Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Теневая переустановка ПО, Теневая переустановка ПО  
:(
    Опции темы
smesharic26
Дата 28.8.2014, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.8.2014

Репутация: нет
Всего: нет



Доброго времени суток.
Есть задача. Необходимо не отвлекая сотрудников компании, переустановить программу. т.е. удалить одно приложение (gadwin printscreen) и установить другое (greenshot).
Вроде разобрался, старое ПО удаляется, новое устанавливается, все в тихом режиме, но есть одно но, после установки нового ПО выкидывает страничку на сайт оф. разработчика программы.
Обращался туда, с вопросом о возможности отключения данной процедуры.
Вопрос.
Возможно ли перехватить событие(процесс) которое выкидывает на сайт разработчика?

Второстепенная просьба помочь разобраться с кодами возврата.
В этом деле новичок.

Выкладываю код:

Код

var Products            =    "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
var Products6432        =    "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall";

function GetProductStringProperty(GPSP_reg_key,GPSP_regexp_pattern){
    var GPSP_sNames        =    new Array();
    var GPSP_return        =    new Array();
    for (i=0;i<3;i++) 
        { GPSP_return[i]=    new Array();}
    var    GPSP_count        =    0;
    var    GPSP_Types;
    try{
        var GPSP_objReg                =    GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default:StdRegProv");
        var GPSP_objInParams        =    GPSP_objReg.Methods_("EnumKey").InParameters.SpawnInstance_(); 
        GPSP_objInParams.hDefKey    =    0x80000002;
        GPSP_objInParams.sSubKeyName=    GPSP_reg_key;
        var GPSP_objOutParams        =    GPSP_objReg.ExecMethod_("EnumKey", GPSP_objInParams); 
        var GPSP_sNames                =    GPSP_objOutParams.sNames.toArray(); 
        for(var GPSP_i=0; GPSP_i<=GPSP_sNames.length-1; GPSP_i++){
            var    GPSP_reg_key_full    =    GPSP_reg_key+"\\"+GPSP_sNames[GPSP_i];
            var GPSP_DisplayName    =    GetProductString(GPSP_reg_key_full,"DisplayName");
            if(eval("/"+GPSP_regexp_pattern+"/gi").test(GPSP_DisplayName)){    
                if(GPSP_DisplayName!=null){
                    GPSP_return[0][GPSP_count]    =    GPSP_DisplayName;
                    GPSP_return[1][GPSP_count]    =    GetProductString(GPSP_reg_key_full,"DisplayVersion");
                    GPSP_return[2][GPSP_count]    =    GetProductString(GPSP_reg_key_full,"UninstallString")
                    GPSP_count++;
                }
            }
        }
        return GPSP_return;
    }
    catch(GPSP_error){
        WScript.Echo(GPSP_error.message);
        return GPSP_error.message;
    }
    finally{    
        GPSP_objReg                    =    null;
        GPSP_objInParams            =    null;
        GPSP_objOutParams            =    null;
        GPSP_return                    =    null;
        GPSP_i                        =    null;
    }
}

function GetProductString(GPS_reg_key,GPS_property){
    try{
        var GPS_objReg                =    GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default:StdRegProv");
        var GPS_objInParams            =    GPS_objReg.Methods_("GetStringValue").InParameters.SpawnInstance_();
        GPS_objInParams.hDefKey        =    0x80000002;
        GPS_objInParams.sSubKeyName    =    GPS_reg_key;
        GPS_objInParams.sValueName    =    GPS_property;
        GPS_objOutParams            =    GPS_objReg.ExecMethod_("GetStringValue", GPS_objInParams);
        return    GPS_objOutParams.sValue;
    }
    catch(GPS_error){
        return GPS_error.message;
    }
    finally{
        GPS_objReg                    =    null;
        GPS_objInParams                =    null;
        GPS_objOutParams            =    null;
        
    }
}

function GetOsArchitecture(){
    var RAX32_WshShell    =    WScript.CreateObject("WScript.Shell"); 
    var RAX32_WshProEnv    =    RAX32_WshShell.Environment("SYSTEM");

    if(RAX32_WshProEnv.Item("PROCESSOR_ARCHITECTURE")=="AMD64")return "64";
    if(RAX32_WshProEnv.Item("PROCESSOR_ARCHITECTURE")=="x86")return "32";
}

var WshShell = WScript.CreateObject("Wscript.Shell");
var script_engine      =   WScript.FullName.toUpperCase().replace(WScript.CreateObject("WScript.Shell").ExpandEnvironmentStrings("%windir%\\system32\\").toUpperCase(),"");

if ((GetOsArchitecture()=="64")&(WScript.Arguments.Count()==0)){
 
    WScript.Quit(WshShell.run(WshShell.ExpandEnvironmentStrings("%windir%\\SysWoW64\\"+script_engine)+' "'+WScript.ScriptFullName+'" 32',0,true));
    
    upper
}

var sc1        =    GetProductStringProperty(Products,".*Gadwin.*");
var found    =    false;
var result    =    "";
for(c1 in sc1[0]){
    found    =    true;
    //if(c1>0){result=result+('\n\r')};
    //result=result+sc1[0][c1]+"--"+sc1[1][c1];
    WshShell.run('"'+sc1[2][c1]+'" /S',0,true);
    
    WshShell.run("Greenshot.exe",0,true);
    WScript.Quit(0);
}


if(!found){WScript.Quit(1)}





Заранее спасибо за помощь!
PM MAIL   Вверх
smesharic26
Дата 29.8.2014, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.8.2014

Репутация: нет
Всего: нет



Вопрос с перехватом события отпадает, так как я понимаю что это явно не получится. Буду заворачивать все это дело через localhost на ту страницу которую мне нужно... больше идей нет.
Ребята прошу помочь с кодами возврата, о том установлено ли ПО или нет, так же удалено ПО или нет.
Прошу помощи в решении проблемы.
PM MAIL   Вверх
smesharic26
Дата 29.8.2014, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.8.2014

Репутация: нет
Всего: нет



разобрался с сценарием открытия браузера, просто добавил ключ /SP-
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0395 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.