Проект веб-установки удаляет файлы после обновления с VS2008 до VS2010 - PullRequest
0 голосов
/ 18 мая 2010

У меня есть проект веб-установки, созданный с использованием VS2008.Я преобразовал свое решение в VS2010, и теперь, когда я собираю свой новый установщик и запускаю установку из MSI, он отлично устанавливается, затем на последнем шаге удаляет все только что установленные файлы.

У меня есть RemovePreviousVersionsустановить в true.Если я отключу это, файлы останутся на месте (но я получу несколько экземпляров в разделе «Программы и компоненты» на панели управления).

Если я запустлю установку снова, файлы появятся снова.С этого момента файлы всегда остаются, даже при установке другой версии.Таким образом, проблема, похоже, заключается в запуске установщика, созданного с использованием VS2008, и последующем запуске того же установщика, созданного VS2010.GUID обновления для каждого установщика одинаковы.

В чем причина и как я могу это исправить?

Ответы [ 4 ]

1 голос
/ 19 мая 2010

Я не пробовал переносить установку с VS2008 на 2010, но наличие одного и того же кода обновления для разных версий сборки вызовет проблемы; простое объяснение - сбой установщика msiexec при попытке удалить старые компоненты, поскольку более старые компоненты имеют ту же версию обновления, что и устанавливаемые новые компоненты. Существует настройка проекта VS, в которой вы можете автоматически генерировать новый код обновления каждый раз, когда перестраиваете свой MSI; Я обычно выбираю это и избавляю от многих этих проблем с версиями.

  • Удалите все копии вашего приложения, используя Добавить / удалить программы

  • Удалите содержимое вашей папки% TEMP% (для избавиться от любых "старых" (VS2008) копий вашего .msi)

  • Обновите GUID для версии VS2010 (я думаю, что вы делаете это, щелкая правой кнопкой мыши на GUID в окне свойств и нажатие кнопки «Создать новый GUID»)

  • пересоберите проект и попробуйте снова!

0 голосов
/ 14 октября 2010

Я только что столкнулся с этой ошибкой. Была точная проблема при обновлении. Я пробовал решение по адресу:

https://connect.microsoft.com/VisualStudio/feedback/details/559575

Я отредактировал свой MSI-файл в Orca: RemoveExistingProducts сразу после InstallInitialize (номер последовательности 1501) Это было найдено в таблице InstallExecuteSequence . Первоначально это был порядковый номер 6550.

Это решило мою проблему.

0 голосов
/ 09 июня 2010

Я отправил ошибку в Microsoft Connect , и они подтвердили, что она воспроизводима.

0 голосов
/ 24 мая 2010

Я обнаружил, что изменение кода UpgradeCode предотвратит удаление файлов, однако затем оно будет рассматриваться как отдельная установленная программа, т. Е. В панели управления (Программы и компоненты) моя программа появляется дважды. Логично, я думаю, это потому, что это не та же программа.

Похоже, мой единственный вариант - программно удалить старую версию в установщике новой версии, написав специальное действие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...