用于Elastic Beanstalk配置安装Visual C++ Redistributable的命令

5
我正在寻找一个命令,可以在Elastic Beanstalk配置文件中使用,以安装Visual Studio 2012的Visual C++ Redistributable,我需要它来运行我的Web项目。
我尝试使用从exe构建并放置在S3上的msi进行安装,但返回超时:
The following instances have not responded in the allowed command timeout time (they might still finish eventually on their own)

我仍然遇到了错误:
Could not load file or assembly 'Magick.NET-x86.DLL' or one of its dependencies. The specified module could not be found.

Magick.NET需要Visual Studio 2012的Visual C++ Redistributable才能运行。手动安装不是一个选项,因为我需要它预先安装以实现自动扩展性。谢谢。

服务器运行在Windows Server 2012 / IIS8上。

1个回答

7

我最近也遇到了同样的问题。我最终做的是创建一些脚本,这些脚本与部署捆绑在一起,从我的S3存储中下载可再分配程序,然后在部署期间安装在服务器上。以下是我所做的:

  1. http://www.microsoft.com/en-us/download/details.aspx?id=30679下载可再分发文件。
  2. 将可再分发文件上传到您的S3存储并记录URL位置。

  3. 在.NET项目中,创建一个名为.ebextensions的文件夹,该文件夹位于项目的顶层(即与App_data、App_Start、Content等文件夹处于同一级别)。

  4. 创建一个名为myapp.config的文件(用您喜欢的任何名称替换myapp)。实际上,我创建了两个配置文件(myapp-1.config和myapp-2.config),因为出于某种原因,部署程序不喜欢步骤#5中的命令在同一个文件中(我仍在学习这个,所以我很可能搞砸了什么,但这对我有用)。

  5. 在配置文件中,放置以下内容(将文件放入myapp-1.config中,将命令放入myapp-2.config中):

文件:
    "c:\\somedirectoy\\vcredist_x64.exe":
       source: https://s3.amazonaws.com/yours3location/2012vcredist_x64.exe

命令:
    instlVC:
        command: c:\\somedirectory\\vcredist_x64.exe /q /norestart
现在,当您从Visual Studio 2012部署到Elastic Beanstalk时,亚马逊部署过程将从S3下载vcredist_x64.exe,然后以安静模式运行安装程序(无提示等)。
希望这可以帮助您,并欢迎任何改进或建议。

太棒了!我把代码放在同一个配置文件中,它对我起作用了。可能是自从2014年以来更新的东西。 - Niklas Ekman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接