如何从HTML页面调用C#一键安装文件?

时间:2019-07-09 21:13:30

标签: c# html

我为控制台应用程序编写了“一键安装”文件。如果.exe文件和.application文件一起存在,则可以安装该文件。

我将文件保存在服务器中,并使用INSTALL按钮将其指向html页面。

plt.plot(x,y, color = (0.95, 0, 0), linewidth = 10)

但是,当我将.exe文件从服务器下载到本地时,.application文件没有下载。结果,当我运行.exe文件时,文件未安装并引发如下错误...

  <table>
  <tr>
    <td>
      <a href="setup.exe" id="InstallButton">Install</a>
    </td>
  </tr>
</table>

如何通过单击“安装”按钮下载.exe文件和.application文件?

2 个答案:

答案 0 :(得分:1)

ClickOnce一直存在问题,尤其是使用引导程序安装程序时。您可以直接从HTML文件链接到.application文件,它将安装,但是以我的经验,只能在Internet Explorer / Edge中使用。我不知道是否可以在其他浏览器中安装处理程序。

对于其他浏览器,我们需要编写一个单独的安装程序(一个非常简单的GUI应用程序),该安装程序从服务器运行.application文件(因此类似于Internet Explorer)。

答案 1 :(得分:1)

您可以将rack_test用于此功能,假设要下载的文件位于同一根目录中,或者可以通过更改下载链接来正确指向这些文件,如下所示:

JavaScript

确保在使用<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Document</title> </head> <body> <table> <tr> <td> <button type="button" id="InstallButton">Install</button> </td> </tr> </table> <script> var installButton = document.getElementById("InstallButton"); installButton.addEventListener("click", function(e) { e.preventDefault(); let xFiles = ["setup.exe", "MyProject.Application"]; downloadFiles(xFiles); }); // Download file function let downloadFiles = function(files) { for (let i = 0; i < files.length; i++) { window.open(files[i], "", "width=200,height=100"); } }; </script> </body> </html> 时禁用弹出窗口阻止程序,或者将window.open()替换为临时window.open(),例如answer