Я определил пользовательский элемент пользовательского интерфейса в отдельном файле UserRegDialog.wxs, чтобы сделать вещи немного более модульными.Ссылка на элемент пользовательского интерфейса из другого .wxs-файла
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI Id="MyUserRegDialogUI" >
<Property Id="Proceed">proceedbtn</Property>
<Binary Id="proceedbtn" SourceFile="images/proceedbtn.bmp"/>
<Binary Id="headerPic" SourceFile="images/header.bmp"/>
...
</UI> </Fragment>
Затем в моей основной Product.wxs, я пытаюсь ссылаться на элемент пользовательского интерфейса я определил:
<Product Id="*" Name="CRxGUI" Language="1033" Version="1.0.0.0" Manufacturer="Derp LLC" UpgradeCode="bfcd8325-0025-463a-9589-c4c4713ce11d">
<Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" Description="My GUI Installer" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<UI>
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="MyUserRegDialogUI" />
...
Но, то Wix строитель сообщает об ошибке, что он не может быть найден , С .wxi-файлами, я просто поместил их в <?include myfile.wxi ?>
, но это, похоже, не работает с другими .wxs-файлами. Что я делаю не так? Как я могу ссылаться на свой пользовательский диалог из другого файла?
Error 52 Unresolved reference to symbol 'WixUI:MyUserRegDialogUI' in section 'Product:*'. ....\Product.wxs 13 1 MyWiXInstaller
Я попытался переименовать хелперного .wxs файл, соответствующий атрибут Id UI, но это не помогло.
Мой вспомогательный файл wxs находится в том же каталоге. Я не думаю, что импортные работы: Include MyUserRegDialog.wxs?> –