Программа установки wix не устанавливает файлы модуля слияния VS 2005

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

У меня есть один стандартный модуль слияния, подготовленный в VS 2005 (вероятно, все в порядке, я подготовил стандартный проект установки VS 2005, включил модуль слияния, и он работал правильно)

Проект Wix (в основном по причинам графического интерфейса) позаботится об установке. Примеры кода (сокращено для краткости)

Справочная часть:

<Directory Id="INSTALLLOCATION" Name="sth">
      <Merge Id='MyModule3' Language='1033' SourceFile='MergeModule.msm' DiskId='1' />
</Directory>

Функциональная часть:

<Feature Id="ProductFeature3" Title="Tit" Level="1" Description='Yeah' ConfigurableDirectory='INSTALLLOCATION' Display='expand'
         AllowAdvertise='no'>
  <MergeRef Id='MyModule3' />
  <ComponentGroupRef Id="Product.Generated" />
</Feature>

После сборки проекта WIX он выдает такие ошибки, как:

ICE83: Действия MsiPublishAssemblies И MsiUnpublishAssemblies ДОЛЖНЫ присутствовать в таблице InstallExecuteSequence. ICE83: действие MsiPublishAssemblies ДОЛЖНО присутствовать в таблице AdvtExecuteSequence.

Я добавил строки:

<InstallExecuteSequence>
  <Custom Action="PreventDowngrading"
     After="FindRelatedProducts">NEWPRODUCTFOUND</Custom> //i suppose it doesnt influence nothing here
  <MsiPublishAssemblies Sequence="1502" />
  <MsiUnpublishAssemblies Sequence="1501" />
</InstallExecuteSequence>

И:

 <AdvertiseExecuteSequence>
  <MsiPublishAssemblies Sequence="1502" />
</AdvertiseExecuteSequence>

После этого процесс сборки не возвращает никаких ошибок, но, несмотря на установку функции (выбранной в списке функций), на жестком диске нет файлов функций. Я думаю, это может быть вызвано порядковыми номерами, но у меня нет идей, как их исправить, кто-нибудь может помочь?

Если потребуется дополнительная информация, я обязательно ее предоставлю.


person mrsztuczkens    schedule 08.04.2011    source источник


Ответы (1)


Я могу думать о нескольких вещах, которые могут пойти не так. Я бы посмотрел в журнал установки, чтобы узнать, установлены ли файлы, но не там, где вы ожидали их установки. Я знал, что у VDPROJ MSM очень много проблем, включая неправильное создание таблиц каталогов.

Возможно, вы захотите взглянуть на созданный мной проект с открытым исходным кодом под названием IsWiX (CodePlex.com). Он разработан как инструмент разработки пользовательского интерфейса для проектов WiX Merge Module, который также позволяет вам напрямую добавлять дополнительные метаданные с использованием традиционного WiX XML. В результате получается очень чистый модуль слияния, который может использоваться InstallShield, WiX, VDPROJ и др.

person Christopher Painter    schedule 08.04.2011
comment
Я просмотрел журнал установки, и первое, что мне показалось подозрительным, это целый ряд записей (во время регистрации компонентов), например: MSI (s) (0C:E8) [07:50:17:554]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\ChosenDir\Module Retargetable Folder\test.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0). Есть идеи, что с этим делать, или, может быть, нужна дополнительная информация? - person mrsztuczkens; 11.04.2011