Место установки Wix MSI по умолчанию - 32-битная, а не 64-битная "Program Files (x86)" - PullRequest
0 голосов
/ 06 августа 2020

Я создал MSI с помощью установщика WIx, и его место установки по умолчанию отображается как программные файлы вместо программных файлов (x86) Поскольку "ProgramFiles64Folder" дает, он должен go в Program Files (x86), я что-то пропустил

1 Ответ

0 голосов
/ 06 августа 2020

Пример ниже, убедитесь, что ваш компонент отмечен как 64-битный:

Конструкция: $(env.SystemRoot) - в приведенном ниже источнике WiX - получает переменную среды %SystemRoot% - который разрешается в C:\ в большинстве систем (для вывода списка переменных среды откройте cmd.exe, введите set и нажмите Enter). Следовательно, приведенный ниже источник должен компилироваться во всех системах без изменений:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <Product Id="*" Name="Sample" Language="1033" Version="1.0.0"
           Manufacturer="." UpgradeCode="PUT-GUID-HERE">
    <Package InstallerVersion="200" Compressed="yes"
             InstallScope="perMachine" Platform="x64" />

    <MediaTemplate EmbedCab="yes" />

    <Feature Id="MainFeature" Title="MainFeature" Level="1" />
    
    <Directory Id="TARGETDIR" Name="SourceDir">

      <Directory Id="ProgramFiles64Folder">
        <Directory Id="MainApplicationFolder" Name="Main Application Folder">

          <!-- Using notepad.exe as sample file should compile on all systems -->
          <Component Feature="MainFeature" Win64="yes">
            <File Source="$(env.SystemRoot)\notepad.exe" />
          </Component>

        </Directory>
      </Directory>
    </Directory>

  </Product>
</Wix>

Ссылки :

...