Edit 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 ведет себя немного странно, если вы пытаетесь открыть папку. Даже если у вас все еще есть доступ для чтения к папке, Windows Explorer сообщит вам, что доступ запрещен, даже если доступ запрещен только для записи.
Этого не происходит, если вам просто изначально был назначен доступ на чтение, но, похоже, это происходит, когда вам было назначено разрешение на чтение / запись для папки, а затем было отказано в доступе на запись.
Отмена разрешений
Скрипт был обновлен, чтобы добавить текстовый файл «read me» и скрипт для снятия ограничения снова. Оба хранятся в папке 32-битных программных файлов.