![在 Azure Web 角色上通过 WebPICmd 安装应用程序请求路由](https://linux22.com/image/646046/%E5%9C%A8%20Azure%20Web%20%E8%A7%92%E8%89%B2%E4%B8%8A%E9%80%9A%E8%BF%87%20WebPICmd%20%E5%AE%89%E8%A3%85%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%AF%B7%E6%B1%82%E8%B7%AF%E7%94%B1.png)
正如标题所示,我在 Azure Web 角色中创建了一个启动任务来在服务器上安装 ARR,命令如下:
>WebPiCmd /install /Products:"ARRv3_0"
它在我的计算机上本地运行,但在服务器上它被中断并显示以下窗口消息:
无法安装以下功能
.NET Framework 3.5(包括 .NET 2.0 和 3.0)
Windows Server 角色和功能无法通过 Windows 功能控制面板自动安装或卸载。
要安装 Windows Server 角色和功能,请启动服务器管理器,或使用 Windows PowerShell 的服务器管理器 cmdlet。
从 Web 平台安装程序 GUI 进行安装非常完美,甚至完全跳过安装 .net framework 3.5,因为 4.5 已经安装在 Windows Server 2012 上。
我尝试了离线模式,甚至编辑了 feed XML 文件以删除对 .NET framework 3.5 的任何引用,但没有效果。
有人能指点如何顺利安装我的组件吗?
答案1
发现问题了,看来我部署的“WebPiCmd/WebPiCmd-x64”可执行文件没有“WebPiCmd-x64.config”文件。添加它解决了这个问题。
也许缺少“supportedRuntime”导致出现问题。无论如何,这是我修复所有问题的版本。
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.Deployment"
publicKeyToken="31bf3856ad364e35"
culture="neutral" />
<bindingRedirect oldVersion="7.1.0.0-7.5.0.0"
newVersion="8.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>