Проблемы
Рассмотрим следующий сценарий.
-
Построение проекта установки Microsoft Visual Studio 2008 и затем установить созданный файл MSI для пути установки.
-
Перенос проекта установки Visual Studio 2010 и выполните следующие действия для обновления основных:
-
Изменить поле Основные свойства ProductVersion .
-
Измените значение свойства ProductCode .
-
Свойства RemovePreviousVersions значение True.
-
-
Перестройте проект установки, а затем установить созданный файл MSI на тот же путь установки.
В этом случае файлы и разделы реестра для пути установки исчезают неожиданно.
Причина
Эта проблема возникает из-за различных алгоритма хэширования используется для создания идентификаторов GUID в Visual Studio 2010. При установке MSI-файла, создаваемого из проекта установки Visual Studio 2010, MSI-файл определяет, что идентификатор GUID был изменен и удаляет файлы и разделы реестра для пути установки на основе последовательности проекта.
Решение
Чтобы устранить эту проблему, установите это исправление. Это исправление содержит свойство BackwardCompatibleIDGeneration . По умолчанию это свойство имеет значение False. Перед построением проекта установки в Visual Studio 2010, необходимо явно установить для свойства BackwardCompatibleIDGeneration значение True, чтобы активировать исправление.
Сведения об исправлении
Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, что описана в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление. Для немедленного решения этой проблемы обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Для получения полного списка телефонов поддержки и обслуживания клиентов корпорации Майкрософт, или для создания отдельного запроса на обслуживание, посетите следующий веб-сайт Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением. Чтобы загрузить это исправление из коллекции кода MSDN, посетите следующий веб-узел корпорации Майкрософт:
http://code.msdn.microsoft.com/KB2418919Примечание. Коллекции кода MSDN отображаются языки, для которых доступно исправление. Если в списке язык не отображается, это недоступности страница коллекции кода для этого языка. Или можно загрузить это исправление из следующей веб-сайте Microsoft Connect:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=32676
Предварительные условия
Это исправление необходимо установить Visual Studio 2010.
Необходимость перезагрузки
Может потребоваться перезагрузить компьютер после установки данного исправления. Рекомендуется закрыть все экземпляры Visual Studio или приложений Microsoft платформа.NET Framework перед установкой исправления.
Сведения о замене исправлений
Это исправление не заменяет ранее выпущенные исправления.
Сведения о файлах
Глобальная версия этого исправления устанавливает файлы с атрибутами, которые указаны в приведенных ниже таблицах. Даты и время для файлов указаны в формате UTC. Даты и время для этих файлов на локальном компьютере отображаются с учетом часового пояса и перехода на летнее время. Кроме того, даты и время могут изменяться при выполнении определенных операций с файлами.
Имя файла |
Версия файла |
Размер |
дата |
Время |
Платформа |
---|---|---|---|---|---|
Dpca.dll |
10.0.30319.464 |
236,872 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
145,232 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
145,744 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
146,256 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
147,280 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
147,792 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
148,304 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
904,520 |
11-May-2011 |
13:08 |
x86 |
Dpedt.dll |
10.0.30319.464 |
696,136 |
11-May-2011 |
13:08 |
x86 |
Dpplg.dll |
10.0.30319.464 |
2,606,408 |
11-May-2011 |
13:08 |
x86 |
Dpprj.dll |
10.0.30319.464 |
1,229,640 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
163,152 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
163,664 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
167,248 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
168,272 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
178,000 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
178,512 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
180,560 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
181,072 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
181,584 |
11-May-2011 |
13:08 |
x86 |
Projectsidl3.tlb |
Not applicable |
2,816 |
10-May-2011 |
03:47 |
Not applicable |
Обходное решение
Чтобы обойти эту проблему, воспользуйтесь одним из следующих методов:
-
Способ 1. Вручную измените все идентификаторы GUID компонента же из Visual Studio 2008.
-
Способ 2. Resequence действия RemoveExistingProducts после InstallInitialize действие. Это гарантирует, что старые файлы удаляются и повторно в новой версии.Примечание. Этот метод не работает, когда имеются общие компоненты.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в указанной ниже статье базы знаний Майкрософт.
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт