Редактировать 2014-02-02: С JavaRE 7u51 панель инструментов Ask теперь устанавливается в подпапку с именем "AskPartnerNetwork" вместо «Ask.com». У кого-то могут быть подозрения о том, что это значит ... Между тем, значения реестра @Danilo Roascio все еще соблюдаются и работают так же, как и раньше.
Это только подчеркивает, что простое исправление реестра по-прежнему является самым простым и лучшим решением. В случае изменения установщика Java, так что это значение реестра игнорируется, следующий сценарий все еще можно использовать в качестве обходного пути - просто убедитесь, что путь панели инструментов Ask обновлен.
Самым простым способом предотвратить повторную установку панели инструментов Ask, о которой я мог подумать, было создание папки, в которую Ask Toolbar устанавливает, и изменение разрешений, чтобы никто не мог писать в нее.
Сначала убедитесь, что панель инструментов Ask была удалена. Затем скопируйте следующий код в Блокнот, сохраните его как файл .cmd и запустите в командной строке с повышенными правами:
REM Detect processor architecture
set proc_arch=x64
if "%PROCESSOR_ARCHITECTURE%" == "x86" (
if not defined PROCESSOR_ARCHITEW6432 set proc_arch=x86
)
REM Define Ask Toolbar path
if "%proc_arch%" == "x86" set AskPath=%ProgramFiles%\Ask.com
if "%proc_arch%" == "x64" set AskPath=%ProgramFiles(x86)%\Ask.com
set AskReadme=%AskPath%\..\Ask.com_ReadMe.txt
set AskRevert=%AskPath%\..\Ask.com_RestorePermissions.cmd
REM Create dummy Ask Toolbar folder
md "%AskPath%"
REM Add explanatory text file, as to why the dummy folder is there
echo The 'Ask.com' folder is has been created and write protected,> "%AskReadme%"
echo in order to prevent Ask.com Toolbar from being 'accidentally'>> "%AskReadme%"
echo installed, e.g. by Java.>> "%AskPath%\readme.txt">> "%AskReadme%"
echo.>> "%AskReadme%"
echo This has been done using ICACLS by denying write access to the>> "%AskReadme%"
echo EVERYONE security group.>> "%AskReadme%"
echo.>> "%AskReadme%"
echo To revert permissions run:>> "%AskReadme%"
echo %AskRevert%>> "%AskReadme%"
REM Create script to remove restrictions
echo icacls "%AskPath%" /remove:d *S-1-1-0> "%AskRevert%"
REM Deny everyone (SID: S-1-1-0) write access
icacls "%AskPath%" /deny *S-1-1-0:(OI)(CI)W
Обратите внимание: ICACLS включен в Windows Vista и более поздние версии. Вы можете загрузить ICACLS для Windows XP/Server 2003 через Microsoft KB919240 или обновленную версию через KB943043 (но сначала необходимо запросить последнюю версию, после чего вы получите ссылку для загрузки по электронной почте). Для этого обе версии должны работать одинаково хорошо.
Я установил установщик для Java 1.7 update 13, что панель инструментов Ask действительно не устанавливается, даже если я оставляю флажок установленным.
Подобный подход, скорее всего, может быть использован для блокирования большинства других видов контрейлерных программ.
Правка № 1
Особенность Windows Explorer: доступ запрещен
Windows Explorer ведет себя немного странно, если вы пытаетесь открыть папку. Даже если у вас все еще есть доступ для чтения к папке, Windows Explorer сообщит вам, что доступ запрещен, даже если доступ запрещен только для записи.
Этого не происходит, если вам просто изначально был назначен доступ на чтение, но, похоже, это происходит, когда вам было назначено разрешение на чтение / запись для папки, а затем было отказано в доступе на запись.
Отмена разрешений
Скрипт был обновлен, чтобы добавить текстовый файл «read me» и скрипт для снятия ограничения снова. Оба хранятся в папке 32-битных программных файлов.