Установите необходимые условия для приложения winforms с загрузчиком WiX - PullRequest
0 голосов
/ 06 ноября 2018

Я создал приложение C # WinForms, которое зависит от .NET Framework версии 4.6.1 и GhostScript 9.2.1 (32-разрядная версия Windows). Я сделал простой установщик Windows (MSI-файл) для приложения WinForms, но библиотека GhostScript отказалась устанавливать. Поэтому я решил сделать установщик пакета, используя загрузчик WiX.

В проекте начальной загрузки я упаковал установщик GhostScript exe и простой установщик msi из предыдущих версий. Я думаю, что я также позаботился о .NET Framework в первых строках загрузчика.

Теперь я все еще сталкиваюсь с проблемой во время установки Bootstrap. Проблема в том, что при установке пропускается установка MSI. Как мне успешно завершить установку Bootstrap?

Вот XML для проекта начальной загрузки:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Bundle Name="Bootstrapper1" Version="1.0.0.0" Manufacturer="POD" UpgradeCode="390cbc0b-980b-4f35-a9de-a11228f75b69">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    <PayloadGroup Id="NetFx461RedistPayload">
        <Payload Name="redist\NDP461-KB3102436-x86-x64-AllOS-ENU.exe"
                 SourceFile="C:\Users\Admin\Downloads\NDP461-KB3102436-x86-x64-AllOS-ENU.exe"/>
    </PayloadGroup>

        <Chain>
            <!-- TODO: Define the list of chained packages. -->
            <!-- <MsiPackage SourceFile="path\to\your.msi" /> -->
      <PackageGroupRef Id="NetFx461Web"/>
      <ExePackage Id="Ghostscript_32_bit_Version_9.2.1"
                  Cache="yes"
                  Compressed="yes"
                  PerMachine="yes"
                  Permanent="yes"
                  Vital="yes"
                  SourceFile="C:\Users\Admin\Downloads\gs921w32new.exe"
                  InstallCommand="/passive /norestart" />
      <MsiPackage Id="POD_Measuring_Tool"
                  Cache="yes"
                  Compressed="yes"
                  Permanent="yes"

                  Vital="yes"
                  SourceFile="C:\Users\Admin\Documents\POD\Workspace Folder\c# projects\6lumber\toolPOD\Debug\toolPOD.msi" />
        </Chain>
    </Bundle>
</Wix>

Я ссылаюсь на WixBalExtension и WixNetFxExtension, а файл msi и ghostscript exe взяты с моего компьютера.

1 Ответ

0 голосов
/ 16 ноября 2018

Проблема в том, что при установке пропускается установка MSI.

Это может означать, что продукт уже установлен. MsiPackage автоматически определит, установлен ли msi, проверив код продукта в реестре.

Атрибут MsiPackage/@Permanent также будет означать, что ваш продукт не будет удален при удалении вашего Bootstrapper - поэтому убедитесь, что вы удалили msi вручную, и регистрация помогает с переключателем -l logfile.txt.

...