2014-02-11 4 views
0

Я пытаюсь установить 7-Zip, если он уже не установлен в моих системах Win7 с использованием Perl-скрипта.Я пытаюсь установить «Access Denied», когда пытаюсь установить 7zip из исполняемого файла установщика. Скачано

# Check if 7-Zip is installed or Not. 

if (!(-e "C:\\Program Files\\7-Zip")){ 
    print "\n 7-Zip is not installed. Downloading ... \n" 
    system("wget http://downloads.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.exe?r=&ts=1392082197&use_mirror=softlayer-dal"); 
    print "\n Installing.. \n"; 
    system("7z920.exe /S /D=\"C:\Program Files\7-Zip\""); 
} 

Он загружает файл, мне нужно (7z920.exe) к PWD, но он не устанавливает. Я продолжаю получать ошибку командной строки, «Отказано в доступе». Даже если я запускаю сценарий в режиме администратора в командной строке.

На самом деле, если я просто иду по системному пути, то в командной строке были 7z920.exe и попытался вызвать .EXE, я получаю ту же отрицательную ошибку. Он не будет установлен. Но если я нажму на него из папки, это позволит мне установить его ?! Почему я могу дважды щелкнуть и установить из папки, но не могу вызывать исполняемый файл из одного и того же пути из командной строки и не устанавливать его?

C:\>7z920.exe /S /D="C:\Program Files\7-Zip" 
Access is denied. 

Помогите мне? Как установить это с помощью моего сценария? или из пакетного файла?

ответ

0

Когда я запустил команду wget, я получаю файл с именем [email protected]=&ts=1392082197&use_mirror=softlayer-dal. Поэтому я бы рекомендовал

  1. Использование wget «s -O вариант, чтобы заставить загруженный файл, чтобы иметь имя файла, который вы хотите.

    wget -O 7z920.exe http://downloads.sourceforge.net/project/... 
    
  2. Я не знаю, что в вашем PATH, так предшествуют вашу команду с пути тока.

    system(".\\7z920.exe /S /D=..."); 
    
  3. Будьте осторожны с тем, как избежать специальных символов в Perl внутри двойных кавычек. Попробуйте один из:

    system(".\\7z920.exe /S /D=\"C:\\Program Files\\7-Zip\""); 
    system('.\7z920.exe /S /D="C:\Program Files\7-Zip"'); 
    

 Смежные вопросы

  • Нет связанных вопросов^_^