в журнале.

оматически генерирую файл WiX для моего установщика на основе каталога (он предназначен для веб-приложения) и содержит ссылки на следующие 3 .Net сборки:

Migrator.dllMigrator.Framework.dllMigrator.Providers.dll

А вот генерация фрагментов WiX:

<Fragment>
<DirectoryRef Id="bin">
  <Component Id="bin.Migrator.dll" Guid="*">
    <File Id="bin.Migrator.dll" Name="Migrator.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.dll" />
  </Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="bin">
  <Component Id="bin.Migrator.Framework.dll" Guid="*">
    <File Id="bin.Migrator.Framework.dll" Name="Migrator.Framework.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.Framework.dll" />
  </Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="bin">
  <Component Id="bin.Migrator.Providers.dll" Guid="*">
    <File Id="bin.Migrator.Providers.dll" Name="Migrator.Providers.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.Providers.dll" />
  </Component>
</DirectoryRef>
</Fragment>

Мы использовали одну и ту же базовую структуру установщика в течение года или около того, но недавно мы обновили библиотеки Migrator.Net до новой внутренней сборки, в которой изменились номера версий и атрибуты заголовка / описания сборки (выгружены из Orca).

bin.Migrator.dll bin.Migrator.dll Migrator.dll 16384 3.0.1317.0 0 512 78bin.Migrator.Framework.dll bin.Migrator.Framework.dll pi0mozkr.dll | Migrator.Framework.dll 20992 3.0.1317.0 0 512 79bin.Migrator.Providers.dll bin.Migrator.Providers.dll jq05waoy.dll | Migrator.Providers.dll 73216 3.0.1317.0 0 512 82

Чтобы после обновления библиотек:

bin.Migrator.dll bin.Migrator.dll Migrator.dll 16384 3.2.0.1 0 512 55bin.Migrator.Framework.dll bin.Migrator.Framework.dll pi0mozkr.dll | Migrator.Framework.dll 28160 3.2.0.1 0 512 56bin.Migrator.Providers.dll bin.Migrator.Providers.dll jq05waoy.dll | Migrator.Providers.dll 79872 3.2.0.1 0 512 57

Хотя младшая версия выше, ревизия теперь 1 вместо 1317.

С тех пор мы обнаружили, что при обновлении до новой версии эти 3 файла не копируются (поэтому процесс обновления удаляет старые файлы, но не устанавливает новые файлы).

Будет ли это связано с изменением номера версии сборок и, если да, есть ли способ переопределить это поведение (мы просто хотим удалить все, а затем скопировать все заново, независимо от версии).

Интересно, что если вы устанавливаете, затем повторно запускаете установщик и выполняете «восстановление», оно действительно копирует новые файлы - я полагаю, это потому, что при восстановлении файла больше нет, поэтому логика проверки версии файла не применяется?

Будем весьма благодарны за любые подсказки относительно того, как это работает, и как избежать возникшей у нас проблемы с обновлением.

Ответы на вопрос(1)

Ваш ответ на вопрос