Апдейт программы (dll)

Тема в разделе "WASM.WIN32", создана пользователем mednice, 6 янв 2009.

  1. mednice

    mednice New Member

    Публикаций:
    0
    Регистрация:
    6 янв 2009
    Сообщения:
    9
    Всем привет, столкнулся с проблемой, есть длл, грузится через appinit_dlls, это не троян, обычное приложение работающее только на 1 машине.
    проблема в том, что доступ к ней только удаленно, так вот столкнулся с проблемой, нужно обновлять приложение точнее dll, а dll находится почти во всех процессах, хочется чтобы имя dll оставалось тем же самым, как можно ее выгрузить изо всех процессов и патом успешно удалить.
    Можно ли решить проблему не прибегая к инжекту с LdrUnloadLibrary и дальнейшем удалением старой dll через батник и переименованием новой длл на старое имя? :)
    Может лучше реализовать сие через драйвер?
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Даже, если тебе удастся каким-то образом удалить старую ДЛЛ, с большой вероятностью система с треском рухнет.
    MoveFileEx с флагом MOVEFILE_DELAY_UNTIL_REBOOT тебе поможет. При перезагрузке все перезапишется само.
     
  3. mednice

    mednice New Member

    Публикаций:
    0
    Регистрация:
    6 янв 2009
    Сообщения:
    9
    Partner
    гы, спасибо, попробую
    --
    да все работает, только нужно еще юзать с флагом MOVEFILE_REPLACE_EXISTING, еще раз спасибо)