2016-09-06 4 views
0

Я включаю слияние модулей VS 2005 в MSI. Код находится на месте и MSI строит.WiX и Merge Modules - включить или отключить файлы политики?

<Fragment> 
    <DirectoryRef Id="TARGETDIR"> 

    <!-- 
    WiX docs say "There is generally no need to include the policy MSMs as part of the installation.", but, the former Installshield 
    project did include it, so, including here now. Remove it if it's actually not required. 
    http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html 
    --> 
    <Merge Id="VCRedist2005_32" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\Microsoft_VC80_CRT_x86.msm" DiskId="1" Language="0"/> 
    <Merge Id="VCRedist2005_64" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\Microsoft_VC80_CRT_x86_x64.msm" DiskId="1" Language="0"/> 
    <!-- 
    <Merge Id="VCRedistPolicy2005_32" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\policy_8_0_Microsoft_VC80_CRT_x86.msm" DiskId="1" Language="0"/> 
    <Merge Id="VCRedistPolicy2005_64" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\policy_8_0_Microsoft_VC80_CRT_x86_x64.msm" DiskId="1" Language="0"/> 
    --> 

    </DirectoryRef> 
</Fragment> 

И в моих Product.wxs:

<Feature ...> 
     <ComponentRef Id="Client_Registry" /> 
     <?if $(var.Product) = xx ?> 
      <MergeRef Id="VCRedist2005_32"/> 
      <MergeRef Id="VCRedist2005_64"/> 
      <!-- 
      <MergeRef Id="VCRedistPolicy2005_32"/> 
      <MergeRef Id="VCRedistPolicy2005_64"/> 
      --> 
     <?endif?> 
    </Feature> 

Меня беспокоит два предупреждения, хотя:

1>light.exe(0,0): warning LGHT1076: ICE25: Possible dependency failure as we do not find [email protected] v in ModuleSignature table 
1>light.exe(0,0): warning LGHT1076: ICE25: Possible dependency failure as we do not find [email protected] v in ModuleSignature table 

двух сообщений, потому что я в том числе как 32 и 64-битную слияния модули.

Я не добавлял файлы политики, потому что wix page suggests not to. Страница блога MS также backs that up. Но тогда есть такие страницы, как this one, где совет должен включать их.

Итак, я не уверен, как действовать дальше. Должны ли файлы политики быть включены или нет? И если нет, то почему?

ответ

0

Я всегда предпочитал загружать среду выполнения vcredist. Сохраняет мою MSI все красивое и чистое без проблем.

+0

Это можно сделать (мы делаем это для продукта следующего поколения, который зависит от VS2015, у которого нет MSM) ... но тогда мне придется (я понимаю, из того, что я прочитал и попробовал чтобы понять) дублировать MSI gui, который уже предоставляет пользователю параметры установки - и работает - в новое приложение, которое я должен был бы написать сам. Похоже на массовое усилие (даже для одобрения) за очень небольшую отдачу (установщик просто будет выглядеть и действовать одинаково). Прямо сейчас мы игнорируем очевидное - мы не можем изменить текущую установку (нужно удалить и переустановить). Легче ехать по маршруту МСМ! – Jon

+0

Вы можете создать загрузочный загрузочный носитель, который отображает основной интерфейс MSI. Запись действительно хороша в цепочке и управлении, но когда вам нужен очень простой сценарий prereq и стандартной MSI, я обнаружил, что установка InstallShield для prestqs загрузочна. –

+0

Это то, к чему нас принуждают использовать VS2015-версию приложения. Проблема в том, что мы не можем «модифицировать» установку. Запись ARP (для загрузчика) не предлагает модификацию и параметры восстановления, поэтому нам нужно удалить и переустановить приложение, чтобы изменить параметры установки. Если я скрою запись ARP начальной загрузки (просто показывая запись MSI), мы можем изменить/восстановить, но Uninstall не удалит загрузчик из системы, что приведет к неудачной последующей установке (пока вы не удалите предыдущую версию). Опять же, проще и предпочтительнее идти по маршруту МСМ! – Jon

 Смежные вопросы

  • Нет связанных вопросов^_^