2017-01-19 7 views
0

У меня появилось новое, странное поведение в моей установке пакета: MSI, которые раньше отображались в программах и функциях, перестали появляться в программах и функциях (в дальнейшем упоминается как P & F).WiX Bundle не отображает MSI в программах и функциях

Поведение, которое я бы как случиться для программ, которые я устанавливаю, как ССИ появиться в P & F, давая пользователю возможность удалить их дискретно.

Что я пробовал/заметил:

  • Если я установлю MSIS без пакетирования их:
  • они появляются в P & F, и могут быть удалены
  • кроме того, я могут ли они отображаться в P & F, установив для свойства ARPSYSTEMCOMPONENT значение 1 (по умолчанию 0, что означает «появляются в P * F», то есть: <Property Id="ARPSYSTEMCOMPONENT" Value="1"/>

  • эти изменения отражены в реестре. При проверке ключа HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{GUID}, если я установил свойство в 1, оно появляется (оно не отображается, когда я устанавливаю его в 0, но я думаю, что это потому что значения по умолчанию не отображаются).

Однако, когда я поставил MSIS в Bundle, лото-Банго-бонго они исчезают из P & F! И, если я проверю реестр, свойство System 440086083888858787889008888 имеет значение 1 для каждого MSI.

Я пришел к выводу, что каким-то образом в моем загрузчике свойства SystemComponent для моих MSI устанавливаются в 1. Но где можно установить эти свойства? Излишне говорить, что я никогда не устанавливал их в своем WiX XML (по крайней мере, я не думаю, что знаю). У меня нет специального пользовательского интерфейса для загрузчика (только лицензия), и сами MSI устанавливаются тихо, без пользовательского интерфейса.

Я застрял! Может кто-нибудь пролить некоторый свет на это?

Я использую Visual Studio 2015, версию WiX 3.10. Вот полнота моего Загрузчик кода:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" 
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" 
    xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"> 
    <Bundle Name="****" 
      Version="1.0.5.0" 
      Manufacturer="****" 
      UpgradeCode="7be91f26-93f8-400c-9eac-e69383454e03" 
      IconSourceFile="src\****.ico" DisableModify="yes" DisableRemove="yes" 
      AboutUrl="****.com" 
      Copyright="Copyright 2017, ****"> 
     <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"> 
      <bal:WixStandardBootstrapperApplication LicenseFile="src\****_License.rtf" 
                SuppressOptionsUI="yes"/> 
     </BootstrapperApplicationRef> 

     <!-- The two registry serarches provide a variable, what version of .NET is installed on the target machine. One search 
      is for x86, the other for x64. --> 
     <util:RegistrySearch Root="HKLM" 
          Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" 
          Value="Version" 
          Variable="Net452FullVersion"/> 
     <util:RegistrySearch Root="HKLM" 
          Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" 
          Value="Version" 
          Variable="Net452x64FullVersion" 
          Win64="yes"/> 

     <Chain> 
      <ExePackage 
       Id="Microsoft_dot_Net_4.5.2" 
       Name="Microsoft 4.5.2 Setup" 
       Cache="no" 
       Compressed="yes" 
       PerMachine="yes" 
       Permanent="yes" 
       SourceFile="executables\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" 
       InstallCommand="/q" 
       DetectCondition="(Net452FullVersion = &quot;4.5.51209&quot;) AND (NOT VersionNT64 OR (Net4x64FullVersion = &quot;4.5.51209&quot;))" 
       InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Net452FullVersion = &quot;4.5.51209&quot; OR Net452x64FullVersion = &quot;4.5.51209&quot;))"/> 
      <ExePackage Id="Microsoft_Visual_C_plus_plus_Redistributable_2015" 
         InstallCommand="/q" 
         SourceFile="executables\vc_redist.x86.exe"/> 
      <RollbackBoundary/>      
      <MsiPackage SourceFile="$(var.****.TargetPath)"/> 
      <MsiPackage SourceFile="$(var.****.TargetPath)"/> 
      <ExePackage SourceFile="executables\****.exe" InstallCommand="/S"/> 
      <ExePackage SourceFile="executables\****.exe"/> 
     </Chain> 
    </Bundle> 
</Wix> 

ответ

0

Атрибут MsiPackage/@Visible контролирует ли показаны пакеты MSI в ARP.

+0

ОСНОВНОЕ лицо-ладонь! Благодарю. Это то, что я действительно, действительно не должен был потратить три часа (по крайней мере, я узнал о реестре). – Bob