none
Проблемы с запуском 32-битных приложений в 64-битной Windows 7

    Question

  • Здравствуйте, друзья!

    Возникла очень странная проблема. Суть ее в следующем. У меня установлена Windows 7 Ultimate x64. Предположительно после обновления пакетов Microsoft Visual C++ 2005-2010 Redistributable (x86 и x64) возникла проблема с запуском 32-битных приложений. Сначала я заметил, что не запускается CCleaner. Его процесс отображается в Диспетчере задач с указанием частного рабочего набора памяти в 100-104 Кб и ничего не происходит. Дамп с процесса снять не могу, т.к. Диспетчер задач пишет ошибку, суть которой я понял так - программа в самом начале инициализации и снимать дамп не с чего (текст ошибки привести не могу, не помню, помню что-то про MemoryRead или Write). Я попробовал запустить другие программы - аналогично. Причем 64-битные программы запускаются без проблем.

    Заметил, что после перезагрузки CCleaner запускается лишь раз, второй запуск уже не происходит и повторяется сценарий, описанный выше.

    При этом также периодически падает Explorer.exe, когда, судя по отчетам об ошибках, он подгружает 32-битный модуль, антивируса, например. Internet Explorer также пару раз завис из-за загрузки 32-битного модуля. Примечательно, что Internet Explorer запускался без проблем, хотя и был 32-битным.

    Также несколько раз система вовсе не загрузилась корректно. Появился черный экран и я смог вызвать Диспетчер задач, который показал минимум процессов в системе. Судя по отчетам проблема была в том, что не запустилась большая часть служб ("Превышен интервал ожидания").

    Сейчас, я удалил все варианты Microsoft Visual C++ Redistributable, ведь известно, что его ставит почти любая игра одновременно с собой. Удалил их и проблема осталась, увы. Потом я поставил их заново с сайта Microsoft, но проблема снова осталась. Потом установил обновления, что на днях предложила Windows, и пока вот уже 30 минут все нормально.

    Но не факт, что проблема решена. Она имеет свойство возвращаться после перезагрузки.

    Собственно выводы:

    1) Проблема с запуском только 32-битных приложений - они не могут даже инициализироваться нормально;

    2) Проблема с запуском только 32-битных сторонних приложений, т.к. системные вроде работают, хоть их и не так много в 32-битной версии (хотя вот службы не запускались несколько раз, так что не факт, что это так);

    3) Возможно проблема в Visual C++ Redistributable, но фактических подтверждений нет;

    4) Возможно проблема в подсистеме WOW64, но опять-таки подтверждений нет.

    Так в чем же проблема? Кто сталкивался с таким?

    Sunday, April 17, 2011 9:20 AM

Answers

  • В вашем случае есть куда более вероятная причина - CCLeaner. Если вы используйте чистилки/оптимизаторы то проблемы не заставят себя ждать. Последствия чистильщиков обычно не лечатся.

     


    This posting is provided "AS IS" with no warranties, and confers no rights.
    Sunday, April 17, 2011 4:12 PM

All replies

  • В вашем случае есть куда более вероятная причина - CCLeaner. Если вы используйте чистилки/оптимизаторы то проблемы не заставят себя ждать. Последствия чистильщиков обычно не лечатся.

     


    This posting is provided "AS IS" with no warranties, and confers no rights.
    Sunday, April 17, 2011 4:12 PM
  • Исключено. CCleaner редко использую для чистки реестра, а если чищу, то вручную, т.к. знаю практически весь реестр. В основном использую для чистки Temp у всех программ.
    Monday, April 18, 2011 7:22 PM
  • Даже не знаю что посоветовать человеку который знает практически весь реестр. Уверен что вы все сумейте починить сами. Удачи.
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Monday, April 18, 2011 9:08 PM
  • Вам следует пересмотреть набор используемых вами программ и исключить из него любые цэцэклинеры, которые я лично отношу к классу malware (зловредных программ).


    MCITP: Enterprise Administrator; MCT; Microsoft Security Trusted Advisor; CCNA
    Tuesday, April 19, 2011 6:18 AM
  • С помощью Process Explorer было выяснено, что после старта 32-битные процессы уходят в Suspend. Если принудительно с помощью того же Process Explorer их возобновить (Resume), то выполнение программы исправно идет дальше. Странно.
    Friday, April 22, 2011 5:55 PM