WiX с примером кода - PullRequest
       13

WiX с примером кода

1 голос
/ 01 февраля 2011

Я ищу точное руководство по WiX с примером проекта, если это возможно. Текущие учебники мне не очень помогли.

Мои требования

  • Включая зависимости.
  • Добавление записей реестра.
  • Создание папок в папке приложения.
  • Добавление пользовательского интерфейса с помощью кнопки обзора.
  • Создание ярлыков на рабочем столе и в меню «Пуск».

У меня Visual Studio 2008 с установленным WiX 3.0.5419.0.

1 Ответ

3 голосов
/ 01 февраля 2011

Создание каталогов

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramMenuFolder">
        <Directory Id="ShortcutFolder" Name="My app">
        </Directory>
    </Directory>

    <Directory Id="ProgramFilesFolder">
        <Directory Id="My Company" Name="My Company">
            <Directory Id="INSTALLDIR" Name="My product">
            </Directory>
        </Directory>
    </Directory>
</Directory>

Вы можете вкладывать теги Каталога по своему усмотрению, а после этого использовать DirectoryRef для вывода списка компонентов, которые входят в этот каталог.

Добавление настраиваемого диалогового окна пользовательского интерфейса с помощью обзоракнопка

Вы можете определить UIRef с помощью WixUI_InstallDir где-то в Фрагмент , Включить ,или Модуль (не в Product , несмотря на документацию):

<UIRef Id="WixUI_InstallDir" />

Это создаст пакет, использующий интерфейс InstallDir, например, целевой каталог можетбыть указан в пользовательском интерфейсе (если вы имеете в виду это, в противном случае вам нужно будет определить новый диалог с нуля / скопировать существующий и вставить его в последовательность.)

Добавление записей реестра

Укажите что-то вроде

<RegistryKey Action="none" Root="HKCU" Key="some key">
    <RegistryValue Value="some value" Type="string" KeyPath="yes" />
</RegistryKey>

внутри компонента.

Создание ярлыков на рабочем столе и меню Пуск

<DirectoryRef Id="ShortcutFolder">
    <Component Id="ShortcutsComponent" Guid="{XXXX}">
        <CreateFolder Directory="ShortcutFolder" />

        <RemoveFolder Id="RemoveShorcutFolder" Directory="ShortcutFolder" On="uninstall" />

        <Shortcut Id="UninstallProduct"
                  Name="Uninstall my product"
                  Target="[System64Folder]msiexec.exe"
                  Arguments="/x [ProductCode]"
                  Directory="ShortcutFolder"
                  Description="Uninstalls my product"/>
    </Component>
</DirectoryRef>

Обратите внимание на использование каталога ShortcutFolder из каталога.список, который я показал ранее.

Включая зависимости

Не совсем уверен, какие зависимости вы имеете в виду.

.NET Framework?Пример:

<Condition Message="This setup requires the .NET Framework 3.5 or later to be installed.">
    Installed OR NETFRAMEWORK35 OR NETFRAMEWORK40FULL
</Condition>

Сторонние DLL?Вы просто создаете отдельный компонент для каждой библиотеки DLL и указываете путь, по которому WiX должен его искать, используя тег File.Этот компонент затем отображается в теге DirectoryRef, который указывает, куда файл попадает во время установки.

...