Azure角色 - 应用程序启动任务失败,退出代码为1

时间:2013-04-13 11:05:55

标签: azure

我尝试按照以下MSDN文章包含一个任务: http://msdn.microsoft.com/en-us/library/windowsazure/jj154098.aspx

但是我在其中一个实例上收到了以下错误;

回收(等待角色启动...应用程序启动任务失败,退出代码为1. [2013-04-13T11:03:22Z])

有人可以建议真正发生的事情,如果有的话会有什么问题?

下面是我的cmd:

@echo off

@echo Installing "IPv4 Address and Domain Restrictions" feature 
%windir%\System32\ServerManagerCmd.exe -install Web-IP-Security

@echo Unlocking configuration for "IPv4 Address and Domain Restrictions" feature 
%windir%\system32\inetsrv\AppCmd.exe unlock config -section:system.webServer/security

和CSDF:

<Startup>
  <Task commandLine="Startup.cmd" executionContext="elevated"/>      
  <Task commandLine="startup\startup.cmd" executionContext="elevated"/>
</Startup>

谢谢

2 个答案:

答案 0 :(得分:5)

我曾遇到过类似的问题。我通过在我的启动脚本中添加以下内容来修复它:

exit /b 0

如果没有这个,Azure Fabric就不会将脚本注册为已完成,并且它会继续回收实例。

我看到您使用 ServerManagerCmd.exe 。此命令已从Windows Server 2012中删除。因此,请确保未使用最新的OS系列版本部署您的角色。

<ServiceConfiguration ... osFamily="1" ...>

答案 1 :(得分:3)

你可以在这里做的是RDP到实例中并手动运行.CMD文件以查看它是否会抛出任何错误。

我在部署到Azure时收到类似的错误,这是由启动命令引发需要用户输入的对话框引起的。基本上警报框确认.dll已经注册,这就是全部,但它足以阻止部署例程在其轨道上。

以下是我的.cmd文件的内容:

chcp 1252>NUL
regsvr32 /s .\library\asppdf64.dll
regsvr32 /s .\library\aspjpeg64.dll
exit /b 0

/s告诉服务以静默方式运行(即清除对话框)。 chcp 1252>NUL设置了代码页。