У нас есть MSI для установки службы Windows на клиентском компьютере.Служба Windows вызывает веб-службу нашего сервера для выполнения операций.Изначально MSI и веб-сервис создавались с использованием платформы .NET 2.0.
В прошлом квартале мы обновили наши системы до .NET 4.0.Хотя наш веб-сервис все еще ASP.NET, т.е. asmx (а не WCF).Также я установил Framework 4.0 как необходимое условие для установки MSI.
Один из наших клиентов сообщил об этой проблеме:
Клиент использовал .NET Framework 2.0 и установил более старую версию MSIв его системе.Когда он пытался установить .NET Framework 4.0 версии MSI, было предложено установить Framework 4.0 (из-за предварительных условий).Как только установка фреймворка закончилась, он попытался установить MSI и получил эту ошибку.Может кто-нибудь, пожалуйста, направьте меня к резолюции.При необходимости я могу предоставить подробную информацию.
РЕДАКТ. 1:
В ходе дополнительных исследований я обнаружил, что это мой файл AppName.installstate.,Удаление удаляет этот файл, но обновление не делает этого.Файл лежит в каталоге установки.При ближайшем рассмотрении я вижу "http://schemas.xmlsoap.org/soap/envelope/:Envelope" в содержимом файла. Любой указатель будет принят с благодарностью.
РЕДАКТИРОВАТЬ 2:
Настраиваемое действие Установитьсоздает файл AppName.installstate, а пользовательское действие Удаление удаляет файл. В моем случае я делаю обновление MSI, которое ничего не делает с этим файлом. Когда я сравнивал файл installstate из 2.0 и 4.0 (оба установлены вручную), я могвижу огромную разницу в синтаксисе XML, схеме и содержании, причина, я получаю ошибку сериализации. Теперь мне нужно знать, почему AppName.installstate не перезаписывается при обновлении. Много гугл, но нигде не приземлился. Посмотрел MSIустановить журнал, но без полезной информации.