WIX: обновление неверсионных файлов в отдельном cab-файле - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть установщик WIX, который устанавливает некоторые неверсированные файлы из внешнего CAB-файла.

Моя проблема заключается в том, что мне говорят, что перед установкой InstallInitialize мне нужно удалить RemoveExistingProducts, чтобы правильно обновлять неверсионные файлы.Тем не менее, он, кажется, сходит с ума с внешними CAB-файлами и продолжает выдавать ошибку, что файл отсутствует в CAB-файле (даже если он есть).

Если RemoveExistingProducts находится после InstallExecute, он устанавливается правильнос CAB-файлом в первый раз, но не будет обновлять файл во время обновления

Ниже приведены некоторые фрагменты:

<Media Id="2" Cabinet="Videos.cab" EmbedCab="no" CompressionLevel="none" />

...

<Component Id="Video01" Guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" DiskId="2" >
    <File Id="Video01.wmv"  DiskId="2" Vital="no" Source="BLAH.wmv" Name="Video01.wmv"/>
</Component>

...

<InstallExecuteSequence>
    <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWERPRODUCTFOUND</Custom>
    <!--<RemoveExistingProducts  After="InstallExecute" />-->
    <RemoveExistingProducts  Before="InstallInitialize" />
</InstallExecuteSequence>

1 Ответ

0 голосов
/ 24 февраля 2012

Попробуйте установить атрибут DefaultVersion для файла и добавить RemoveExisingProducts после InstallExecute. Как указано в MSDN:

Versioned Files Win—A versioned file gets installed over a nonversioned file.
...