Сообщение Outlook Express «Чтобы освободить место на диске… «

Описание проблемы:

У некоторых пользователей нашей сети периодически стало появляться сообщение «Чтобы освободить место на диске, Outlook Express может сжать сообщения. Для этого потребуется несколько минут».

Никакие штатные средства настройки Outlook Express не помогали. При этом мы удаляем сам Outlook Express в процессе настройки компьютера через Мастер компонентов Windows.

Также не помогло такое решение:

OE предлалает сжать папки в автоматическом режиме, основываясь на показаниях счётчика запуска программы, который хранится по адресу в реестре: HCKU\Identities\<ваш идентификатор>\Softaware\Microsoft\Outlook Express\5.0, параметр Compack Check Count. Процесс сжатия папок может быть доглим, а если вы случайно согласились его запустить, прерывать не рекомендуется во избежание потери данных, поэтому может возникнуть желание отключить автосжатие. Достигнуть этого можно с помощью скрипта на Visual Basic Script (vbs), который будет сбрасывать значение счётчика запуска программы:

dim WshShell, id, path

Set WshShell = CreateObject(«Wscript.Shell»)

‘Записываем в переменную id идентификатор последнего пользователя OE

id = WshShell.RegRead («HKEY_CURRENT_USER\Identities\Last User ID»)

‘используем значение переменной id для получения полного пути к параметру Compact Check Count

path = «HKEY_CURRENT_USER\Identities\» & id & «\Software\Microsoft\Outlook Express\5.0\Compact Check Count»

‘ записываем ноль в счётчик запуска OE

WshShell.RegWrite path, «0″ , «REG_DWORD»

ВНИМАНИЕ! Скрипт вносит изменения в реестр, запуская его, вы действуете на свой страх и риск!

Для того, чтобы запустить скрипт, нужно создать текстовый файл, вставить туда всё, что выделено зелёным шрифтом, сохранить файл с расширением .vbs. Запускается скрипт как приложение. Чтобы счётчик сбрасывался при каждом входе в систему, скрипт нужно поместить в папку Автозагрузка.

Решили использовать грубый метод – удалили все записи в реестре, в которых встречается «Outlook Express». Помогло, но процесс удаления достаточно длительный. Захотелось  это дело автоматизировать, и я написал небольшой скрипт  с помощью AutoIt:

#include <GUIConstants.au3>

GUICreate(«Outlook Express RegKiller»,500,80)
$info_text = GUICtrlCreateLabel(«»,10,10,480,60)
GUISetState()

Global $found = «»
;HKEY_LOCAL_MACHINE» («HKLM»), «HKEY_USERS» («HKU»),

;»HKEY_CURRENT_USER» («HKCU»), «HKEY_CLASSES_ROOT» («HKCR»),

;»HKEY_CURRENT_CONFIG» («HKCC»).
SearchReg(«HKCR»,»Outlook Express»)
SearchReg(«HKCU»,»Outlook Express»)
SearchReg(«HKLM»,»Outlook Express»)
SearchReg(«HKU»,»Outlook Express»)
SearchReg(«HKCC»,»Outlook Express»)

GUIDelete()

;повторный поиск фоном
SearchReg(«HKCR»,»Outlook Express»)
SearchReg(«HKCU»,»Outlook Express»)
SearchReg(«HKLM»,»Outlook Express»)
SearchReg(«HKU»,»Outlook Express»)
SearchReg(«HKCC»,»Outlook Express»)

Exit

;*****************************************************
; Recursive search-function
;*****************************************************

Func SearchReg($startkey,$searchval)

$i = 1
While 1
$key = RegEnumKey($startkey,$i)
If @error <> 0 Then ExitLoop
GUICtrlSetData($info_text,$startkey & «\» & $key)
$z = 1
While 1
$val = RegEnumVal($startkey & «\» & $key,$z)
If @error <> 0 Then ExitLoop
If StringInStr($val,$searchval) Then $found = $found & $startkey & «\» & $key & «, » & $val & @LF
$readvalkluch = RegRead($startkey & «\» & $key,$val)
$readvalvetka = $startkey & «\» & $key
If $readvalkluch <> «» And StringInStr($readvalkluch,$searchval) Then $found = $found & $startkey & «\» & $key & «,» & $val & @LF

;удаляем ключ, если он содержит искомое значение
If string($found) <> «» And StringInStr($readvalkluch,$searchval) then
RegDelete(string($startkey & «\» & $key),string($val))
EndIf

;удаляем ветку, если она содержит искомое значение
If StringInStr($readvalvetka,$searchval) then
RegDelete(string($startkey & «\» & $key))
EndIf

$z = $z + 1
WEnd
SearchReg($startkey & «\» & $key,$searchval)
$i = $i + 1
WEnd

EndFunc

После перезагрузки компьютера назойливые сообщения перестают появляться.

Исполняемый файл программы можно скачать http://rghost.ru/48265252 (обновлено 21.08.2013).

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.