Мы недавно перешли на новый веб-сервер (с IIS6 до IIS7.5), и у меня возникли проблемы с обновлением нашего надстройки для слов VSTO.
Наше приложение проверяет наличие обновлений вручную при входе в систему и, если найдены обновления более новой версии, подобные этим (дайте мне знать, если есть лучший способ сделать это - я попробовал ApplicationDeployment.Update()
, но мне не повезло с этим либо!):
WebBrowser browser = new WebBrowser();
browser.Visible = false;
Uri setupLocation = new Uri("https://updatelocation.com/setup.exe");
browser.Url = setupLocation;
Используется для запуска установки и обновления приложения, и когда пользователь перезапустит слово, у него будет установлена новая версия. Поскольку сервер перемещается, обновление больше не происходит. Никаких исключений не выбрасывается. Просмотр URL-адреса запускает программу обновления, как и ожидалось. Что мне нужно изменить, чтобы заставить это работать?
Примечание. В папке IIS установлены следующие типы MIME:
.Application
применение / X-MS-приложений
.manifest
применение / X-MS-манифест
.deploy
Применение / октет-поток
.msu
приложения / октет-поток
.msp
приложения / октет-поток
.exe
приложения / октет-поток
Редактировать
ОК. Я посмотрел на Fiddler, и он вернулся с размером тела -1:
Если я введу тот же URL в IE, вы увидите, что setup.exe запускается без проблем.
Это то, что fiddler отображает в необработанном виде при доступе из слова:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Last-Modified: Tue, 27 Sep 2011 15:07:42 GMT
Accept-Ranges: bytes
ETag: "9bd0c334277dcc1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 14 Nov 2011 07:42:18 GMT
Content-Length: 735608
MZ��������������������@������������������������������������������ �!�L�!This program cannot be run in DOS mode. $�������
*** FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable truncation. ***