Установщик WIX не разрешает targetdir в командной строке msiexe c - PullRequest
0 голосов
/ 27 мая 2020

По какой-то причине мой установщик WIX не работает, когда я запускаю эту команду:

msiexec.exe /i "C:\Users\XXX\XX-Debug-x64.msi" TARGETDIR="C:\Installation Test1" /qn

Я получаю окно справки Windows Установщика, показывающее, какие команды я могу использовать. Если я запускаю установщик вручную, я могу изменить путь назначения на все, что захочу, и он установится правильно. Я не понимаю, почему этого не происходит через msiexe c powershell? Использование WIX 3.5 в качестве FYI.

Я пробовал TARGETDIR, INSTALLDIR, INSTALLPATH ... ничего не работает

Мой фрагмент wix находится здесь:

<Fragment>
  <Directory Id="TARGETDIR" Name="SourceDir">

  <!-- Start Menu Directory -->
  <Directory Id="ProgramMenuFolder">
    <Directory Id="InstallProgramMenuFolder" Name="!(loc.ProductName_Folder)"/>
  </Directory>

  <?if $(var.Platform)=x64?>
    <!-- Program files folder -->
    <Directory Id="ProgramFiles64Folder">
      <Directory Id="APPLICATIONROOT" Name="!(loc.ProductName_RootFolder)">
        <Directory Id="INSTALLFOLDER" Name="!(loc.ProductName_Folder)" />
      </Directory>
    </Directory>
  <?else?>
    <!-- Program files folder -->
    <Directory Id="ProgramFilesFolder">
      <Directory Id="APPLICATIONROOT" Name="!(loc.ProductName_RootFolder)">
        <Directory Id="INSTALLFOLDER" Name="!(loc.ProductName_Folder)" />
      </Directory>
    </Directory>
  <?endif?>

</Directory>

Все, что происходит, это вызывается

enter image description here

Дополнительно вырезается из журнала

MSI (s) (68:E8) [14:50:34:401]: Note: 1: 2205 2:  3: Condition 
MSI (s) (68:E8) [14:50:34:401]: PROPERTY CHANGE: Modifying TARGETDIR property. Its current value is 'C:\Installation Test'. Its new value: 'C:\Installation Test\'.
MSI (s) (68:E8) [14:50:34:401]: PROPERTY CHANGE: Adding InstallProgramMenuFolder property. Its value is 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Bob Bob\'.
MSI (s) (68:E8) [14:50:34:401]: PROPERTY CHANGE: Adding APPLICATIONROOT property. Its value is 'C:\Program Files\Bob\'.
MSI (s) (68:E8) [14:50:34:401]: PROPERTY CHANGE: Adding INSTALLFOLDER property. Its value is 'C:\Program Files\Bob\Bob Bob\'.
MSI (s) (68:E8) [14:50:34:401]: PROPERTY CHANGE: Adding dir0B6DC86EBAB610CFD56B476ECDD18AF2 property. Its value is 'C:\Program Files\Bob\Bob Bob\Config\'.
MSI (s) (68:E8) [14:50:34:401]: Target path resolution complete. Dumping Directory table...
MSI (s) (68:E8) [14:50:34:401]: Note: target paths subject to change (via custom actions or browsing)
MSI (s) (68:E8) [14:50:34:401]: Dir (target): Key: TARGETDIR    , Object: C:\Installation Test\
MSI (s) (68:E8) [14:50:34:401]: Dir (target): Key: WindowsFolder    , Object: C:\WINDOWS\
MSI (s) (68:E8) [14:50:34:401]: Dir (target): Key: ProgramMenuFolder    , Object: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\
MSI (s) (68:E8) [14:50:34:401]: Dir (target): Key: InstallProgramMenuFolder , Object: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Bob Bob\
MSI (s) (68:E8) [14:50:34:402]: Dir (target): Key: ProgramFiles64Folder , Object: C:\Program Files\
MSI (s) (68:E8) [14:50:34:402]: Dir (target): Key: APPLICATIONROOT  , Object: C:\Program Files\Bob\
MSI (s) (68:E8) [14:50:34:402]: Dir (target): Key: INSTALLFOLDER    , Object: C:\Program Files\Bob\Bob Bob\
MSI (s) (68:E8) [14:50:34:402]: Dir (target): Key: dir0B6DC86EBAB610CFD56B476ECDD18AF2  , Object: C:\Program Files\Bob\Bob Bob\Config\
...