Всем доброго времени суток.
Столкнулся с двумя проблемами.
В папке $WINDIR\System32\drivers\ хочу удалить файл
.sys. В семерке этот файл спокойно удаляется с помощью макроса и команды:
Скрытый текст
Код:
!insertmacro DisableX64FSRedirection
Delete "$WINDIR\System32\drivers\test.sys"
!insertmacro EnableX64FSRedirection
В десятке почему то не удаляется. Когда начал пробовать в десятке удалить его вручную, то он пишет, что занят процессом. Но IObit Unlocker показывает, что никаким процессом он не занят и командой "разблокировать и удалить" спокойно его удаляет.
Вот такой вопрос, имеется ли в nsis команда типа "снять все атрибуты, разблокировать и удалить", чтобы удалялся в десятке файл, как это делает IObit Unlocker?
И вторая проблема.
Имеется батник - это вполне рабочий генератор случайного 32 значного кода с записью в нужную область реестра:
Скрытый текст
Код:
@echo off
cls
@echo.
@echo.
call :randomizeSequence 32 sequence
@echo sequence = '%sequence%'
REG ADD HKLM\Software\Test/v TestId /t REG_SZ /d %sequence% /f
exit /b
:randomize
set MIN=%1
set MAX=%2
set /A %3=%MIN% + (%MAX% - %MIN% + 1) * %random% / 32768
exit /b
:fillArray
set "array[%cnt%]=%1"
set /a cnt +=1
exit /b
:initialRandomize
if defined ALREADYINIT (exit /b)
set ALREADYINIT=true
for %%a in ( 1 2 3 4 5 6 7 8 9 a b c d e f g) do (
call :fillArray %%a
)
exit /b
:accumulate
call :randomize 1 15 index
call set "char=%%array[%index%]%%"
call set "%dst%=%%%dst%%%%char%"
exit /b
:randomizeSequence
set len=%1
set dst=%2
call :initialRandomize
for /L %%a in (1 1 %len%) do (
call :accumulate %%a
)
exit /b
Помогите, пожалуйста сделать то же самое, что в батнике только кодом.