ActiveX .exe文件下载

时间:2011-01-16 00:39:40

标签: php html activex download

我正在为我的一个项目开发Web安装程序,并且需要能够使用ActiveX下载.exe文件。我不希望任何对话框提示用户对下载做了些什么。在用户批准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>

唯一的问题是,它不会写文件。


以下是实际页面:

Here is the published page!

1 个答案:

答案 0 :(得分:0)

由于IE的保护模式功能,即使您编写自己的插件,也无法将文件写入任何位置。

我遇到了同样的问题,我的解决方案是将文件写入低完整性位置并调用shell的SHFileOperation以使用UAC对话框进行复制。

但如果可能,您可以尝试将您的网站添加到所有用户的受信任列表中。

以下是相关问题:IE Protected Mode Problem?!