Есть несколько ответов (например, этот и это) и запись в блоге с указанием того, как установить распространяемые пакеты Visual C++ 2010 в рамках развертывания облачной службы Azure.
Сначала вы добавляете vcredist_x64.exe в веб-проект и устанавливаете для его свойства «Копировать в выходной каталог» значение «Копировать, если новее» или «Копировать всегда». Затем вы делаете то же самое для командного файла (в моем случае «InstallVC.cmd»), который содержит одну строку:
vcredist_x64.exe /q /norestart
Затем вы редактируете файл ServiceDefinition.csdef, чтобы включить параметр
<Startup>
<Task commandLine="InstallVC.cmd" executionContext="elevated" taskType="simple" />
</Startup>
внутри роли. Далее в ответах и сообщении в блоге указывается, что задача запуска зависнет, если для параметра osFamily в ServiceConfiguration.csfg установлено значение osFamily="1" и что вместо этого необходимо установить значение osFamily="2" .
У меня установлено значение osFamily="4", но развертывание не выполняется. Я получаю сообщение об ошибке Role has encountered an error and has stopped. Application startup task failed with exit code 5100
.
Как установить распространяемые пакеты Visual C++ 2010 в рамках развертывания облачной службы Azure с использованием более поздних семейств ОС Azure?