Редагувати 2014-02-02: З JavaRE 7u51 панель інструментів Ask тепер встановлюється в підпапку під назвою "AskPartnerNetwork" замість "Ask.com". Можна було б підозрювати, що в цьому суть ... Тим часом, значення реєстру @Danilo Roascio досі підпорядковуються і працює так само, як і раніше.
Це просто підкреслює, що просте виправлення реєстру все ще є найпростішим та найкращим рішенням. Якщо інсталятор Java зміниться, щоб ігнорувати це значення реєстру, наступний скрипт все ще може бути використаний як обхідний шлях - просто переконайтеся, що шлях Панелі інструментів запиту оновлений.
Найпростіший спосіб запобігти встановленню Ask Toolbar знову, я міг придумати, - створити папку Ask Toolbar, яка встановлюється та змінювати дозволи, тому ніхто не може писати на неї.
Спочатку переконайтесь, що панель інструментів запиту була видалена. Потім скопіюйте наступний код у Блокнот, збережіть його у форматі .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 оновлення 13, що Панель запитань дійсно не встановлюється, навіть якщо я залишаю прапорець прапором.
Подібний підхід, швидше за все, може бути застосований для блокування більшості інших видів скарбницьких програм.
Редагувати №1
Вивірка Windows Explorer: доступ заборонено
Провідник Windows поводиться трохи дивно, якщо ви намагаєтесь відкрити папку. Навіть незважаючи на те, що ви все ще маєте доступ до папки для читання, Windows Explorer скаже вам, що в доступі заборонено, навіть якщо доступ до запису заборонено.
Це не відбувається, якщо вам просто призначено доступ для читання в першу чергу, але, здається, це станеться, коли вам було надано дозвіл на читання / запис в папку, а потім було відмовлено у доступі до запису.
Повернення дозволів
Сценарій було оновлено, щоб знову додати текстовий файл "читати мене" та сценарій для видалення обмеження. Обидва зберігаються в папці 32-бітних програмних файлів.