Загрузка файла ActiveX .exe - PullRequest
       4

Загрузка файла ActiveX .exe

0 голосов
/ 16 января 2011

Я работаю над веб-установщиком для одного из моих проектов, и мне нужно иметь возможность загружать файлы .exe с помощью ActiveX. Я не хочу никаких диалогов, побуждающих пользователя что-то делать с загрузкой. После того, как пользователь утвердит ActiveX, я хочу, чтобы файлы были загружены в нужное место, скажем, C: \ TEST.

Есть идеи?

Это то, что я имею до сих пор:

<?php

$filename = "WebLock.exe";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

<html>
<head>

<title>Test</title>
</head>
<body>
<center><b>Downloading Required Files...</b></center>
<script>
function IEsave(filename, sData) {
    var fso, a;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    file = fso.CreateTextFile(filename, 2, false);
    file.write(<?php echo $contents ?>);
    file.Close();
    return file;
}

alert(IEsave("C:\\WebLock.exe", ""));

</script>
Complete!
</body>
</html>

Единственная проблема в том, что файл не записывается.


Вот фактическая страница:

Вот опубликованная страница!

1 Ответ

0 голосов
/ 17 января 2011

Вы не можете записать файл в любое место из-за функции защищенного режима IE, даже если вы пишете свой собственный плагин.

У меня была та же проблема, и мое решение было записывать файлы в место с низким уровнем целостности ивызов SHFileOperation оболочки для создания копии с помощью диалогового окна UAC.

Но если это возможно, вы можете попытаться добавить свой сайт в список доверенных для всех своих пользователей.

Вот связанный вопрос: Проблема защищенного режима IE?!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...