Я создал специальный установочный пакет для установки некоторых шрифтов на клиентской машине и развернул его в папку с предварительными условиями в C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\FontsInstaller
. Все в порядке, ссылаясь на него как на предварительное условие в Visual Studio 2010, и я могу опубликовать приложение без проблем.
Клиент, с другой стороны, получает сообщение об ошибке во время проверки Хэша:
Проверка хеша файла
Ошибка: программа установки обнаружила, что файл 'C:\Users\RMORAN ~ 1\AppData\Local\Temp\VSD4684.tmp\FontsInstaller\fontsinstaller.msi' либо изменился, поскольку он был первоначально опубликован, либо может быть поврежден.
Я попытался включить хэш и исключить его с помощью генератора манифеста Bootstrapper, и я всегда получаю тот же результат на клиенте. Файл сразу же удаляется (по соображениям безопасности), как только он завершает проверку хэша.
Теперь я нашел отчет об ошибке Microsoft Connect, в котором говорится:
"У меня есть специальный пакет bootstrapper, установленный как предварительное условие для моего приложения. Когда я создаю его в системе с установленной Visual Studio 2012, установка завершится с ошибкой:
Программа установки обнаружила, что файл"... "либо изменился, поскольку он был первоначально опубликован, либо может быть поврежден.
Я создаю Visual Studio 2010 без изменений в пакете или проектах. Когда Visual Studio 2012 не установлен, это работает так, как ожидалось."
Я попытался создать этот установщик на другой рабочей станции без установки VS2012, и он передает проверку хэша на клиенте (я столкнулся с проблемой подписи, но это другая история). Это действительно проблема с машиной сборки с VS2012, а не с клиентом, поскольку пакет, созданный на моей исходной рабочей станции, также терпит неудачу на машине, у которой нет VS2012.
Кто-нибудь еще испытал эту проблему, если это так, вы нашли обходной путь, не установив VS2012?