Полуответ на мой вопрос, только для тех, кто заинтересован:
Во-первых, я нашел невероятно полезную статью о том, как работают обновления MSI.
Во-вторых, я нашел InstEd , довольно приятный бесплатный редактор MSI, который показал мне, что с моим файлом MSI все в порядке. (Да, я мог бы вместо этого использовать Orca, если не возражал против загрузки всего пакета Windows SDK.)
В-третьих, досадно, что первоначальная проблема, похоже, устранилась, и я больше не могу ее воспроизводить. Если он вернется, и если я исправлю это снова, я добавлю сюда комментарий!
В любом случае, все это вызвало новую, возможно, еще более серьезную проблему: MSI потребовала для обновления приложения, но фактически ничего не установила! Решение этого заключается в следующем:
- AssemblyVersion не имеет значения, но
AssemblyFileVersion абсолютно
делает : он должен увеличиваться, если вы хотите, чтобы новые файлы были установлены. (Это изменение в VS2008 по сравнению с VS2005. См., Например, this
обсуждение в Microsoft
группы.)
- Однако AssemblyFileVersion не может автоинкрементировать способ AssemblyVersion
Можно. Установка 1.9. * (Или
что угодно) просто приведет к
ошибка. Решение, от Стек
Переполнение на этот раз, чтобы установить
Сборка Версии к автоинкременту, и
затем откройте AssemblyInfo.cs и удалите
атрибут AssemblyFileVersion
в целом. Это заставит файл
версия, равная сборке
версия.