Как вызвать файл MSI из другого MSI? - PullRequest
2 голосов
/ 16 ноября 2011

Я использую WIX для проекта установки моего приложения, я должен установить драйверы устройств вместе с настройкой приложения. поэтому у меня есть два установочных файла драйвера для каждой платформы x86 и x64 (поскольку я должен использовать справочный файл difxapp_x64 / difxapp_86, мне нужно иметь два отдельных проекта установки) и один проект установки приложения. Теперь, основываясь на платформе, я хочу вызвать либо один из MSI-файла установщика драйвера и файла установщика приложения из одного Msi-файла (Bootstrapper!?). Как мне это сделать?


после небольшого поиска я узнал, что в wix 3.6 появился новый инструмент под названием «Burn», это поможет мне вызвать коллекцию инсталляционных пакетов, которые связаны друг с другом ... поэтому я создал новый проект установки как Bootstrapper. но когда я строю его создание файла MSI успешно, но не смог его запустить .. вот код:

<?xml version="1.0" encoding="UTF-8"?>
<?define version="1.3.0.3"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Bundle Name="Bootstrap" Version="1.0.0.0" Manufacturer="Bootstrap" UpgradeCode="58A81C66-C066-4CA1-9712-D884C11C88BD">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    <Chain>
       <ExePackage Id="ExeProject" 
                    SourceFile="../../../CCSetupProject/bin/Release/CCSetupProject.exe" 
                    InstallCommand="/q /ACTION=Install" 
                    Name="iCConnectInstaller"
                    Vital="yes"
                    PerMachine="yes"/>
    </Chain>
  </Bundle>
</Wix>

когда я щелкаю файл Bootstrapper.msi, появляется сообщение «Подготовка к установке», а затем «Не удалось открыть этот установочный пакет. Обратитесь к поставщику приложения, чтобы убедиться, что это действительный пакет установщика Windows».

не знаю, что мне здесь не хватает !, кто-нибудь раньше получал эту ошибку?

1 Ответ

1 голос
/ 16 ноября 2011

Вы не можете иметь два отдельных пакета.

Чтобы решить эту проблему, вы должны создать модуль слияния для драйверов, а затем объединить его с основной установкой.

Byимея отдельный модуль слияния, вы можете создать дополнительный пакет, в котором будут установлены только драйверы, или использовать функции продукта, чтобы выбрать, что будет установлено.

...