Доброе утро, прекрасные люди!
Мой системный администратор решил, что мы должны делать все с .msi, и я застрял, пытаясь создать проект wix для установки драйверов на основе .inf.
Я видел сообщение, в котором кратко объясняется, как это сделать, например:
WIX Установщик для драйвера принтера на основе INF
Однако мне бы очень хотелосьполный пример (весь файл slns), чтобы я понял структуру, которую мне нужно сделать.Прямо сейчас это даже не компилируется.Вот содержимое моего product.wxs (PS: извините за беспорядок форматирования):
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="DriversTest" Language="1033" Version="1.0.0.0"
Manufacturer="" UpgradeCode="8caa9c0d-c692-4aa6-9267-a13577f51cb6">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is
already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="DriversTest" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="DriversTest" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the
ComponentRef below in order to add resources to this installer. -->
<!-- <Component Id="ProductComponent"> -->
<!-- TODO: Insert files, registry keys, and other resources
here. -->
<!-- </Component> -->
</ComponentGroup>
</Fragment>
</Wix>
<Component Id="google-usb" Guid="{4fba0d21-64bb-458d-9b78-23aed7a39d14}"
Directory = "C:\drivers-folder\google">
<difx:Driver Legacy='yes' />
<File Id="Catalog" Name="androidwinusba64.cat"
Source="androidwinusba64.cat" />
<File Id="Info" Name="android_winusb.inf" KeyPath="yes"
Source="android_winusb.inf" />
</Component>
<Component Id="google-usb" Guid="{4fba0d21-64bb-458d-9b78-23aed7a39d14}" Directory = "C:\drivers-folder\google">
<difx:Driver Legacy='yes' />
<File Id="Catalog" Name="androidwinusba64.cat" Source="androidwinusba64.cat" />
<File Id="Info" Name="android_winusb.inf" KeyPath="yes" Source="android_winusb.inf" />
</Component>
Затем я перехожу к пакетному файлу:
@ ECHO OFF
ECHO ------------ Генерация установки драйверов ----------------
"% WIX% bin \ свеча" -ext WixDifxAppExtension * .wxs -o obj \ "% WIX% bin \ light" -ext WixUIExtension -ext WixDifxAppExtension * .wixobj difxapp_x64.wixlib -o bin \ google-usb.msi
PAUSE
*23* Сбой из-за этой ошибки:
Product.wxs C: \ test \ DriversTest \ DriversTest \ DriversTest \ Product.wxs (32): ошибка CNDL0104: неверный исходный файл;подробно: Есть несколько корневых элементов.Строка 32, позиция 2. light.exe: ошибка LGHT0103: Системе не удается найти файл «* .wixobj» с типом «Источник».Нажмите любую клавишу для продолжения .,.
Я действительно мог бы использовать руку.Я абсолютно нуб в этом, и я думаю, что мне нужно некоторое руководство.Я сосу на XML.