Запуск vcredist_x64.exe в качестве задачи запуска для облачной службы Azure, osFamily=4.

Есть несколько ответов (например, этот и это) и запись в блоге с указанием того, как установить распространяемые пакеты 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?


person dumbledad    schedule 28.01.2015    source источник


Ответы (1)


Это не удалось, потому что в образе облачной службы Azure уже была установлена ​​более свежая версия распространяемых пакетов Visual C++, поэтому мне не нужно было устанавливать другую. Что заставило меня подумать, что мне это действительно нужно, так это то, что используемая мной DLL не может загрузить свои зависимости (как показано на снимке экрана ниже из Dependency показывает Уокер). Но не удалось найти зависимости не потому, что отсутствовали распространяемые пакеты Visual C++, а потому, что я ссылался на отладочные версии (например, MSVCP120D.DLL, а не MSVCP120.DLL). Замена на «выпуск» устранила проблему отсутствующих зависимостей для меня, не требуя каких-либо задач запуска развертывания Azure.

Обходчик зависимостей

person dumbledad    schedule 29.01.2015